cosmotech-api 3.2.6.dev0__py3-none-any.whl → 3.2.6.dev2__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 (244) hide show
  1. cosmotech_api/__init__.py +45 -3
  2. cosmotech_api/api/__init__.py +3 -0
  3. cosmotech_api/api/connector_api.py +262 -7
  4. cosmotech_api/api/dataset_api.py +19 -19
  5. cosmotech_api/api/organization_api.py +869 -8
  6. cosmotech_api/api/run_api.py +7 -7
  7. cosmotech_api/api/runner_api.py +12 -13
  8. cosmotech_api/api/scenario_api.py +6544 -3265
  9. cosmotech_api/api/scenariorun_api.py +4007 -1960
  10. cosmotech_api/api/scenariorunresult_api.py +1 -1
  11. cosmotech_api/api/solution_api.py +1045 -394
  12. cosmotech_api/api/twingraph_api.py +4134 -2077
  13. cosmotech_api/api/validator_api.py +1 -1
  14. cosmotech_api/api/workspace_api.py +315 -12
  15. cosmotech_api/api_client.py +1 -1
  16. cosmotech_api/configuration.py +13 -5
  17. cosmotech_api/exceptions.py +1 -1
  18. cosmotech_api/model/component_role_permissions.py +1 -1
  19. cosmotech_api/model/connector.py +1 -1
  20. cosmotech_api/model/connector_parameter.py +1 -1
  21. cosmotech_api/model/connector_parameter_group.py +1 -1
  22. cosmotech_api/model/container_resource_size_info.py +1 -1
  23. cosmotech_api/model/container_resource_sizing.py +1 -1
  24. cosmotech_api/model/dataset.py +1 -1
  25. cosmotech_api/model/dataset_access_control.py +1 -1
  26. cosmotech_api/model/dataset_compatibility.py +1 -1
  27. cosmotech_api/model/dataset_connector.py +1 -1
  28. cosmotech_api/model/dataset_copy_parameters.py +1 -1
  29. cosmotech_api/model/dataset_role.py +1 -1
  30. cosmotech_api/model/dataset_search.py +1 -1
  31. cosmotech_api/model/dataset_security.py +1 -1
  32. cosmotech_api/model/dataset_source_type.py +1 -1
  33. cosmotech_api/model/dataset_twin_graph_hash.py +1 -1
  34. cosmotech_api/model/dataset_twin_graph_info.py +1 -1
  35. cosmotech_api/model/dataset_twin_graph_query.py +1 -1
  36. cosmotech_api/model/delete_historical_data.py +1 -1
  37. cosmotech_api/model/file_upload_metadata.py +1 -1
  38. cosmotech_api/model/file_upload_validation.py +1 -1
  39. cosmotech_api/model/graph_properties.py +1 -1
  40. cosmotech_api/model/organization.py +1 -1
  41. cosmotech_api/model/organization_access_control.py +1 -1
  42. cosmotech_api/model/organization_role.py +1 -1
  43. cosmotech_api/model/organization_security.py +1 -1
  44. cosmotech_api/model/organization_service.py +1 -1
  45. cosmotech_api/model/organization_services.py +1 -1
  46. cosmotech_api/model/resource_size_info.py +1 -1
  47. cosmotech_api/model/run.py +1 -1
  48. cosmotech_api/model/run_container.py +1 -1
  49. cosmotech_api/model/run_container_artifact.py +1 -1
  50. cosmotech_api/model/run_container_logs.py +1 -1
  51. cosmotech_api/model/run_logs.py +1 -1
  52. cosmotech_api/model/run_resource_requested.py +1 -1
  53. cosmotech_api/model/run_search.py +1 -1
  54. cosmotech_api/model/run_start_containers.py +1 -1
  55. cosmotech_api/model/run_state.py +1 -1
  56. cosmotech_api/model/run_status.py +1 -1
  57. cosmotech_api/model/run_status_node.py +1 -1
  58. cosmotech_api/model/run_template.py +1 -1
  59. cosmotech_api/model/run_template_handler_id.py +1 -1
  60. cosmotech_api/model/run_template_orchestrator.py +1 -1
  61. cosmotech_api/model/run_template_parameter.py +1 -1
  62. cosmotech_api/model/run_template_parameter_group.py +1 -1
  63. cosmotech_api/model/run_template_parameter_value.py +1 -1
  64. cosmotech_api/model/run_template_resource_sizing.py +1 -1
  65. cosmotech_api/model/run_template_step_source.py +1 -1
  66. cosmotech_api/model/runner.py +5 -21
  67. cosmotech_api/model/runner_access_control.py +1 -1
  68. cosmotech_api/model/runner_changed_parameter_value.py +1 -1
  69. cosmotech_api/model/runner_comparison_result.py +1 -1
  70. cosmotech_api/model/runner_data_download_info.py +1 -11
  71. cosmotech_api/model/runner_data_download_job.py +1 -1
  72. cosmotech_api/model/runner_job_state.py +1 -1
  73. cosmotech_api/model/runner_last_run.py +1 -1
  74. cosmotech_api/model/runner_resource_sizing.py +1 -1
  75. cosmotech_api/model/runner_role.py +1 -1
  76. cosmotech_api/model/runner_run_template_parameter_value.py +1 -1
  77. cosmotech_api/model/runner_security.py +1 -1
  78. cosmotech_api/model/runner_validation_status.py +1 -1
  79. cosmotech_api/model/scenario.py +1 -1
  80. cosmotech_api/model/scenario_access_control.py +1 -1
  81. cosmotech_api/model/scenario_changed_parameter_value.py +1 -1
  82. cosmotech_api/model/scenario_comparison_result.py +1 -1
  83. cosmotech_api/model/scenario_data_download_info.py +1 -1
  84. cosmotech_api/model/scenario_data_download_job.py +1 -1
  85. cosmotech_api/model/scenario_job_state.py +1 -1
  86. cosmotech_api/model/scenario_last_run.py +1 -1
  87. cosmotech_api/model/scenario_resource_sizing.py +1 -1
  88. cosmotech_api/model/scenario_role.py +1 -1
  89. cosmotech_api/model/scenario_run.py +1 -1
  90. cosmotech_api/model/scenario_run_container.py +1 -1
  91. cosmotech_api/model/scenario_run_container_artifact.py +1 -1
  92. cosmotech_api/model/scenario_run_container_logs.py +1 -1
  93. cosmotech_api/model/scenario_run_logs.py +1 -1
  94. cosmotech_api/model/scenario_run_resource_requested.py +1 -1
  95. cosmotech_api/model/scenario_run_result.py +1 -1
  96. cosmotech_api/model/scenario_run_search.py +1 -1
  97. cosmotech_api/model/scenario_run_start_containers.py +1 -1
  98. cosmotech_api/model/scenario_run_state.py +1 -1
  99. cosmotech_api/model/scenario_run_status.py +1 -1
  100. cosmotech_api/model/scenario_run_status_node.py +1 -1
  101. cosmotech_api/model/scenario_run_template_parameter_value.py +1 -1
  102. cosmotech_api/model/scenario_security.py +1 -1
  103. cosmotech_api/model/scenario_validation_status.py +1 -1
  104. cosmotech_api/model/solution.py +1 -1
  105. cosmotech_api/model/solution_access_control.py +1 -1
  106. cosmotech_api/model/solution_role.py +1 -1
  107. cosmotech_api/model/solution_security.py +1 -1
  108. cosmotech_api/model/source_info.py +1 -1
  109. cosmotech_api/model/sub_dataset_graph_query.py +1 -1
  110. cosmotech_api/model/translated_labels.py +1 -1
  111. cosmotech_api/model/twin_graph_batch_result.py +1 -1
  112. cosmotech_api/model/twin_graph_hash.py +1 -1
  113. cosmotech_api/model/twin_graph_query.py +1 -1
  114. cosmotech_api/model/validator.py +1 -1
  115. cosmotech_api/model/validator_run.py +1 -1
  116. cosmotech_api/model/workspace.py +1 -1
  117. cosmotech_api/model/workspace_access_control.py +1 -1
  118. cosmotech_api/model/workspace_file.py +1 -1
  119. cosmotech_api/model/workspace_role.py +1 -1
  120. cosmotech_api/model/workspace_secret.py +1 -1
  121. cosmotech_api/model/workspace_security.py +1 -1
  122. cosmotech_api/model/workspace_solution.py +1 -1
  123. cosmotech_api/model/workspace_web_app.py +1 -1
  124. cosmotech_api/model_utils.py +1 -1
  125. cosmotech_api/models/__init__.py +42 -3
  126. cosmotech_api/models/component_role_permissions.py +1 -1
  127. cosmotech_api/models/connector.py +7 -3
  128. cosmotech_api/models/connector_parameter.py +1 -1
  129. cosmotech_api/models/connector_parameter_group.py +1 -1
  130. cosmotech_api/models/container_resource_size_info.py +1 -1
  131. cosmotech_api/models/container_resource_sizing.py +1 -1
  132. cosmotech_api/models/dataset.py +1 -1
  133. cosmotech_api/models/dataset_access_control.py +1 -1
  134. cosmotech_api/models/dataset_compatibility.py +1 -1
  135. cosmotech_api/models/dataset_connector.py +1 -1
  136. cosmotech_api/models/dataset_copy_parameters.py +1 -1
  137. cosmotech_api/models/dataset_role.py +1 -1
  138. cosmotech_api/models/dataset_search.py +1 -1
  139. cosmotech_api/models/dataset_security.py +1 -1
  140. cosmotech_api/models/dataset_source_type.py +1 -1
  141. cosmotech_api/models/dataset_twin_graph_hash.py +1 -1
  142. cosmotech_api/models/dataset_twin_graph_info.py +1 -1
  143. cosmotech_api/models/dataset_twin_graph_query.py +1 -1
  144. cosmotech_api/models/delete_historical_data.py +1 -1
  145. cosmotech_api/models/file_upload_metadata.py +1 -1
  146. cosmotech_api/models/file_upload_validation.py +1 -1
  147. cosmotech_api/models/graph_properties.py +1 -1
  148. cosmotech_api/models/ingestion_status_enum.py +1 -1
  149. cosmotech_api/models/io_types_enum.py +1 -1
  150. cosmotech_api/models/organization.py +8 -2
  151. cosmotech_api/models/organization_access_control.py +1 -1
  152. cosmotech_api/models/organization_role.py +1 -1
  153. cosmotech_api/models/organization_security.py +1 -1
  154. cosmotech_api/models/organization_service.py +1 -1
  155. cosmotech_api/models/organization_services.py +1 -1
  156. cosmotech_api/models/query_result.py +1 -1
  157. cosmotech_api/models/resource_size_info.py +1 -1
  158. cosmotech_api/models/run.py +1 -1
  159. cosmotech_api/models/run_container.py +13 -3
  160. cosmotech_api/models/run_container_artifact.py +1 -1
  161. cosmotech_api/models/run_container_logs.py +1 -1
  162. cosmotech_api/models/run_data.py +1 -1
  163. cosmotech_api/models/run_data_query.py +1 -1
  164. cosmotech_api/models/run_logs.py +21 -16
  165. cosmotech_api/models/run_resource_requested.py +1 -1
  166. cosmotech_api/models/run_search.py +1 -1
  167. cosmotech_api/models/run_search_state.py +1 -1
  168. cosmotech_api/models/run_start_containers.py +1 -1
  169. cosmotech_api/models/run_state.py +1 -1
  170. cosmotech_api/models/run_status.py +1 -1
  171. cosmotech_api/models/run_status_node.py +1 -1
  172. cosmotech_api/models/run_template.py +1 -1
  173. cosmotech_api/models/run_template_handler_id.py +1 -1
  174. cosmotech_api/models/run_template_orchestrator.py +1 -1
  175. cosmotech_api/models/run_template_parameter.py +1 -1
  176. cosmotech_api/models/run_template_parameter_group.py +1 -1
  177. cosmotech_api/models/run_template_parameter_value.py +1 -1
  178. cosmotech_api/models/run_template_resource_sizing.py +1 -1
  179. cosmotech_api/models/run_template_step_source.py +1 -1
  180. cosmotech_api/models/runner.py +2 -2
  181. cosmotech_api/models/runner_access_control.py +1 -1
  182. cosmotech_api/models/runner_changed_parameter_value.py +1 -1
  183. cosmotech_api/models/runner_comparison_result.py +1 -1
  184. cosmotech_api/models/runner_data_download_info.py +1 -1
  185. cosmotech_api/models/runner_data_download_job.py +1 -1
  186. cosmotech_api/models/runner_resource_sizing.py +1 -1
  187. cosmotech_api/models/runner_role.py +1 -1
  188. cosmotech_api/models/runner_run_template_parameter_value.py +1 -1
  189. cosmotech_api/models/runner_security.py +1 -1
  190. cosmotech_api/models/runner_validation_status.py +1 -1
  191. cosmotech_api/models/scenario.py +1 -1
  192. cosmotech_api/models/scenario_access_control.py +1 -1
  193. cosmotech_api/models/scenario_changed_parameter_value.py +1 -1
  194. cosmotech_api/models/scenario_comparison_result.py +1 -1
  195. cosmotech_api/models/scenario_data_download_info.py +1 -1
  196. cosmotech_api/models/scenario_data_download_job.py +1 -1
  197. cosmotech_api/models/scenario_job_state.py +1 -1
  198. cosmotech_api/models/scenario_last_run.py +1 -1
  199. cosmotech_api/models/scenario_resource_sizing.py +1 -1
  200. cosmotech_api/models/scenario_role.py +1 -1
  201. cosmotech_api/models/scenario_run.py +1 -1
  202. cosmotech_api/models/scenario_run_container.py +1 -1
  203. cosmotech_api/models/scenario_run_container_artifact.py +1 -1
  204. cosmotech_api/models/scenario_run_container_logs.py +1 -1
  205. cosmotech_api/models/scenario_run_logs.py +1 -1
  206. cosmotech_api/models/scenario_run_resource_requested.py +1 -1
  207. cosmotech_api/models/scenario_run_search.py +1 -1
  208. cosmotech_api/models/scenario_run_search_state.py +1 -1
  209. cosmotech_api/models/scenario_run_start_containers.py +1 -1
  210. cosmotech_api/models/scenario_run_state.py +1 -1
  211. cosmotech_api/models/scenario_run_status.py +1 -1
  212. cosmotech_api/models/scenario_run_status_node.py +1 -1
  213. cosmotech_api/models/scenario_run_template_parameter_value.py +1 -1
  214. cosmotech_api/models/scenario_security.py +1 -1
  215. cosmotech_api/models/scenario_validation_status.py +1 -1
  216. cosmotech_api/models/send_run_data_request.py +1 -1
  217. cosmotech_api/models/solution.py +2 -2
  218. cosmotech_api/models/solution_access_control.py +1 -1
  219. cosmotech_api/models/solution_role.py +1 -1
  220. cosmotech_api/models/solution_security.py +1 -1
  221. cosmotech_api/models/source_info.py +1 -1
  222. cosmotech_api/models/sub_dataset_graph_query.py +1 -1
  223. cosmotech_api/models/twin_graph_batch_result.py +1 -1
  224. cosmotech_api/models/twin_graph_hash.py +1 -1
  225. cosmotech_api/models/twin_graph_query.py +1 -1
  226. cosmotech_api/models/twincache_status_enum.py +1 -1
  227. cosmotech_api/models/validator.py +1 -1
  228. cosmotech_api/models/workspace.py +2 -2
  229. cosmotech_api/models/workspace_access_control.py +1 -1
  230. cosmotech_api/models/workspace_file.py +1 -1
  231. cosmotech_api/models/workspace_role.py +1 -1
  232. cosmotech_api/models/workspace_secret.py +5 -7
  233. cosmotech_api/models/workspace_security.py +1 -1
  234. cosmotech_api/models/workspace_solution.py +1 -1
  235. cosmotech_api/models/workspace_web_app.py +1 -1
  236. cosmotech_api/rest.py +1 -1
  237. {cosmotech_api-3.2.6.dev0.dist-info → cosmotech_api-3.2.6.dev2.dist-info}/METADATA +1 -1
  238. cosmotech_api-3.2.6.dev2.dist-info/RECORD +260 -0
  239. cosmotech_api/models/created_run.py +0 -88
  240. cosmotech_api/models/run_logs_entry.py +0 -88
  241. cosmotech_api-3.2.6.dev0.dist-info/RECORD +0 -262
  242. {cosmotech_api-3.2.6.dev0.dist-info → cosmotech_api-3.2.6.dev2.dist-info}/LICENSE +0 -0
  243. {cosmotech_api-3.2.6.dev0.dist-info → cosmotech_api-3.2.6.dev2.dist-info}/WHEEL +0 -0
  244. {cosmotech_api-3.2.6.dev0.dist-info → cosmotech_api-3.2.6.dev2.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.2.6
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
@@ -2100,11 +2101,12 @@ class SolutionApi:
2100
2101
 
2101
2102
 
2102
2103
  @validate_call
2103
- def find_all_solutions(
2104
+ def download_run_template_handler(
2104
2105
  self,
2105
2106
  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,
2107
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2108
+ run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
2109
+ handler_id: Annotated[RunTemplateHandlerId, Field(description="the Handler identifier")],
2108
2110
  _request_timeout: Union[
2109
2111
  None,
2110
2112
  Annotated[StrictFloat, Field(gt=0)],
@@ -2117,16 +2119,18 @@ class SolutionApi:
2117
2119
  _content_type: Optional[StrictStr] = None,
2118
2120
  _headers: Optional[Dict[StrictStr, Any]] = None,
2119
2121
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2120
- ) -> List[Solution]:
2121
- """List all Solutions
2122
+ ) -> bytearray:
2123
+ """Download a Run Template step handler zip file
2122
2124
 
2123
2125
 
2124
2126
  :param organization_id: the Organization identifier (required)
2125
2127
  :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
2128
+ :param solution_id: the Solution identifier (required)
2129
+ :type solution_id: str
2130
+ :param run_template_id: the Run Template identifier (required)
2131
+ :type run_template_id: str
2132
+ :param handler_id: the Handler identifier (required)
2133
+ :type handler_id: RunTemplateHandlerId
2130
2134
  :param _request_timeout: timeout setting for this request. If one
2131
2135
  number provided, it will be total request
2132
2136
  timeout. It can also be a pair (tuple) of
@@ -2149,10 +2153,11 @@ class SolutionApi:
2149
2153
  :return: Returns the result object.
2150
2154
  """ # noqa: E501
2151
2155
 
2152
- _param = self._find_all_solutions_serialize(
2156
+ _param = self._download_run_template_handler_serialize(
2153
2157
  organization_id=organization_id,
2154
- page=page,
2155
- size=size,
2158
+ solution_id=solution_id,
2159
+ run_template_id=run_template_id,
2160
+ handler_id=handler_id,
2156
2161
  _request_auth=_request_auth,
2157
2162
  _content_type=_content_type,
2158
2163
  _headers=_headers,
@@ -2160,7 +2165,8 @@ class SolutionApi:
2160
2165
  )
2161
2166
 
2162
2167
  _response_types_map: Dict[str, Optional[str]] = {
2163
- '200': "List[Solution]",
2168
+ '200': "bytearray",
2169
+ '404': None,
2164
2170
  }
2165
2171
  response_data = self.api_client.call_api(
2166
2172
  *_param,
@@ -2174,11 +2180,12 @@ class SolutionApi:
2174
2180
 
2175
2181
 
2176
2182
  @validate_call
2177
- def find_all_solutions_with_http_info(
2183
+ def download_run_template_handler_with_http_info(
2178
2184
  self,
2179
2185
  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,
2186
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2187
+ run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
2188
+ handler_id: Annotated[RunTemplateHandlerId, Field(description="the Handler identifier")],
2182
2189
  _request_timeout: Union[
2183
2190
  None,
2184
2191
  Annotated[StrictFloat, Field(gt=0)],
@@ -2191,16 +2198,18 @@ class SolutionApi:
2191
2198
  _content_type: Optional[StrictStr] = None,
2192
2199
  _headers: Optional[Dict[StrictStr, Any]] = None,
2193
2200
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2194
- ) -> ApiResponse[List[Solution]]:
2195
- """List all Solutions
2201
+ ) -> ApiResponse[bytearray]:
2202
+ """Download a Run Template step handler zip file
2196
2203
 
2197
2204
 
2198
2205
  :param organization_id: the Organization identifier (required)
2199
2206
  :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
2207
+ :param solution_id: the Solution identifier (required)
2208
+ :type solution_id: str
2209
+ :param run_template_id: the Run Template identifier (required)
2210
+ :type run_template_id: str
2211
+ :param handler_id: the Handler identifier (required)
2212
+ :type handler_id: RunTemplateHandlerId
2204
2213
  :param _request_timeout: timeout setting for this request. If one
2205
2214
  number provided, it will be total request
2206
2215
  timeout. It can also be a pair (tuple) of
@@ -2223,10 +2232,11 @@ class SolutionApi:
2223
2232
  :return: Returns the result object.
2224
2233
  """ # noqa: E501
2225
2234
 
2226
- _param = self._find_all_solutions_serialize(
2235
+ _param = self._download_run_template_handler_serialize(
2227
2236
  organization_id=organization_id,
2228
- page=page,
2229
- size=size,
2237
+ solution_id=solution_id,
2238
+ run_template_id=run_template_id,
2239
+ handler_id=handler_id,
2230
2240
  _request_auth=_request_auth,
2231
2241
  _content_type=_content_type,
2232
2242
  _headers=_headers,
@@ -2234,7 +2244,8 @@ class SolutionApi:
2234
2244
  )
2235
2245
 
2236
2246
  _response_types_map: Dict[str, Optional[str]] = {
2237
- '200': "List[Solution]",
2247
+ '200': "bytearray",
2248
+ '404': None,
2238
2249
  }
2239
2250
  response_data = self.api_client.call_api(
2240
2251
  *_param,
@@ -2248,11 +2259,12 @@ class SolutionApi:
2248
2259
 
2249
2260
 
2250
2261
  @validate_call
2251
- def find_all_solutions_without_preload_content(
2262
+ def download_run_template_handler_without_preload_content(
2252
2263
  self,
2253
2264
  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,
2265
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2266
+ run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
2267
+ handler_id: Annotated[RunTemplateHandlerId, Field(description="the Handler identifier")],
2256
2268
  _request_timeout: Union[
2257
2269
  None,
2258
2270
  Annotated[StrictFloat, Field(gt=0)],
@@ -2266,15 +2278,17 @@ class SolutionApi:
2266
2278
  _headers: Optional[Dict[StrictStr, Any]] = None,
2267
2279
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2268
2280
  ) -> RESTResponseType:
2269
- """List all Solutions
2281
+ """Download a Run Template step handler zip file
2270
2282
 
2271
2283
 
2272
2284
  :param organization_id: the Organization identifier (required)
2273
2285
  :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
2286
+ :param solution_id: the Solution identifier (required)
2287
+ :type solution_id: str
2288
+ :param run_template_id: the Run Template identifier (required)
2289
+ :type run_template_id: str
2290
+ :param handler_id: the Handler identifier (required)
2291
+ :type handler_id: RunTemplateHandlerId
2278
2292
  :param _request_timeout: timeout setting for this request. If one
2279
2293
  number provided, it will be total request
2280
2294
  timeout. It can also be a pair (tuple) of
@@ -2297,10 +2311,11 @@ class SolutionApi:
2297
2311
  :return: Returns the result object.
2298
2312
  """ # noqa: E501
2299
2313
 
2300
- _param = self._find_all_solutions_serialize(
2314
+ _param = self._download_run_template_handler_serialize(
2301
2315
  organization_id=organization_id,
2302
- page=page,
2303
- size=size,
2316
+ solution_id=solution_id,
2317
+ run_template_id=run_template_id,
2318
+ handler_id=handler_id,
2304
2319
  _request_auth=_request_auth,
2305
2320
  _content_type=_content_type,
2306
2321
  _headers=_headers,
@@ -2308,7 +2323,8 @@ class SolutionApi:
2308
2323
  )
2309
2324
 
2310
2325
  _response_types_map: Dict[str, Optional[str]] = {
2311
- '200': "List[Solution]",
2326
+ '200': "bytearray",
2327
+ '404': None,
2312
2328
  }
2313
2329
  response_data = self.api_client.call_api(
2314
2330
  *_param,
@@ -2317,11 +2333,12 @@ class SolutionApi:
2317
2333
  return response_data.response
2318
2334
 
2319
2335
 
2320
- def _find_all_solutions_serialize(
2336
+ def _download_run_template_handler_serialize(
2321
2337
  self,
2322
2338
  organization_id,
2323
- page,
2324
- size,
2339
+ solution_id,
2340
+ run_template_id,
2341
+ handler_id,
2325
2342
  _request_auth,
2326
2343
  _content_type,
2327
2344
  _headers,
@@ -2343,15 +2360,13 @@ class SolutionApi:
2343
2360
  # process the path parameters
2344
2361
  if organization_id is not None:
2345
2362
  _path_params['organization_id'] = organization_id
2363
+ if solution_id is not None:
2364
+ _path_params['solution_id'] = solution_id
2365
+ if run_template_id is not None:
2366
+ _path_params['run_template_id'] = run_template_id
2367
+ if handler_id is not None:
2368
+ _path_params['handler_id'] = handler_id.value
2346
2369
  # 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
2370
  # process the header parameters
2356
2371
  # process the form parameters
2357
2372
  # process the body parameter
@@ -2360,7 +2375,7 @@ class SolutionApi:
2360
2375
  # set the HTTP header `Accept`
2361
2376
  _header_params['Accept'] = self.api_client.select_header_accept(
2362
2377
  [
2363
- 'application/json'
2378
+ 'application/octet-stream'
2364
2379
  ]
2365
2380
  )
2366
2381
 
@@ -2372,7 +2387,7 @@ class SolutionApi:
2372
2387
 
2373
2388
  return self.api_client.param_serialize(
2374
2389
  method='GET',
2375
- resource_path='/organizations/{organization_id}/solutions',
2390
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/runtemplates/{run_template_id}/handlers/{handler_id}/download',
2376
2391
  path_params=_path_params,
2377
2392
  query_params=_query_params,
2378
2393
  header_params=_header_params,
@@ -2389,10 +2404,11 @@ class SolutionApi:
2389
2404
 
2390
2405
 
2391
2406
  @validate_call
2392
- def find_solution_by_id(
2407
+ def find_all_solutions(
2393
2408
  self,
2394
2409
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2395
- solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2410
+ page: Annotated[Optional[StrictInt], Field(description="page number to query")] = None,
2411
+ size: Annotated[Optional[StrictInt], Field(description="amount of result by page")] = None,
2396
2412
  _request_timeout: Union[
2397
2413
  None,
2398
2414
  Annotated[StrictFloat, Field(gt=0)],
@@ -2405,14 +2421,16 @@ class SolutionApi:
2405
2421
  _content_type: Optional[StrictStr] = None,
2406
2422
  _headers: Optional[Dict[StrictStr, Any]] = None,
2407
2423
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2408
- ) -> Solution:
2409
- """Get the details of a solution
2424
+ ) -> List[Solution]:
2425
+ """List all Solutions
2410
2426
 
2411
2427
 
2412
2428
  :param organization_id: the Organization identifier (required)
2413
2429
  :type organization_id: str
2414
- :param solution_id: the Solution identifier (required)
2415
- :type solution_id: str
2430
+ :param page: page number to query
2431
+ :type page: int
2432
+ :param size: amount of result by page
2433
+ :type size: int
2416
2434
  :param _request_timeout: timeout setting for this request. If one
2417
2435
  number provided, it will be total request
2418
2436
  timeout. It can also be a pair (tuple) of
@@ -2435,9 +2453,10 @@ class SolutionApi:
2435
2453
  :return: Returns the result object.
2436
2454
  """ # noqa: E501
2437
2455
 
2438
- _param = self._find_solution_by_id_serialize(
2456
+ _param = self._find_all_solutions_serialize(
2439
2457
  organization_id=organization_id,
2440
- solution_id=solution_id,
2458
+ page=page,
2459
+ size=size,
2441
2460
  _request_auth=_request_auth,
2442
2461
  _content_type=_content_type,
2443
2462
  _headers=_headers,
@@ -2445,8 +2464,7 @@ class SolutionApi:
2445
2464
  )
2446
2465
 
2447
2466
  _response_types_map: Dict[str, Optional[str]] = {
2448
- '200': "Solution",
2449
- '404': None,
2467
+ '200': "List[Solution]",
2450
2468
  }
2451
2469
  response_data = self.api_client.call_api(
2452
2470
  *_param,
@@ -2460,10 +2478,11 @@ class SolutionApi:
2460
2478
 
2461
2479
 
2462
2480
  @validate_call
2463
- def find_solution_by_id_with_http_info(
2481
+ def find_all_solutions_with_http_info(
2464
2482
  self,
2465
2483
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2466
- solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2484
+ page: Annotated[Optional[StrictInt], Field(description="page number to query")] = None,
2485
+ size: Annotated[Optional[StrictInt], Field(description="amount of result by page")] = None,
2467
2486
  _request_timeout: Union[
2468
2487
  None,
2469
2488
  Annotated[StrictFloat, Field(gt=0)],
@@ -2476,14 +2495,16 @@ class SolutionApi:
2476
2495
  _content_type: Optional[StrictStr] = None,
2477
2496
  _headers: Optional[Dict[StrictStr, Any]] = None,
2478
2497
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2479
- ) -> ApiResponse[Solution]:
2480
- """Get the details of a solution
2498
+ ) -> ApiResponse[List[Solution]]:
2499
+ """List all Solutions
2481
2500
 
2482
2501
 
2483
2502
  :param organization_id: the Organization identifier (required)
2484
2503
  :type organization_id: str
2485
- :param solution_id: the Solution identifier (required)
2486
- :type solution_id: str
2504
+ :param page: page number to query
2505
+ :type page: int
2506
+ :param size: amount of result by page
2507
+ :type size: int
2487
2508
  :param _request_timeout: timeout setting for this request. If one
2488
2509
  number provided, it will be total request
2489
2510
  timeout. It can also be a pair (tuple) of
@@ -2506,9 +2527,10 @@ class SolutionApi:
2506
2527
  :return: Returns the result object.
2507
2528
  """ # noqa: E501
2508
2529
 
2509
- _param = self._find_solution_by_id_serialize(
2530
+ _param = self._find_all_solutions_serialize(
2510
2531
  organization_id=organization_id,
2511
- solution_id=solution_id,
2532
+ page=page,
2533
+ size=size,
2512
2534
  _request_auth=_request_auth,
2513
2535
  _content_type=_content_type,
2514
2536
  _headers=_headers,
@@ -2516,8 +2538,7 @@ class SolutionApi:
2516
2538
  )
2517
2539
 
2518
2540
  _response_types_map: Dict[str, Optional[str]] = {
2519
- '200': "Solution",
2520
- '404': None,
2541
+ '200': "List[Solution]",
2521
2542
  }
2522
2543
  response_data = self.api_client.call_api(
2523
2544
  *_param,
@@ -2531,10 +2552,11 @@ class SolutionApi:
2531
2552
 
2532
2553
 
2533
2554
  @validate_call
2534
- def find_solution_by_id_without_preload_content(
2555
+ def find_all_solutions_without_preload_content(
2535
2556
  self,
2536
2557
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2537
- solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2558
+ page: Annotated[Optional[StrictInt], Field(description="page number to query")] = None,
2559
+ size: Annotated[Optional[StrictInt], Field(description="amount of result by page")] = None,
2538
2560
  _request_timeout: Union[
2539
2561
  None,
2540
2562
  Annotated[StrictFloat, Field(gt=0)],
@@ -2548,13 +2570,15 @@ class SolutionApi:
2548
2570
  _headers: Optional[Dict[StrictStr, Any]] = None,
2549
2571
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2550
2572
  ) -> RESTResponseType:
2551
- """Get the details of a solution
2573
+ """List all Solutions
2552
2574
 
2553
2575
 
2554
2576
  :param organization_id: the Organization identifier (required)
2555
2577
  :type organization_id: str
2556
- :param solution_id: the Solution identifier (required)
2557
- :type solution_id: str
2578
+ :param page: page number to query
2579
+ :type page: int
2580
+ :param size: amount of result by page
2581
+ :type size: int
2558
2582
  :param _request_timeout: timeout setting for this request. If one
2559
2583
  number provided, it will be total request
2560
2584
  timeout. It can also be a pair (tuple) of
@@ -2577,9 +2601,10 @@ class SolutionApi:
2577
2601
  :return: Returns the result object.
2578
2602
  """ # noqa: E501
2579
2603
 
2580
- _param = self._find_solution_by_id_serialize(
2604
+ _param = self._find_all_solutions_serialize(
2581
2605
  organization_id=organization_id,
2582
- solution_id=solution_id,
2606
+ page=page,
2607
+ size=size,
2583
2608
  _request_auth=_request_auth,
2584
2609
  _content_type=_content_type,
2585
2610
  _headers=_headers,
@@ -2587,8 +2612,7 @@ class SolutionApi:
2587
2612
  )
2588
2613
 
2589
2614
  _response_types_map: Dict[str, Optional[str]] = {
2590
- '200': "Solution",
2591
- '404': None,
2615
+ '200': "List[Solution]",
2592
2616
  }
2593
2617
  response_data = self.api_client.call_api(
2594
2618
  *_param,
@@ -2597,10 +2621,11 @@ class SolutionApi:
2597
2621
  return response_data.response
2598
2622
 
2599
2623
 
2600
- def _find_solution_by_id_serialize(
2624
+ def _find_all_solutions_serialize(
2601
2625
  self,
2602
2626
  organization_id,
2603
- solution_id,
2627
+ page,
2628
+ size,
2604
2629
  _request_auth,
2605
2630
  _content_type,
2606
2631
  _headers,
@@ -2622,9 +2647,15 @@ class SolutionApi:
2622
2647
  # process the path parameters
2623
2648
  if organization_id is not None:
2624
2649
  _path_params['organization_id'] = organization_id
2625
- if solution_id is not None:
2626
- _path_params['solution_id'] = solution_id
2627
2650
  # process the query parameters
2651
+ if page is not None:
2652
+
2653
+ _query_params.append(('page', page))
2654
+
2655
+ if size is not None:
2656
+
2657
+ _query_params.append(('size', size))
2658
+
2628
2659
  # process the header parameters
2629
2660
  # process the form parameters
2630
2661
  # process the body parameter
@@ -2645,7 +2676,7 @@ class SolutionApi:
2645
2676
 
2646
2677
  return self.api_client.param_serialize(
2647
2678
  method='GET',
2648
- resource_path='/organizations/{organization_id}/solutions/{solution_id}',
2679
+ resource_path='/organizations/{organization_id}/solutions',
2649
2680
  path_params=_path_params,
2650
2681
  query_params=_query_params,
2651
2682
  header_params=_header_params,
@@ -2662,11 +2693,10 @@ class SolutionApi:
2662
2693
 
2663
2694
 
2664
2695
  @validate_call
2665
- def get_solution_access_control(
2696
+ def find_solution_by_id(
2666
2697
  self,
2667
2698
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2668
2699
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2669
- identity_id: Annotated[StrictStr, Field(description="the User identifier")],
2670
2700
  _request_timeout: Union[
2671
2701
  None,
2672
2702
  Annotated[StrictFloat, Field(gt=0)],
@@ -2679,16 +2709,14 @@ class SolutionApi:
2679
2709
  _content_type: Optional[StrictStr] = None,
2680
2710
  _headers: Optional[Dict[StrictStr, Any]] = None,
2681
2711
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2682
- ) -> SolutionAccessControl:
2683
- """Get a control access for the Solution
2712
+ ) -> Solution:
2713
+ """Get the details of a solution
2684
2714
 
2685
2715
 
2686
2716
  :param organization_id: the Organization identifier (required)
2687
2717
  :type organization_id: str
2688
2718
  :param solution_id: the Solution identifier (required)
2689
2719
  :type solution_id: str
2690
- :param identity_id: the User identifier (required)
2691
- :type identity_id: str
2692
2720
  :param _request_timeout: timeout setting for this request. If one
2693
2721
  number provided, it will be total request
2694
2722
  timeout. It can also be a pair (tuple) of
@@ -2711,10 +2739,9 @@ class SolutionApi:
2711
2739
  :return: Returns the result object.
2712
2740
  """ # noqa: E501
2713
2741
 
2714
- _param = self._get_solution_access_control_serialize(
2742
+ _param = self._find_solution_by_id_serialize(
2715
2743
  organization_id=organization_id,
2716
2744
  solution_id=solution_id,
2717
- identity_id=identity_id,
2718
2745
  _request_auth=_request_auth,
2719
2746
  _content_type=_content_type,
2720
2747
  _headers=_headers,
@@ -2722,7 +2749,7 @@ class SolutionApi:
2722
2749
  )
2723
2750
 
2724
2751
  _response_types_map: Dict[str, Optional[str]] = {
2725
- '200': "SolutionAccessControl",
2752
+ '200': "Solution",
2726
2753
  '404': None,
2727
2754
  }
2728
2755
  response_data = self.api_client.call_api(
@@ -2737,11 +2764,10 @@ class SolutionApi:
2737
2764
 
2738
2765
 
2739
2766
  @validate_call
2740
- def get_solution_access_control_with_http_info(
2767
+ def find_solution_by_id_with_http_info(
2741
2768
  self,
2742
2769
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2743
2770
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2744
- identity_id: Annotated[StrictStr, Field(description="the User identifier")],
2745
2771
  _request_timeout: Union[
2746
2772
  None,
2747
2773
  Annotated[StrictFloat, Field(gt=0)],
@@ -2754,16 +2780,14 @@ class SolutionApi:
2754
2780
  _content_type: Optional[StrictStr] = None,
2755
2781
  _headers: Optional[Dict[StrictStr, Any]] = None,
2756
2782
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2757
- ) -> ApiResponse[SolutionAccessControl]:
2758
- """Get a control access for the Solution
2783
+ ) -> ApiResponse[Solution]:
2784
+ """Get the details of a solution
2759
2785
 
2760
2786
 
2761
2787
  :param organization_id: the Organization identifier (required)
2762
2788
  :type organization_id: str
2763
2789
  :param solution_id: the Solution identifier (required)
2764
2790
  :type solution_id: str
2765
- :param identity_id: the User identifier (required)
2766
- :type identity_id: str
2767
2791
  :param _request_timeout: timeout setting for this request. If one
2768
2792
  number provided, it will be total request
2769
2793
  timeout. It can also be a pair (tuple) of
@@ -2786,10 +2810,9 @@ class SolutionApi:
2786
2810
  :return: Returns the result object.
2787
2811
  """ # noqa: E501
2788
2812
 
2789
- _param = self._get_solution_access_control_serialize(
2813
+ _param = self._find_solution_by_id_serialize(
2790
2814
  organization_id=organization_id,
2791
2815
  solution_id=solution_id,
2792
- identity_id=identity_id,
2793
2816
  _request_auth=_request_auth,
2794
2817
  _content_type=_content_type,
2795
2818
  _headers=_headers,
@@ -2797,7 +2820,7 @@ class SolutionApi:
2797
2820
  )
2798
2821
 
2799
2822
  _response_types_map: Dict[str, Optional[str]] = {
2800
- '200': "SolutionAccessControl",
2823
+ '200': "Solution",
2801
2824
  '404': None,
2802
2825
  }
2803
2826
  response_data = self.api_client.call_api(
@@ -2812,11 +2835,10 @@ class SolutionApi:
2812
2835
 
2813
2836
 
2814
2837
  @validate_call
2815
- def get_solution_access_control_without_preload_content(
2838
+ def find_solution_by_id_without_preload_content(
2816
2839
  self,
2817
2840
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2818
2841
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2819
- identity_id: Annotated[StrictStr, Field(description="the User identifier")],
2820
2842
  _request_timeout: Union[
2821
2843
  None,
2822
2844
  Annotated[StrictFloat, Field(gt=0)],
@@ -2830,15 +2852,13 @@ class SolutionApi:
2830
2852
  _headers: Optional[Dict[StrictStr, Any]] = None,
2831
2853
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2832
2854
  ) -> RESTResponseType:
2833
- """Get a control access for the Solution
2855
+ """Get the details of a solution
2834
2856
 
2835
2857
 
2836
2858
  :param organization_id: the Organization identifier (required)
2837
2859
  :type organization_id: str
2838
2860
  :param solution_id: the Solution identifier (required)
2839
2861
  :type solution_id: str
2840
- :param identity_id: the User identifier (required)
2841
- :type identity_id: str
2842
2862
  :param _request_timeout: timeout setting for this request. If one
2843
2863
  number provided, it will be total request
2844
2864
  timeout. It can also be a pair (tuple) of
@@ -2861,10 +2881,9 @@ class SolutionApi:
2861
2881
  :return: Returns the result object.
2862
2882
  """ # noqa: E501
2863
2883
 
2864
- _param = self._get_solution_access_control_serialize(
2884
+ _param = self._find_solution_by_id_serialize(
2865
2885
  organization_id=organization_id,
2866
2886
  solution_id=solution_id,
2867
- identity_id=identity_id,
2868
2887
  _request_auth=_request_auth,
2869
2888
  _content_type=_content_type,
2870
2889
  _headers=_headers,
@@ -2872,7 +2891,7 @@ class SolutionApi:
2872
2891
  )
2873
2892
 
2874
2893
  _response_types_map: Dict[str, Optional[str]] = {
2875
- '200': "SolutionAccessControl",
2894
+ '200': "Solution",
2876
2895
  '404': None,
2877
2896
  }
2878
2897
  response_data = self.api_client.call_api(
@@ -2882,11 +2901,10 @@ class SolutionApi:
2882
2901
  return response_data.response
2883
2902
 
2884
2903
 
2885
- def _get_solution_access_control_serialize(
2904
+ def _find_solution_by_id_serialize(
2886
2905
  self,
2887
2906
  organization_id,
2888
2907
  solution_id,
2889
- identity_id,
2890
2908
  _request_auth,
2891
2909
  _content_type,
2892
2910
  _headers,
@@ -2910,8 +2928,6 @@ class SolutionApi:
2910
2928
  _path_params['organization_id'] = organization_id
2911
2929
  if solution_id is not None:
2912
2930
  _path_params['solution_id'] = solution_id
2913
- if identity_id is not None:
2914
- _path_params['identity_id'] = identity_id
2915
2931
  # process the query parameters
2916
2932
  # process the header parameters
2917
2933
  # process the form parameters
@@ -2933,7 +2949,7 @@ class SolutionApi:
2933
2949
 
2934
2950
  return self.api_client.param_serialize(
2935
2951
  method='GET',
2936
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/access/{identity_id}',
2952
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}',
2937
2953
  path_params=_path_params,
2938
2954
  query_params=_query_params,
2939
2955
  header_params=_header_params,
@@ -2950,10 +2966,11 @@ class SolutionApi:
2950
2966
 
2951
2967
 
2952
2968
  @validate_call
2953
- def get_solution_security(
2969
+ def get_solution_access_control(
2954
2970
  self,
2955
2971
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2956
2972
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2973
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
2957
2974
  _request_timeout: Union[
2958
2975
  None,
2959
2976
  Annotated[StrictFloat, Field(gt=0)],
@@ -2966,14 +2983,16 @@ class SolutionApi:
2966
2983
  _content_type: Optional[StrictStr] = None,
2967
2984
  _headers: Optional[Dict[StrictStr, Any]] = None,
2968
2985
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2969
- ) -> SolutionSecurity:
2970
- """Get the Solution security information
2986
+ ) -> SolutionAccessControl:
2987
+ """Get a control access for the Solution
2971
2988
 
2972
2989
 
2973
2990
  :param organization_id: the Organization identifier (required)
2974
2991
  :type organization_id: str
2975
2992
  :param solution_id: the Solution identifier (required)
2976
2993
  :type solution_id: str
2994
+ :param identity_id: the User identifier (required)
2995
+ :type identity_id: str
2977
2996
  :param _request_timeout: timeout setting for this request. If one
2978
2997
  number provided, it will be total request
2979
2998
  timeout. It can also be a pair (tuple) of
@@ -2996,9 +3015,10 @@ class SolutionApi:
2996
3015
  :return: Returns the result object.
2997
3016
  """ # noqa: E501
2998
3017
 
2999
- _param = self._get_solution_security_serialize(
3018
+ _param = self._get_solution_access_control_serialize(
3000
3019
  organization_id=organization_id,
3001
3020
  solution_id=solution_id,
3021
+ identity_id=identity_id,
3002
3022
  _request_auth=_request_auth,
3003
3023
  _content_type=_content_type,
3004
3024
  _headers=_headers,
@@ -3006,7 +3026,7 @@ class SolutionApi:
3006
3026
  )
3007
3027
 
3008
3028
  _response_types_map: Dict[str, Optional[str]] = {
3009
- '200': "SolutionSecurity",
3029
+ '200': "SolutionAccessControl",
3010
3030
  '404': None,
3011
3031
  }
3012
3032
  response_data = self.api_client.call_api(
@@ -3021,10 +3041,11 @@ class SolutionApi:
3021
3041
 
3022
3042
 
3023
3043
  @validate_call
3024
- def get_solution_security_with_http_info(
3044
+ def get_solution_access_control_with_http_info(
3025
3045
  self,
3026
3046
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3027
3047
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
3048
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
3028
3049
  _request_timeout: Union[
3029
3050
  None,
3030
3051
  Annotated[StrictFloat, Field(gt=0)],
@@ -3037,14 +3058,16 @@ class SolutionApi:
3037
3058
  _content_type: Optional[StrictStr] = None,
3038
3059
  _headers: Optional[Dict[StrictStr, Any]] = None,
3039
3060
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3040
- ) -> ApiResponse[SolutionSecurity]:
3041
- """Get the Solution security information
3061
+ ) -> ApiResponse[SolutionAccessControl]:
3062
+ """Get a control access for the Solution
3042
3063
 
3043
3064
 
3044
3065
  :param organization_id: the Organization identifier (required)
3045
3066
  :type organization_id: str
3046
3067
  :param solution_id: the Solution identifier (required)
3047
3068
  :type solution_id: str
3069
+ :param identity_id: the User identifier (required)
3070
+ :type identity_id: str
3048
3071
  :param _request_timeout: timeout setting for this request. If one
3049
3072
  number provided, it will be total request
3050
3073
  timeout. It can also be a pair (tuple) of
@@ -3067,9 +3090,10 @@ class SolutionApi:
3067
3090
  :return: Returns the result object.
3068
3091
  """ # noqa: E501
3069
3092
 
3070
- _param = self._get_solution_security_serialize(
3093
+ _param = self._get_solution_access_control_serialize(
3071
3094
  organization_id=organization_id,
3072
3095
  solution_id=solution_id,
3096
+ identity_id=identity_id,
3073
3097
  _request_auth=_request_auth,
3074
3098
  _content_type=_content_type,
3075
3099
  _headers=_headers,
@@ -3077,7 +3101,7 @@ class SolutionApi:
3077
3101
  )
3078
3102
 
3079
3103
  _response_types_map: Dict[str, Optional[str]] = {
3080
- '200': "SolutionSecurity",
3104
+ '200': "SolutionAccessControl",
3081
3105
  '404': None,
3082
3106
  }
3083
3107
  response_data = self.api_client.call_api(
@@ -3092,10 +3116,11 @@ class SolutionApi:
3092
3116
 
3093
3117
 
3094
3118
  @validate_call
3095
- def get_solution_security_without_preload_content(
3119
+ def get_solution_access_control_without_preload_content(
3096
3120
  self,
3097
3121
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3098
3122
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
3123
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
3099
3124
  _request_timeout: Union[
3100
3125
  None,
3101
3126
  Annotated[StrictFloat, Field(gt=0)],
@@ -3109,13 +3134,15 @@ class SolutionApi:
3109
3134
  _headers: Optional[Dict[StrictStr, Any]] = None,
3110
3135
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3111
3136
  ) -> RESTResponseType:
3112
- """Get the Solution security information
3137
+ """Get a control access for the Solution
3113
3138
 
3114
3139
 
3115
3140
  :param organization_id: the Organization identifier (required)
3116
3141
  :type organization_id: str
3117
3142
  :param solution_id: the Solution identifier (required)
3118
3143
  :type solution_id: str
3144
+ :param identity_id: the User identifier (required)
3145
+ :type identity_id: str
3119
3146
  :param _request_timeout: timeout setting for this request. If one
3120
3147
  number provided, it will be total request
3121
3148
  timeout. It can also be a pair (tuple) of
@@ -3138,9 +3165,10 @@ class SolutionApi:
3138
3165
  :return: Returns the result object.
3139
3166
  """ # noqa: E501
3140
3167
 
3141
- _param = self._get_solution_security_serialize(
3168
+ _param = self._get_solution_access_control_serialize(
3142
3169
  organization_id=organization_id,
3143
3170
  solution_id=solution_id,
3171
+ identity_id=identity_id,
3144
3172
  _request_auth=_request_auth,
3145
3173
  _content_type=_content_type,
3146
3174
  _headers=_headers,
@@ -3148,7 +3176,7 @@ class SolutionApi:
3148
3176
  )
3149
3177
 
3150
3178
  _response_types_map: Dict[str, Optional[str]] = {
3151
- '200': "SolutionSecurity",
3179
+ '200': "SolutionAccessControl",
3152
3180
  '404': None,
3153
3181
  }
3154
3182
  response_data = self.api_client.call_api(
@@ -3158,10 +3186,11 @@ class SolutionApi:
3158
3186
  return response_data.response
3159
3187
 
3160
3188
 
3161
- def _get_solution_security_serialize(
3189
+ def _get_solution_access_control_serialize(
3162
3190
  self,
3163
3191
  organization_id,
3164
3192
  solution_id,
3193
+ identity_id,
3165
3194
  _request_auth,
3166
3195
  _content_type,
3167
3196
  _headers,
@@ -3185,6 +3214,8 @@ class SolutionApi:
3185
3214
  _path_params['organization_id'] = organization_id
3186
3215
  if solution_id is not None:
3187
3216
  _path_params['solution_id'] = solution_id
3217
+ if identity_id is not None:
3218
+ _path_params['identity_id'] = identity_id
3188
3219
  # process the query parameters
3189
3220
  # process the header parameters
3190
3221
  # process the form parameters
@@ -3206,7 +3237,7 @@ class SolutionApi:
3206
3237
 
3207
3238
  return self.api_client.param_serialize(
3208
3239
  method='GET',
3209
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/security',
3240
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/access/{identity_id}',
3210
3241
  path_params=_path_params,
3211
3242
  query_params=_query_params,
3212
3243
  header_params=_header_params,
@@ -3223,7 +3254,7 @@ class SolutionApi:
3223
3254
 
3224
3255
 
3225
3256
  @validate_call
3226
- def get_solution_security_users(
3257
+ def get_solution_security(
3227
3258
  self,
3228
3259
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3229
3260
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3239,8 +3270,8 @@ class SolutionApi:
3239
3270
  _content_type: Optional[StrictStr] = None,
3240
3271
  _headers: Optional[Dict[StrictStr, Any]] = None,
3241
3272
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3242
- ) -> List[str]:
3243
- """Get the Solution security users list
3273
+ ) -> SolutionSecurity:
3274
+ """Get the Solution security information
3244
3275
 
3245
3276
 
3246
3277
  :param organization_id: the Organization identifier (required)
@@ -3269,7 +3300,7 @@ class SolutionApi:
3269
3300
  :return: Returns the result object.
3270
3301
  """ # noqa: E501
3271
3302
 
3272
- _param = self._get_solution_security_users_serialize(
3303
+ _param = self._get_solution_security_serialize(
3273
3304
  organization_id=organization_id,
3274
3305
  solution_id=solution_id,
3275
3306
  _request_auth=_request_auth,
@@ -3279,7 +3310,7 @@ class SolutionApi:
3279
3310
  )
3280
3311
 
3281
3312
  _response_types_map: Dict[str, Optional[str]] = {
3282
- '200': "List[str]",
3313
+ '200': "SolutionSecurity",
3283
3314
  '404': None,
3284
3315
  }
3285
3316
  response_data = self.api_client.call_api(
@@ -3294,7 +3325,7 @@ class SolutionApi:
3294
3325
 
3295
3326
 
3296
3327
  @validate_call
3297
- def get_solution_security_users_with_http_info(
3328
+ def get_solution_security_with_http_info(
3298
3329
  self,
3299
3330
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3300
3331
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3310,8 +3341,8 @@ class SolutionApi:
3310
3341
  _content_type: Optional[StrictStr] = None,
3311
3342
  _headers: Optional[Dict[StrictStr, Any]] = None,
3312
3343
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3313
- ) -> ApiResponse[List[str]]:
3314
- """Get the Solution security users list
3344
+ ) -> ApiResponse[SolutionSecurity]:
3345
+ """Get the Solution security information
3315
3346
 
3316
3347
 
3317
3348
  :param organization_id: the Organization identifier (required)
@@ -3340,7 +3371,7 @@ class SolutionApi:
3340
3371
  :return: Returns the result object.
3341
3372
  """ # noqa: E501
3342
3373
 
3343
- _param = self._get_solution_security_users_serialize(
3374
+ _param = self._get_solution_security_serialize(
3344
3375
  organization_id=organization_id,
3345
3376
  solution_id=solution_id,
3346
3377
  _request_auth=_request_auth,
@@ -3350,7 +3381,7 @@ class SolutionApi:
3350
3381
  )
3351
3382
 
3352
3383
  _response_types_map: Dict[str, Optional[str]] = {
3353
- '200': "List[str]",
3384
+ '200': "SolutionSecurity",
3354
3385
  '404': None,
3355
3386
  }
3356
3387
  response_data = self.api_client.call_api(
@@ -3365,7 +3396,7 @@ class SolutionApi:
3365
3396
 
3366
3397
 
3367
3398
  @validate_call
3368
- def get_solution_security_users_without_preload_content(
3399
+ def get_solution_security_without_preload_content(
3369
3400
  self,
3370
3401
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3371
3402
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3382,7 +3413,7 @@ class SolutionApi:
3382
3413
  _headers: Optional[Dict[StrictStr, Any]] = None,
3383
3414
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3384
3415
  ) -> RESTResponseType:
3385
- """Get the Solution security users list
3416
+ """Get the Solution security information
3386
3417
 
3387
3418
 
3388
3419
  :param organization_id: the Organization identifier (required)
@@ -3411,7 +3442,7 @@ class SolutionApi:
3411
3442
  :return: Returns the result object.
3412
3443
  """ # noqa: E501
3413
3444
 
3414
- _param = self._get_solution_security_users_serialize(
3445
+ _param = self._get_solution_security_serialize(
3415
3446
  organization_id=organization_id,
3416
3447
  solution_id=solution_id,
3417
3448
  _request_auth=_request_auth,
@@ -3421,7 +3452,7 @@ class SolutionApi:
3421
3452
  )
3422
3453
 
3423
3454
  _response_types_map: Dict[str, Optional[str]] = {
3424
- '200': "List[str]",
3455
+ '200': "SolutionSecurity",
3425
3456
  '404': None,
3426
3457
  }
3427
3458
  response_data = self.api_client.call_api(
@@ -3431,7 +3462,7 @@ class SolutionApi:
3431
3462
  return response_data.response
3432
3463
 
3433
3464
 
3434
- def _get_solution_security_users_serialize(
3465
+ def _get_solution_security_serialize(
3435
3466
  self,
3436
3467
  organization_id,
3437
3468
  solution_id,
@@ -3479,7 +3510,7 @@ class SolutionApi:
3479
3510
 
3480
3511
  return self.api_client.param_serialize(
3481
3512
  method='GET',
3482
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/users',
3513
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/security',
3483
3514
  path_params=_path_params,
3484
3515
  query_params=_query_params,
3485
3516
  header_params=_header_params,
@@ -3496,7 +3527,7 @@ class SolutionApi:
3496
3527
 
3497
3528
 
3498
3529
  @validate_call
3499
- def remove_all_run_templates(
3530
+ def get_solution_security_users(
3500
3531
  self,
3501
3532
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3502
3533
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3512,8 +3543,8 @@ class SolutionApi:
3512
3543
  _content_type: Optional[StrictStr] = None,
3513
3544
  _headers: Optional[Dict[StrictStr, Any]] = None,
3514
3545
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3515
- ) -> None:
3516
- """Remove all Run Templates from the Solution specified
3546
+ ) -> List[str]:
3547
+ """Get the Solution security users list
3517
3548
 
3518
3549
 
3519
3550
  :param organization_id: the Organization identifier (required)
@@ -3542,7 +3573,7 @@ class SolutionApi:
3542
3573
  :return: Returns the result object.
3543
3574
  """ # noqa: E501
3544
3575
 
3545
- _param = self._remove_all_run_templates_serialize(
3576
+ _param = self._get_solution_security_users_serialize(
3546
3577
  organization_id=organization_id,
3547
3578
  solution_id=solution_id,
3548
3579
  _request_auth=_request_auth,
@@ -3552,7 +3583,7 @@ class SolutionApi:
3552
3583
  )
3553
3584
 
3554
3585
  _response_types_map: Dict[str, Optional[str]] = {
3555
- '204': None,
3586
+ '200': "List[str]",
3556
3587
  '404': None,
3557
3588
  }
3558
3589
  response_data = self.api_client.call_api(
@@ -3567,7 +3598,7 @@ class SolutionApi:
3567
3598
 
3568
3599
 
3569
3600
  @validate_call
3570
- def remove_all_run_templates_with_http_info(
3601
+ def get_solution_security_users_with_http_info(
3571
3602
  self,
3572
3603
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3573
3604
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3583,8 +3614,8 @@ class SolutionApi:
3583
3614
  _content_type: Optional[StrictStr] = None,
3584
3615
  _headers: Optional[Dict[StrictStr, Any]] = None,
3585
3616
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3586
- ) -> ApiResponse[None]:
3587
- """Remove all Run Templates from the Solution specified
3617
+ ) -> ApiResponse[List[str]]:
3618
+ """Get the Solution security users list
3588
3619
 
3589
3620
 
3590
3621
  :param organization_id: the Organization identifier (required)
@@ -3613,7 +3644,7 @@ class SolutionApi:
3613
3644
  :return: Returns the result object.
3614
3645
  """ # noqa: E501
3615
3646
 
3616
- _param = self._remove_all_run_templates_serialize(
3647
+ _param = self._get_solution_security_users_serialize(
3617
3648
  organization_id=organization_id,
3618
3649
  solution_id=solution_id,
3619
3650
  _request_auth=_request_auth,
@@ -3623,7 +3654,7 @@ class SolutionApi:
3623
3654
  )
3624
3655
 
3625
3656
  _response_types_map: Dict[str, Optional[str]] = {
3626
- '204': None,
3657
+ '200': "List[str]",
3627
3658
  '404': None,
3628
3659
  }
3629
3660
  response_data = self.api_client.call_api(
@@ -3638,7 +3669,7 @@ class SolutionApi:
3638
3669
 
3639
3670
 
3640
3671
  @validate_call
3641
- def remove_all_run_templates_without_preload_content(
3672
+ def get_solution_security_users_without_preload_content(
3642
3673
  self,
3643
3674
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3644
3675
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3655,7 +3686,7 @@ class SolutionApi:
3655
3686
  _headers: Optional[Dict[StrictStr, Any]] = None,
3656
3687
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3657
3688
  ) -> RESTResponseType:
3658
- """Remove all Run Templates from the Solution specified
3689
+ """Get the Solution security users list
3659
3690
 
3660
3691
 
3661
3692
  :param organization_id: the Organization identifier (required)
@@ -3684,7 +3715,7 @@ class SolutionApi:
3684
3715
  :return: Returns the result object.
3685
3716
  """ # noqa: E501
3686
3717
 
3687
- _param = self._remove_all_run_templates_serialize(
3718
+ _param = self._get_solution_security_users_serialize(
3688
3719
  organization_id=organization_id,
3689
3720
  solution_id=solution_id,
3690
3721
  _request_auth=_request_auth,
@@ -3694,7 +3725,7 @@ class SolutionApi:
3694
3725
  )
3695
3726
 
3696
3727
  _response_types_map: Dict[str, Optional[str]] = {
3697
- '204': None,
3728
+ '200': "List[str]",
3698
3729
  '404': None,
3699
3730
  }
3700
3731
  response_data = self.api_client.call_api(
@@ -3704,7 +3735,7 @@ class SolutionApi:
3704
3735
  return response_data.response
3705
3736
 
3706
3737
 
3707
- def _remove_all_run_templates_serialize(
3738
+ def _get_solution_security_users_serialize(
3708
3739
  self,
3709
3740
  organization_id,
3710
3741
  solution_id,
@@ -3737,6 +3768,12 @@ class SolutionApi:
3737
3768
  # process the body parameter
3738
3769
 
3739
3770
 
3771
+ # set the HTTP header `Accept`
3772
+ _header_params['Accept'] = self.api_client.select_header_accept(
3773
+ [
3774
+ 'application/json'
3775
+ ]
3776
+ )
3740
3777
 
3741
3778
 
3742
3779
  # authentication setting
@@ -3745,8 +3782,8 @@ class SolutionApi:
3745
3782
  ]
3746
3783
 
3747
3784
  return self.api_client.param_serialize(
3748
- method='DELETE',
3749
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/runTemplates',
3785
+ method='GET',
3786
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/users',
3750
3787
  path_params=_path_params,
3751
3788
  query_params=_query_params,
3752
3789
  header_params=_header_params,
@@ -3763,7 +3800,7 @@ class SolutionApi:
3763
3800
 
3764
3801
 
3765
3802
  @validate_call
3766
- def remove_all_solution_parameter_groups(
3803
+ def remove_all_run_templates(
3767
3804
  self,
3768
3805
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3769
3806
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3780,7 +3817,7 @@ class SolutionApi:
3780
3817
  _headers: Optional[Dict[StrictStr, Any]] = None,
3781
3818
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3782
3819
  ) -> None:
3783
- """Remove all Parameter Groups from the Solution specified
3820
+ """Remove all Run Templates from the Solution specified
3784
3821
 
3785
3822
 
3786
3823
  :param organization_id: the Organization identifier (required)
@@ -3809,7 +3846,7 @@ class SolutionApi:
3809
3846
  :return: Returns the result object.
3810
3847
  """ # noqa: E501
3811
3848
 
3812
- _param = self._remove_all_solution_parameter_groups_serialize(
3849
+ _param = self._remove_all_run_templates_serialize(
3813
3850
  organization_id=organization_id,
3814
3851
  solution_id=solution_id,
3815
3852
  _request_auth=_request_auth,
@@ -3834,7 +3871,7 @@ class SolutionApi:
3834
3871
 
3835
3872
 
3836
3873
  @validate_call
3837
- def remove_all_solution_parameter_groups_with_http_info(
3874
+ def remove_all_run_templates_with_http_info(
3838
3875
  self,
3839
3876
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3840
3877
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3851,7 +3888,7 @@ class SolutionApi:
3851
3888
  _headers: Optional[Dict[StrictStr, Any]] = None,
3852
3889
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3853
3890
  ) -> ApiResponse[None]:
3854
- """Remove all Parameter Groups from the Solution specified
3891
+ """Remove all Run Templates from the Solution specified
3855
3892
 
3856
3893
 
3857
3894
  :param organization_id: the Organization identifier (required)
@@ -3880,7 +3917,7 @@ class SolutionApi:
3880
3917
  :return: Returns the result object.
3881
3918
  """ # noqa: E501
3882
3919
 
3883
- _param = self._remove_all_solution_parameter_groups_serialize(
3920
+ _param = self._remove_all_run_templates_serialize(
3884
3921
  organization_id=organization_id,
3885
3922
  solution_id=solution_id,
3886
3923
  _request_auth=_request_auth,
@@ -3905,7 +3942,7 @@ class SolutionApi:
3905
3942
 
3906
3943
 
3907
3944
  @validate_call
3908
- def remove_all_solution_parameter_groups_without_preload_content(
3945
+ def remove_all_run_templates_without_preload_content(
3909
3946
  self,
3910
3947
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3911
3948
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3922,7 +3959,7 @@ class SolutionApi:
3922
3959
  _headers: Optional[Dict[StrictStr, Any]] = None,
3923
3960
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3924
3961
  ) -> RESTResponseType:
3925
- """Remove all Parameter Groups from the Solution specified
3962
+ """Remove all Run Templates from the Solution specified
3926
3963
 
3927
3964
 
3928
3965
  :param organization_id: the Organization identifier (required)
@@ -3951,7 +3988,7 @@ class SolutionApi:
3951
3988
  :return: Returns the result object.
3952
3989
  """ # noqa: E501
3953
3990
 
3954
- _param = self._remove_all_solution_parameter_groups_serialize(
3991
+ _param = self._remove_all_run_templates_serialize(
3955
3992
  organization_id=organization_id,
3956
3993
  solution_id=solution_id,
3957
3994
  _request_auth=_request_auth,
@@ -3971,7 +4008,7 @@ class SolutionApi:
3971
4008
  return response_data.response
3972
4009
 
3973
4010
 
3974
- def _remove_all_solution_parameter_groups_serialize(
4011
+ def _remove_all_run_templates_serialize(
3975
4012
  self,
3976
4013
  organization_id,
3977
4014
  solution_id,
@@ -4013,7 +4050,7 @@ class SolutionApi:
4013
4050
 
4014
4051
  return self.api_client.param_serialize(
4015
4052
  method='DELETE',
4016
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/parameterGroups',
4053
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/runTemplates',
4017
4054
  path_params=_path_params,
4018
4055
  query_params=_query_params,
4019
4056
  header_params=_header_params,
@@ -4030,7 +4067,7 @@ class SolutionApi:
4030
4067
 
4031
4068
 
4032
4069
  @validate_call
4033
- def remove_all_solution_parameters(
4070
+ def remove_all_solution_parameter_groups(
4034
4071
  self,
4035
4072
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4036
4073
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -4047,7 +4084,7 @@ class SolutionApi:
4047
4084
  _headers: Optional[Dict[StrictStr, Any]] = None,
4048
4085
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4049
4086
  ) -> None:
4050
- """Remove all Parameters from the Solution specified
4087
+ """Remove all Parameter Groups from the Solution specified
4051
4088
 
4052
4089
 
4053
4090
  :param organization_id: the Organization identifier (required)
@@ -4076,7 +4113,7 @@ class SolutionApi:
4076
4113
  :return: Returns the result object.
4077
4114
  """ # noqa: E501
4078
4115
 
4079
- _param = self._remove_all_solution_parameters_serialize(
4116
+ _param = self._remove_all_solution_parameter_groups_serialize(
4080
4117
  organization_id=organization_id,
4081
4118
  solution_id=solution_id,
4082
4119
  _request_auth=_request_auth,
@@ -4101,7 +4138,7 @@ class SolutionApi:
4101
4138
 
4102
4139
 
4103
4140
  @validate_call
4104
- def remove_all_solution_parameters_with_http_info(
4141
+ def remove_all_solution_parameter_groups_with_http_info(
4105
4142
  self,
4106
4143
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4107
4144
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -4118,7 +4155,7 @@ class SolutionApi:
4118
4155
  _headers: Optional[Dict[StrictStr, Any]] = None,
4119
4156
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4120
4157
  ) -> ApiResponse[None]:
4121
- """Remove all Parameters from the Solution specified
4158
+ """Remove all Parameter Groups from the Solution specified
4122
4159
 
4123
4160
 
4124
4161
  :param organization_id: the Organization identifier (required)
@@ -4147,7 +4184,7 @@ class SolutionApi:
4147
4184
  :return: Returns the result object.
4148
4185
  """ # noqa: E501
4149
4186
 
4150
- _param = self._remove_all_solution_parameters_serialize(
4187
+ _param = self._remove_all_solution_parameter_groups_serialize(
4151
4188
  organization_id=organization_id,
4152
4189
  solution_id=solution_id,
4153
4190
  _request_auth=_request_auth,
@@ -4172,7 +4209,7 @@ class SolutionApi:
4172
4209
 
4173
4210
 
4174
4211
  @validate_call
4175
- def remove_all_solution_parameters_without_preload_content(
4212
+ def remove_all_solution_parameter_groups_without_preload_content(
4176
4213
  self,
4177
4214
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4178
4215
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -4189,7 +4226,7 @@ class SolutionApi:
4189
4226
  _headers: Optional[Dict[StrictStr, Any]] = None,
4190
4227
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4191
4228
  ) -> RESTResponseType:
4192
- """Remove all Parameters from the Solution specified
4229
+ """Remove all Parameter Groups from the Solution specified
4193
4230
 
4194
4231
 
4195
4232
  :param organization_id: the Organization identifier (required)
@@ -4218,7 +4255,7 @@ class SolutionApi:
4218
4255
  :return: Returns the result object.
4219
4256
  """ # noqa: E501
4220
4257
 
4221
- _param = self._remove_all_solution_parameters_serialize(
4258
+ _param = self._remove_all_solution_parameter_groups_serialize(
4222
4259
  organization_id=organization_id,
4223
4260
  solution_id=solution_id,
4224
4261
  _request_auth=_request_auth,
@@ -4238,7 +4275,7 @@ class SolutionApi:
4238
4275
  return response_data.response
4239
4276
 
4240
4277
 
4241
- def _remove_all_solution_parameters_serialize(
4278
+ def _remove_all_solution_parameter_groups_serialize(
4242
4279
  self,
4243
4280
  organization_id,
4244
4281
  solution_id,
@@ -4280,7 +4317,7 @@ class SolutionApi:
4280
4317
 
4281
4318
  return self.api_client.param_serialize(
4282
4319
  method='DELETE',
4283
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/parameters',
4320
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/parameterGroups',
4284
4321
  path_params=_path_params,
4285
4322
  query_params=_query_params,
4286
4323
  header_params=_header_params,
@@ -4297,11 +4334,10 @@ class SolutionApi:
4297
4334
 
4298
4335
 
4299
4336
  @validate_call
4300
- def remove_solution_access_control(
4337
+ def remove_all_solution_parameters(
4301
4338
  self,
4302
4339
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4303
4340
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
4304
- identity_id: Annotated[StrictStr, Field(description="the User identifier")],
4305
4341
  _request_timeout: Union[
4306
4342
  None,
4307
4343
  Annotated[StrictFloat, Field(gt=0)],
@@ -4315,15 +4351,13 @@ class SolutionApi:
4315
4351
  _headers: Optional[Dict[StrictStr, Any]] = None,
4316
4352
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4317
4353
  ) -> None:
4318
- """Remove the specified access from the given Organization Solution
4354
+ """Remove all Parameters from the Solution specified
4319
4355
 
4320
4356
 
4321
4357
  :param organization_id: the Organization identifier (required)
4322
4358
  :type organization_id: str
4323
4359
  :param solution_id: the Solution identifier (required)
4324
4360
  :type solution_id: str
4325
- :param identity_id: the User identifier (required)
4326
- :type identity_id: str
4327
4361
  :param _request_timeout: timeout setting for this request. If one
4328
4362
  number provided, it will be total request
4329
4363
  timeout. It can also be a pair (tuple) of
@@ -4346,10 +4380,9 @@ class SolutionApi:
4346
4380
  :return: Returns the result object.
4347
4381
  """ # noqa: E501
4348
4382
 
4349
- _param = self._remove_solution_access_control_serialize(
4383
+ _param = self._remove_all_solution_parameters_serialize(
4350
4384
  organization_id=organization_id,
4351
4385
  solution_id=solution_id,
4352
- identity_id=identity_id,
4353
4386
  _request_auth=_request_auth,
4354
4387
  _content_type=_content_type,
4355
4388
  _headers=_headers,
@@ -4372,11 +4405,10 @@ class SolutionApi:
4372
4405
 
4373
4406
 
4374
4407
  @validate_call
4375
- def remove_solution_access_control_with_http_info(
4408
+ def remove_all_solution_parameters_with_http_info(
4376
4409
  self,
4377
4410
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4378
4411
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
4379
- identity_id: Annotated[StrictStr, Field(description="the User identifier")],
4380
4412
  _request_timeout: Union[
4381
4413
  None,
4382
4414
  Annotated[StrictFloat, Field(gt=0)],
@@ -4390,15 +4422,13 @@ class SolutionApi:
4390
4422
  _headers: Optional[Dict[StrictStr, Any]] = None,
4391
4423
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4392
4424
  ) -> ApiResponse[None]:
4393
- """Remove the specified access from the given Organization Solution
4425
+ """Remove all Parameters from the Solution specified
4394
4426
 
4395
4427
 
4396
4428
  :param organization_id: the Organization identifier (required)
4397
4429
  :type organization_id: str
4398
4430
  :param solution_id: the Solution identifier (required)
4399
4431
  :type solution_id: str
4400
- :param identity_id: the User identifier (required)
4401
- :type identity_id: str
4402
4432
  :param _request_timeout: timeout setting for this request. If one
4403
4433
  number provided, it will be total request
4404
4434
  timeout. It can also be a pair (tuple) of
@@ -4421,10 +4451,9 @@ class SolutionApi:
4421
4451
  :return: Returns the result object.
4422
4452
  """ # noqa: E501
4423
4453
 
4424
- _param = self._remove_solution_access_control_serialize(
4454
+ _param = self._remove_all_solution_parameters_serialize(
4425
4455
  organization_id=organization_id,
4426
4456
  solution_id=solution_id,
4427
- identity_id=identity_id,
4428
4457
  _request_auth=_request_auth,
4429
4458
  _content_type=_content_type,
4430
4459
  _headers=_headers,
@@ -4447,11 +4476,10 @@ class SolutionApi:
4447
4476
 
4448
4477
 
4449
4478
  @validate_call
4450
- def remove_solution_access_control_without_preload_content(
4479
+ def remove_all_solution_parameters_without_preload_content(
4451
4480
  self,
4452
4481
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4453
4482
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
4454
- identity_id: Annotated[StrictStr, Field(description="the User identifier")],
4455
4483
  _request_timeout: Union[
4456
4484
  None,
4457
4485
  Annotated[StrictFloat, Field(gt=0)],
@@ -4465,15 +4493,13 @@ class SolutionApi:
4465
4493
  _headers: Optional[Dict[StrictStr, Any]] = None,
4466
4494
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4467
4495
  ) -> RESTResponseType:
4468
- """Remove the specified access from the given Organization Solution
4496
+ """Remove all Parameters from the Solution specified
4469
4497
 
4470
4498
 
4471
4499
  :param organization_id: the Organization identifier (required)
4472
4500
  :type organization_id: str
4473
4501
  :param solution_id: the Solution identifier (required)
4474
4502
  :type solution_id: str
4475
- :param identity_id: the User identifier (required)
4476
- :type identity_id: str
4477
4503
  :param _request_timeout: timeout setting for this request. If one
4478
4504
  number provided, it will be total request
4479
4505
  timeout. It can also be a pair (tuple) of
@@ -4496,10 +4522,9 @@ class SolutionApi:
4496
4522
  :return: Returns the result object.
4497
4523
  """ # noqa: E501
4498
4524
 
4499
- _param = self._remove_solution_access_control_serialize(
4525
+ _param = self._remove_all_solution_parameters_serialize(
4500
4526
  organization_id=organization_id,
4501
4527
  solution_id=solution_id,
4502
- identity_id=identity_id,
4503
4528
  _request_auth=_request_auth,
4504
4529
  _content_type=_content_type,
4505
4530
  _headers=_headers,
@@ -4517,11 +4542,10 @@ class SolutionApi:
4517
4542
  return response_data.response
4518
4543
 
4519
4544
 
4520
- def _remove_solution_access_control_serialize(
4545
+ def _remove_all_solution_parameters_serialize(
4521
4546
  self,
4522
4547
  organization_id,
4523
4548
  solution_id,
4524
- identity_id,
4525
4549
  _request_auth,
4526
4550
  _content_type,
4527
4551
  _headers,
@@ -4545,8 +4569,6 @@ class SolutionApi:
4545
4569
  _path_params['organization_id'] = organization_id
4546
4570
  if solution_id is not None:
4547
4571
  _path_params['solution_id'] = solution_id
4548
- if identity_id is not None:
4549
- _path_params['identity_id'] = identity_id
4550
4572
  # process the query parameters
4551
4573
  # process the header parameters
4552
4574
  # process the form parameters
@@ -4562,7 +4584,7 @@ class SolutionApi:
4562
4584
 
4563
4585
  return self.api_client.param_serialize(
4564
4586
  method='DELETE',
4565
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/access/{identity_id}',
4587
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/parameters',
4566
4588
  path_params=_path_params,
4567
4589
  query_params=_query_params,
4568
4590
  header_params=_header_params,
@@ -4579,11 +4601,11 @@ class SolutionApi:
4579
4601
 
4580
4602
 
4581
4603
  @validate_call
4582
- def set_solution_default_security(
4604
+ def remove_solution_access_control(
4583
4605
  self,
4584
4606
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4585
4607
  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.")],
4608
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
4587
4609
  _request_timeout: Union[
4588
4610
  None,
4589
4611
  Annotated[StrictFloat, Field(gt=0)],
@@ -4596,16 +4618,16 @@ class SolutionApi:
4596
4618
  _content_type: Optional[StrictStr] = None,
4597
4619
  _headers: Optional[Dict[StrictStr, Any]] = None,
4598
4620
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4599
- ) -> SolutionSecurity:
4600
- """Set the Solution default security
4621
+ ) -> None:
4622
+ """Remove the specified access from the given Organization Solution
4601
4623
 
4602
4624
 
4603
4625
  :param organization_id: the Organization identifier (required)
4604
4626
  :type organization_id: str
4605
4627
  :param solution_id: the Solution identifier (required)
4606
4628
  :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
4629
+ :param identity_id: the User identifier (required)
4630
+ :type identity_id: str
4609
4631
  :param _request_timeout: timeout setting for this request. If one
4610
4632
  number provided, it will be total request
4611
4633
  timeout. It can also be a pair (tuple) of
@@ -4628,10 +4650,10 @@ class SolutionApi:
4628
4650
  :return: Returns the result object.
4629
4651
  """ # noqa: E501
4630
4652
 
4631
- _param = self._set_solution_default_security_serialize(
4653
+ _param = self._remove_solution_access_control_serialize(
4632
4654
  organization_id=organization_id,
4633
4655
  solution_id=solution_id,
4634
- solution_role=solution_role,
4656
+ identity_id=identity_id,
4635
4657
  _request_auth=_request_auth,
4636
4658
  _content_type=_content_type,
4637
4659
  _headers=_headers,
@@ -4639,7 +4661,7 @@ class SolutionApi:
4639
4661
  )
4640
4662
 
4641
4663
  _response_types_map: Dict[str, Optional[str]] = {
4642
- '201': "SolutionSecurity",
4664
+ '204': None,
4643
4665
  '404': None,
4644
4666
  }
4645
4667
  response_data = self.api_client.call_api(
@@ -4654,11 +4676,11 @@ class SolutionApi:
4654
4676
 
4655
4677
 
4656
4678
  @validate_call
4657
- def set_solution_default_security_with_http_info(
4679
+ def remove_solution_access_control_with_http_info(
4658
4680
  self,
4659
4681
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4660
4682
  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.")],
4683
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
4662
4684
  _request_timeout: Union[
4663
4685
  None,
4664
4686
  Annotated[StrictFloat, Field(gt=0)],
@@ -4671,16 +4693,16 @@ class SolutionApi:
4671
4693
  _content_type: Optional[StrictStr] = None,
4672
4694
  _headers: Optional[Dict[StrictStr, Any]] = None,
4673
4695
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4674
- ) -> ApiResponse[SolutionSecurity]:
4675
- """Set the Solution default security
4696
+ ) -> ApiResponse[None]:
4697
+ """Remove the specified access from the given Organization Solution
4676
4698
 
4677
4699
 
4678
4700
  :param organization_id: the Organization identifier (required)
4679
4701
  :type organization_id: str
4680
4702
  :param solution_id: the Solution identifier (required)
4681
4703
  :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
4704
+ :param identity_id: the User identifier (required)
4705
+ :type identity_id: str
4684
4706
  :param _request_timeout: timeout setting for this request. If one
4685
4707
  number provided, it will be total request
4686
4708
  timeout. It can also be a pair (tuple) of
@@ -4703,10 +4725,10 @@ class SolutionApi:
4703
4725
  :return: Returns the result object.
4704
4726
  """ # noqa: E501
4705
4727
 
4706
- _param = self._set_solution_default_security_serialize(
4728
+ _param = self._remove_solution_access_control_serialize(
4707
4729
  organization_id=organization_id,
4708
4730
  solution_id=solution_id,
4709
- solution_role=solution_role,
4731
+ identity_id=identity_id,
4710
4732
  _request_auth=_request_auth,
4711
4733
  _content_type=_content_type,
4712
4734
  _headers=_headers,
@@ -4714,7 +4736,7 @@ class SolutionApi:
4714
4736
  )
4715
4737
 
4716
4738
  _response_types_map: Dict[str, Optional[str]] = {
4717
- '201': "SolutionSecurity",
4739
+ '204': None,
4718
4740
  '404': None,
4719
4741
  }
4720
4742
  response_data = self.api_client.call_api(
@@ -4729,11 +4751,11 @@ class SolutionApi:
4729
4751
 
4730
4752
 
4731
4753
  @validate_call
4732
- def set_solution_default_security_without_preload_content(
4754
+ def remove_solution_access_control_without_preload_content(
4733
4755
  self,
4734
4756
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4735
4757
  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.")],
4758
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
4737
4759
  _request_timeout: Union[
4738
4760
  None,
4739
4761
  Annotated[StrictFloat, Field(gt=0)],
@@ -4747,15 +4769,15 @@ class SolutionApi:
4747
4769
  _headers: Optional[Dict[StrictStr, Any]] = None,
4748
4770
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4749
4771
  ) -> RESTResponseType:
4750
- """Set the Solution default security
4772
+ """Remove the specified access from the given Organization Solution
4751
4773
 
4752
4774
 
4753
4775
  :param organization_id: the Organization identifier (required)
4754
4776
  :type organization_id: str
4755
4777
  :param solution_id: the Solution identifier (required)
4756
4778
  :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
4779
+ :param identity_id: the User identifier (required)
4780
+ :type identity_id: str
4759
4781
  :param _request_timeout: timeout setting for this request. If one
4760
4782
  number provided, it will be total request
4761
4783
  timeout. It can also be a pair (tuple) of
@@ -4778,10 +4800,10 @@ class SolutionApi:
4778
4800
  :return: Returns the result object.
4779
4801
  """ # noqa: E501
4780
4802
 
4781
- _param = self._set_solution_default_security_serialize(
4803
+ _param = self._remove_solution_access_control_serialize(
4782
4804
  organization_id=organization_id,
4783
4805
  solution_id=solution_id,
4784
- solution_role=solution_role,
4806
+ identity_id=identity_id,
4785
4807
  _request_auth=_request_auth,
4786
4808
  _content_type=_content_type,
4787
4809
  _headers=_headers,
@@ -4789,7 +4811,7 @@ class SolutionApi:
4789
4811
  )
4790
4812
 
4791
4813
  _response_types_map: Dict[str, Optional[str]] = {
4792
- '201': "SolutionSecurity",
4814
+ '204': None,
4793
4815
  '404': None,
4794
4816
  }
4795
4817
  response_data = self.api_client.call_api(
@@ -4799,11 +4821,11 @@ class SolutionApi:
4799
4821
  return response_data.response
4800
4822
 
4801
4823
 
4802
- def _set_solution_default_security_serialize(
4824
+ def _remove_solution_access_control_serialize(
4803
4825
  self,
4804
4826
  organization_id,
4805
4827
  solution_id,
4806
- solution_role,
4828
+ identity_id,
4807
4829
  _request_auth,
4808
4830
  _content_type,
4809
4831
  _headers,
@@ -4827,35 +4849,15 @@ class SolutionApi:
4827
4849
  _path_params['organization_id'] = organization_id
4828
4850
  if solution_id is not None:
4829
4851
  _path_params['solution_id'] = solution_id
4852
+ if identity_id is not None:
4853
+ _path_params['identity_id'] = identity_id
4830
4854
  # process the query parameters
4831
4855
  # process the header parameters
4832
4856
  # process the form parameters
4833
4857
  # process the body parameter
4834
- if solution_role is not None:
4835
- _body_params = solution_role
4836
4858
 
4837
4859
 
4838
- # set the HTTP header `Accept`
4839
- _header_params['Accept'] = self.api_client.select_header_accept(
4840
- [
4841
- 'application/json'
4842
- ]
4843
- )
4844
4860
 
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
4861
 
4860
4862
  # authentication setting
4861
4863
  _auth_settings: List[str] = [
@@ -4863,8 +4865,8 @@ class SolutionApi:
4863
4865
  ]
4864
4866
 
4865
4867
  return self.api_client.param_serialize(
4866
- method='POST',
4867
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/default',
4868
+ method='DELETE',
4869
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/access/{identity_id}',
4868
4870
  path_params=_path_params,
4869
4871
  query_params=_query_params,
4870
4872
  header_params=_header_params,
@@ -4881,11 +4883,11 @@ class SolutionApi:
4881
4883
 
4882
4884
 
4883
4885
  @validate_call
4884
- def update_solution(
4886
+ def set_solution_default_security(
4885
4887
  self,
4886
4888
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4887
4889
  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")],
4890
+ 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.")],
4889
4891
  _request_timeout: Union[
4890
4892
  None,
4891
4893
  Annotated[StrictFloat, Field(gt=0)],
@@ -4898,16 +4900,16 @@ class SolutionApi:
4898
4900
  _content_type: Optional[StrictStr] = None,
4899
4901
  _headers: Optional[Dict[StrictStr, Any]] = None,
4900
4902
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4901
- ) -> Solution:
4902
- """Update a solution
4903
+ ) -> SolutionSecurity:
4904
+ """Set the Solution default security
4903
4905
 
4904
4906
 
4905
4907
  :param organization_id: the Organization identifier (required)
4906
4908
  :type organization_id: str
4907
4909
  :param solution_id: the Solution identifier (required)
4908
4910
  :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
4911
+ :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)
4912
+ :type solution_role: SolutionRole
4911
4913
  :param _request_timeout: timeout setting for this request. If one
4912
4914
  number provided, it will be total request
4913
4915
  timeout. It can also be a pair (tuple) of
@@ -4930,10 +4932,10 @@ class SolutionApi:
4930
4932
  :return: Returns the result object.
4931
4933
  """ # noqa: E501
4932
4934
 
4933
- _param = self._update_solution_serialize(
4935
+ _param = self._set_solution_default_security_serialize(
4934
4936
  organization_id=organization_id,
4935
4937
  solution_id=solution_id,
4936
- solution=solution,
4938
+ solution_role=solution_role,
4937
4939
  _request_auth=_request_auth,
4938
4940
  _content_type=_content_type,
4939
4941
  _headers=_headers,
@@ -4941,8 +4943,7 @@ class SolutionApi:
4941
4943
  )
4942
4944
 
4943
4945
  _response_types_map: Dict[str, Optional[str]] = {
4944
- '200': "Solution",
4945
- '400': None,
4946
+ '201': "SolutionSecurity",
4946
4947
  '404': None,
4947
4948
  }
4948
4949
  response_data = self.api_client.call_api(
@@ -4957,11 +4958,11 @@ class SolutionApi:
4957
4958
 
4958
4959
 
4959
4960
  @validate_call
4960
- def update_solution_with_http_info(
4961
+ def set_solution_default_security_with_http_info(
4961
4962
  self,
4962
4963
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4963
4964
  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")],
4965
+ 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.")],
4965
4966
  _request_timeout: Union[
4966
4967
  None,
4967
4968
  Annotated[StrictFloat, Field(gt=0)],
@@ -4974,16 +4975,630 @@ class SolutionApi:
4974
4975
  _content_type: Optional[StrictStr] = None,
4975
4976
  _headers: Optional[Dict[StrictStr, Any]] = None,
4976
4977
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4977
- ) -> ApiResponse[Solution]:
4978
- """Update a solution
4978
+ ) -> ApiResponse[SolutionSecurity]:
4979
+ """Set the Solution default security
4980
+
4981
+
4982
+ :param organization_id: the Organization identifier (required)
4983
+ :type organization_id: str
4984
+ :param solution_id: the Solution identifier (required)
4985
+ :type solution_id: str
4986
+ :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)
4987
+ :type solution_role: SolutionRole
4988
+ :param _request_timeout: timeout setting for this request. If one
4989
+ number provided, it will be total request
4990
+ timeout. It can also be a pair (tuple) of
4991
+ (connection, read) timeouts.
4992
+ :type _request_timeout: int, tuple(int, int), optional
4993
+ :param _request_auth: set to override the auth_settings for an a single
4994
+ request; this effectively ignores the
4995
+ authentication in the spec for a single request.
4996
+ :type _request_auth: dict, optional
4997
+ :param _content_type: force content-type for the request.
4998
+ :type _content_type: str, Optional
4999
+ :param _headers: set to override the headers for a single
5000
+ request; this effectively ignores the headers
5001
+ in the spec for a single request.
5002
+ :type _headers: dict, optional
5003
+ :param _host_index: set to override the host_index for a single
5004
+ request; this effectively ignores the host_index
5005
+ in the spec for a single request.
5006
+ :type _host_index: int, optional
5007
+ :return: Returns the result object.
5008
+ """ # noqa: E501
5009
+
5010
+ _param = self._set_solution_default_security_serialize(
5011
+ organization_id=organization_id,
5012
+ solution_id=solution_id,
5013
+ solution_role=solution_role,
5014
+ _request_auth=_request_auth,
5015
+ _content_type=_content_type,
5016
+ _headers=_headers,
5017
+ _host_index=_host_index
5018
+ )
5019
+
5020
+ _response_types_map: Dict[str, Optional[str]] = {
5021
+ '201': "SolutionSecurity",
5022
+ '404': None,
5023
+ }
5024
+ response_data = self.api_client.call_api(
5025
+ *_param,
5026
+ _request_timeout=_request_timeout
5027
+ )
5028
+ response_data.read()
5029
+ return self.api_client.response_deserialize(
5030
+ response_data=response_data,
5031
+ response_types_map=_response_types_map,
5032
+ )
5033
+
5034
+
5035
+ @validate_call
5036
+ def set_solution_default_security_without_preload_content(
5037
+ self,
5038
+ organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5039
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5040
+ 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.")],
5041
+ _request_timeout: Union[
5042
+ None,
5043
+ Annotated[StrictFloat, Field(gt=0)],
5044
+ Tuple[
5045
+ Annotated[StrictFloat, Field(gt=0)],
5046
+ Annotated[StrictFloat, Field(gt=0)]
5047
+ ]
5048
+ ] = None,
5049
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5050
+ _content_type: Optional[StrictStr] = None,
5051
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5052
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5053
+ ) -> RESTResponseType:
5054
+ """Set the Solution default security
5055
+
5056
+
5057
+ :param organization_id: the Organization identifier (required)
5058
+ :type organization_id: str
5059
+ :param solution_id: the Solution identifier (required)
5060
+ :type solution_id: str
5061
+ :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)
5062
+ :type solution_role: SolutionRole
5063
+ :param _request_timeout: timeout setting for this request. If one
5064
+ number provided, it will be total request
5065
+ timeout. It can also be a pair (tuple) of
5066
+ (connection, read) timeouts.
5067
+ :type _request_timeout: int, tuple(int, int), optional
5068
+ :param _request_auth: set to override the auth_settings for an a single
5069
+ request; this effectively ignores the
5070
+ authentication in the spec for a single request.
5071
+ :type _request_auth: dict, optional
5072
+ :param _content_type: force content-type for the request.
5073
+ :type _content_type: str, Optional
5074
+ :param _headers: set to override the headers for a single
5075
+ request; this effectively ignores the headers
5076
+ in the spec for a single request.
5077
+ :type _headers: dict, optional
5078
+ :param _host_index: set to override the host_index for a single
5079
+ request; this effectively ignores the host_index
5080
+ in the spec for a single request.
5081
+ :type _host_index: int, optional
5082
+ :return: Returns the result object.
5083
+ """ # noqa: E501
5084
+
5085
+ _param = self._set_solution_default_security_serialize(
5086
+ organization_id=organization_id,
5087
+ solution_id=solution_id,
5088
+ solution_role=solution_role,
5089
+ _request_auth=_request_auth,
5090
+ _content_type=_content_type,
5091
+ _headers=_headers,
5092
+ _host_index=_host_index
5093
+ )
5094
+
5095
+ _response_types_map: Dict[str, Optional[str]] = {
5096
+ '201': "SolutionSecurity",
5097
+ '404': None,
5098
+ }
5099
+ response_data = self.api_client.call_api(
5100
+ *_param,
5101
+ _request_timeout=_request_timeout
5102
+ )
5103
+ return response_data.response
5104
+
5105
+
5106
+ def _set_solution_default_security_serialize(
5107
+ self,
5108
+ organization_id,
5109
+ solution_id,
5110
+ solution_role,
5111
+ _request_auth,
5112
+ _content_type,
5113
+ _headers,
5114
+ _host_index,
5115
+ ) -> RequestSerialized:
5116
+
5117
+ _host = None
5118
+
5119
+ _collection_formats: Dict[str, str] = {
5120
+ }
5121
+
5122
+ _path_params: Dict[str, str] = {}
5123
+ _query_params: List[Tuple[str, str]] = []
5124
+ _header_params: Dict[str, Optional[str]] = _headers or {}
5125
+ _form_params: List[Tuple[str, str]] = []
5126
+ _files: Dict[str, str] = {}
5127
+ _body_params: Optional[bytes] = None
5128
+
5129
+ # process the path parameters
5130
+ if organization_id is not None:
5131
+ _path_params['organization_id'] = organization_id
5132
+ if solution_id is not None:
5133
+ _path_params['solution_id'] = solution_id
5134
+ # process the query parameters
5135
+ # process the header parameters
5136
+ # process the form parameters
5137
+ # process the body parameter
5138
+ if solution_role is not None:
5139
+ _body_params = solution_role
5140
+
5141
+
5142
+ # set the HTTP header `Accept`
5143
+ _header_params['Accept'] = self.api_client.select_header_accept(
5144
+ [
5145
+ 'application/json'
5146
+ ]
5147
+ )
5148
+
5149
+ # set the HTTP header `Content-Type`
5150
+ if _content_type:
5151
+ _header_params['Content-Type'] = _content_type
5152
+ else:
5153
+ _default_content_type = (
5154
+ self.api_client.select_header_content_type(
5155
+ [
5156
+ 'application/json',
5157
+ 'application/yaml'
5158
+ ]
5159
+ )
5160
+ )
5161
+ if _default_content_type is not None:
5162
+ _header_params['Content-Type'] = _default_content_type
5163
+
5164
+ # authentication setting
5165
+ _auth_settings: List[str] = [
5166
+ 'oAuth2AuthCode'
5167
+ ]
5168
+
5169
+ return self.api_client.param_serialize(
5170
+ method='POST',
5171
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/default',
5172
+ path_params=_path_params,
5173
+ query_params=_query_params,
5174
+ header_params=_header_params,
5175
+ body=_body_params,
5176
+ post_params=_form_params,
5177
+ files=_files,
5178
+ auth_settings=_auth_settings,
5179
+ collection_formats=_collection_formats,
5180
+ _host=_host,
5181
+ _request_auth=_request_auth
5182
+ )
5183
+
5184
+
5185
+
5186
+
5187
+ @validate_call
5188
+ def update_solution(
5189
+ self,
5190
+ organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5191
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5192
+ solution: Annotated[Solution, Field(description="the new Solution details. This endpoint can't be used to update security")],
5193
+ _request_timeout: Union[
5194
+ None,
5195
+ Annotated[StrictFloat, Field(gt=0)],
5196
+ Tuple[
5197
+ Annotated[StrictFloat, Field(gt=0)],
5198
+ Annotated[StrictFloat, Field(gt=0)]
5199
+ ]
5200
+ ] = None,
5201
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5202
+ _content_type: Optional[StrictStr] = None,
5203
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5204
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5205
+ ) -> Solution:
5206
+ """Update a solution
5207
+
5208
+
5209
+ :param organization_id: the Organization identifier (required)
5210
+ :type organization_id: str
5211
+ :param solution_id: the Solution identifier (required)
5212
+ :type solution_id: str
5213
+ :param solution: the new Solution details. This endpoint can't be used to update security (required)
5214
+ :type solution: Solution
5215
+ :param _request_timeout: timeout setting for this request. If one
5216
+ number provided, it will be total request
5217
+ timeout. It can also be a pair (tuple) of
5218
+ (connection, read) timeouts.
5219
+ :type _request_timeout: int, tuple(int, int), optional
5220
+ :param _request_auth: set to override the auth_settings for an a single
5221
+ request; this effectively ignores the
5222
+ authentication in the spec for a single request.
5223
+ :type _request_auth: dict, optional
5224
+ :param _content_type: force content-type for the request.
5225
+ :type _content_type: str, Optional
5226
+ :param _headers: set to override the headers for a single
5227
+ request; this effectively ignores the headers
5228
+ in the spec for a single request.
5229
+ :type _headers: dict, optional
5230
+ :param _host_index: set to override the host_index for a single
5231
+ request; this effectively ignores the host_index
5232
+ in the spec for a single request.
5233
+ :type _host_index: int, optional
5234
+ :return: Returns the result object.
5235
+ """ # noqa: E501
5236
+
5237
+ _param = self._update_solution_serialize(
5238
+ organization_id=organization_id,
5239
+ solution_id=solution_id,
5240
+ solution=solution,
5241
+ _request_auth=_request_auth,
5242
+ _content_type=_content_type,
5243
+ _headers=_headers,
5244
+ _host_index=_host_index
5245
+ )
5246
+
5247
+ _response_types_map: Dict[str, Optional[str]] = {
5248
+ '200': "Solution",
5249
+ '400': None,
5250
+ '404': None,
5251
+ }
5252
+ response_data = self.api_client.call_api(
5253
+ *_param,
5254
+ _request_timeout=_request_timeout
5255
+ )
5256
+ response_data.read()
5257
+ return self.api_client.response_deserialize(
5258
+ response_data=response_data,
5259
+ response_types_map=_response_types_map,
5260
+ ).data
5261
+
5262
+
5263
+ @validate_call
5264
+ def update_solution_with_http_info(
5265
+ self,
5266
+ organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5267
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5268
+ solution: Annotated[Solution, Field(description="the new Solution details. This endpoint can't be used to update security")],
5269
+ _request_timeout: Union[
5270
+ None,
5271
+ Annotated[StrictFloat, Field(gt=0)],
5272
+ Tuple[
5273
+ Annotated[StrictFloat, Field(gt=0)],
5274
+ Annotated[StrictFloat, Field(gt=0)]
5275
+ ]
5276
+ ] = None,
5277
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5278
+ _content_type: Optional[StrictStr] = None,
5279
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5280
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5281
+ ) -> ApiResponse[Solution]:
5282
+ """Update a solution
5283
+
5284
+
5285
+ :param organization_id: the Organization identifier (required)
5286
+ :type organization_id: str
5287
+ :param solution_id: the Solution identifier (required)
5288
+ :type solution_id: str
5289
+ :param solution: the new Solution details. This endpoint can't be used to update security (required)
5290
+ :type solution: Solution
5291
+ :param _request_timeout: timeout setting for this request. If one
5292
+ number provided, it will be total request
5293
+ timeout. It can also be a pair (tuple) of
5294
+ (connection, read) timeouts.
5295
+ :type _request_timeout: int, tuple(int, int), optional
5296
+ :param _request_auth: set to override the auth_settings for an a single
5297
+ request; this effectively ignores the
5298
+ authentication in the spec for a single request.
5299
+ :type _request_auth: dict, optional
5300
+ :param _content_type: force content-type for the request.
5301
+ :type _content_type: str, Optional
5302
+ :param _headers: set to override the headers for a single
5303
+ request; this effectively ignores the headers
5304
+ in the spec for a single request.
5305
+ :type _headers: dict, optional
5306
+ :param _host_index: set to override the host_index for a single
5307
+ request; this effectively ignores the host_index
5308
+ in the spec for a single request.
5309
+ :type _host_index: int, optional
5310
+ :return: Returns the result object.
5311
+ """ # noqa: E501
5312
+
5313
+ _param = self._update_solution_serialize(
5314
+ organization_id=organization_id,
5315
+ solution_id=solution_id,
5316
+ solution=solution,
5317
+ _request_auth=_request_auth,
5318
+ _content_type=_content_type,
5319
+ _headers=_headers,
5320
+ _host_index=_host_index
5321
+ )
5322
+
5323
+ _response_types_map: Dict[str, Optional[str]] = {
5324
+ '200': "Solution",
5325
+ '400': None,
5326
+ '404': None,
5327
+ }
5328
+ response_data = self.api_client.call_api(
5329
+ *_param,
5330
+ _request_timeout=_request_timeout
5331
+ )
5332
+ response_data.read()
5333
+ return self.api_client.response_deserialize(
5334
+ response_data=response_data,
5335
+ response_types_map=_response_types_map,
5336
+ )
5337
+
5338
+
5339
+ @validate_call
5340
+ def update_solution_without_preload_content(
5341
+ self,
5342
+ organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5343
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5344
+ solution: Annotated[Solution, Field(description="the new Solution details. This endpoint can't be used to update security")],
5345
+ _request_timeout: Union[
5346
+ None,
5347
+ Annotated[StrictFloat, Field(gt=0)],
5348
+ Tuple[
5349
+ Annotated[StrictFloat, Field(gt=0)],
5350
+ Annotated[StrictFloat, Field(gt=0)]
5351
+ ]
5352
+ ] = None,
5353
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5354
+ _content_type: Optional[StrictStr] = None,
5355
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5356
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5357
+ ) -> RESTResponseType:
5358
+ """Update a solution
5359
+
5360
+
5361
+ :param organization_id: the Organization identifier (required)
5362
+ :type organization_id: str
5363
+ :param solution_id: the Solution identifier (required)
5364
+ :type solution_id: str
5365
+ :param solution: the new Solution details. This endpoint can't be used to update security (required)
5366
+ :type solution: Solution
5367
+ :param _request_timeout: timeout setting for this request. If one
5368
+ number provided, it will be total request
5369
+ timeout. It can also be a pair (tuple) of
5370
+ (connection, read) timeouts.
5371
+ :type _request_timeout: int, tuple(int, int), optional
5372
+ :param _request_auth: set to override the auth_settings for an a single
5373
+ request; this effectively ignores the
5374
+ authentication in the spec for a single request.
5375
+ :type _request_auth: dict, optional
5376
+ :param _content_type: force content-type for the request.
5377
+ :type _content_type: str, Optional
5378
+ :param _headers: set to override the headers for a single
5379
+ request; this effectively ignores the headers
5380
+ in the spec for a single request.
5381
+ :type _headers: dict, optional
5382
+ :param _host_index: set to override the host_index for a single
5383
+ request; this effectively ignores the host_index
5384
+ in the spec for a single request.
5385
+ :type _host_index: int, optional
5386
+ :return: Returns the result object.
5387
+ """ # noqa: E501
5388
+
5389
+ _param = self._update_solution_serialize(
5390
+ organization_id=organization_id,
5391
+ solution_id=solution_id,
5392
+ solution=solution,
5393
+ _request_auth=_request_auth,
5394
+ _content_type=_content_type,
5395
+ _headers=_headers,
5396
+ _host_index=_host_index
5397
+ )
5398
+
5399
+ _response_types_map: Dict[str, Optional[str]] = {
5400
+ '200': "Solution",
5401
+ '400': None,
5402
+ '404': None,
5403
+ }
5404
+ response_data = self.api_client.call_api(
5405
+ *_param,
5406
+ _request_timeout=_request_timeout
5407
+ )
5408
+ return response_data.response
5409
+
5410
+
5411
+ def _update_solution_serialize(
5412
+ self,
5413
+ organization_id,
5414
+ solution_id,
5415
+ solution,
5416
+ _request_auth,
5417
+ _content_type,
5418
+ _headers,
5419
+ _host_index,
5420
+ ) -> RequestSerialized:
5421
+
5422
+ _host = None
5423
+
5424
+ _collection_formats: Dict[str, str] = {
5425
+ }
5426
+
5427
+ _path_params: Dict[str, str] = {}
5428
+ _query_params: List[Tuple[str, str]] = []
5429
+ _header_params: Dict[str, Optional[str]] = _headers or {}
5430
+ _form_params: List[Tuple[str, str]] = []
5431
+ _files: Dict[str, str] = {}
5432
+ _body_params: Optional[bytes] = None
5433
+
5434
+ # process the path parameters
5435
+ if organization_id is not None:
5436
+ _path_params['organization_id'] = organization_id
5437
+ if solution_id is not None:
5438
+ _path_params['solution_id'] = solution_id
5439
+ # process the query parameters
5440
+ # process the header parameters
5441
+ # process the form parameters
5442
+ # process the body parameter
5443
+ if solution is not None:
5444
+ _body_params = solution
5445
+
5446
+
5447
+ # set the HTTP header `Accept`
5448
+ _header_params['Accept'] = self.api_client.select_header_accept(
5449
+ [
5450
+ 'application/json'
5451
+ ]
5452
+ )
5453
+
5454
+ # set the HTTP header `Content-Type`
5455
+ if _content_type:
5456
+ _header_params['Content-Type'] = _content_type
5457
+ else:
5458
+ _default_content_type = (
5459
+ self.api_client.select_header_content_type(
5460
+ [
5461
+ 'application/json',
5462
+ 'application/yaml'
5463
+ ]
5464
+ )
5465
+ )
5466
+ if _default_content_type is not None:
5467
+ _header_params['Content-Type'] = _default_content_type
5468
+
5469
+ # authentication setting
5470
+ _auth_settings: List[str] = [
5471
+ 'oAuth2AuthCode'
5472
+ ]
5473
+
5474
+ return self.api_client.param_serialize(
5475
+ method='PATCH',
5476
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}',
5477
+ path_params=_path_params,
5478
+ query_params=_query_params,
5479
+ header_params=_header_params,
5480
+ body=_body_params,
5481
+ post_params=_form_params,
5482
+ files=_files,
5483
+ auth_settings=_auth_settings,
5484
+ collection_formats=_collection_formats,
5485
+ _host=_host,
5486
+ _request_auth=_request_auth
5487
+ )
5488
+
5489
+
5490
+
5491
+
5492
+ @validate_call
5493
+ def update_solution_access_control(
5494
+ self,
5495
+ organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5496
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5497
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
5498
+ solution_role: Annotated[SolutionRole, Field(description="The new Solution Access Control")],
5499
+ _request_timeout: Union[
5500
+ None,
5501
+ Annotated[StrictFloat, Field(gt=0)],
5502
+ Tuple[
5503
+ Annotated[StrictFloat, Field(gt=0)],
5504
+ Annotated[StrictFloat, Field(gt=0)]
5505
+ ]
5506
+ ] = None,
5507
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5508
+ _content_type: Optional[StrictStr] = None,
5509
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5510
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5511
+ ) -> SolutionAccessControl:
5512
+ """Update the specified access to User for a Solution
5513
+
5514
+
5515
+ :param organization_id: the Organization identifier (required)
5516
+ :type organization_id: str
5517
+ :param solution_id: the Solution identifier (required)
5518
+ :type solution_id: str
5519
+ :param identity_id: the User identifier (required)
5520
+ :type identity_id: str
5521
+ :param solution_role: The new Solution Access Control (required)
5522
+ :type solution_role: SolutionRole
5523
+ :param _request_timeout: timeout setting for this request. If one
5524
+ number provided, it will be total request
5525
+ timeout. It can also be a pair (tuple) of
5526
+ (connection, read) timeouts.
5527
+ :type _request_timeout: int, tuple(int, int), optional
5528
+ :param _request_auth: set to override the auth_settings for an a single
5529
+ request; this effectively ignores the
5530
+ authentication in the spec for a single request.
5531
+ :type _request_auth: dict, optional
5532
+ :param _content_type: force content-type for the request.
5533
+ :type _content_type: str, Optional
5534
+ :param _headers: set to override the headers for a single
5535
+ request; this effectively ignores the headers
5536
+ in the spec for a single request.
5537
+ :type _headers: dict, optional
5538
+ :param _host_index: set to override the host_index for a single
5539
+ request; this effectively ignores the host_index
5540
+ in the spec for a single request.
5541
+ :type _host_index: int, optional
5542
+ :return: Returns the result object.
5543
+ """ # noqa: E501
5544
+
5545
+ _param = self._update_solution_access_control_serialize(
5546
+ organization_id=organization_id,
5547
+ solution_id=solution_id,
5548
+ identity_id=identity_id,
5549
+ solution_role=solution_role,
5550
+ _request_auth=_request_auth,
5551
+ _content_type=_content_type,
5552
+ _headers=_headers,
5553
+ _host_index=_host_index
5554
+ )
5555
+
5556
+ _response_types_map: Dict[str, Optional[str]] = {
5557
+ '200': "SolutionAccessControl",
5558
+ '404': None,
5559
+ }
5560
+ response_data = self.api_client.call_api(
5561
+ *_param,
5562
+ _request_timeout=_request_timeout
5563
+ )
5564
+ response_data.read()
5565
+ return self.api_client.response_deserialize(
5566
+ response_data=response_data,
5567
+ response_types_map=_response_types_map,
5568
+ ).data
5569
+
5570
+
5571
+ @validate_call
5572
+ def update_solution_access_control_with_http_info(
5573
+ self,
5574
+ organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5575
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5576
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
5577
+ solution_role: Annotated[SolutionRole, Field(description="The new Solution Access Control")],
5578
+ _request_timeout: Union[
5579
+ None,
5580
+ Annotated[StrictFloat, Field(gt=0)],
5581
+ Tuple[
5582
+ Annotated[StrictFloat, Field(gt=0)],
5583
+ Annotated[StrictFloat, Field(gt=0)]
5584
+ ]
5585
+ ] = None,
5586
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5587
+ _content_type: Optional[StrictStr] = None,
5588
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5589
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5590
+ ) -> ApiResponse[SolutionAccessControl]:
5591
+ """Update the specified access to User for a Solution
4979
5592
 
4980
5593
 
4981
5594
  :param organization_id: the Organization identifier (required)
4982
5595
  :type organization_id: str
4983
5596
  :param solution_id: the Solution identifier (required)
4984
5597
  :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
5598
+ :param identity_id: the User identifier (required)
5599
+ :type identity_id: str
5600
+ :param solution_role: The new Solution Access Control (required)
5601
+ :type solution_role: SolutionRole
4987
5602
  :param _request_timeout: timeout setting for this request. If one
4988
5603
  number provided, it will be total request
4989
5604
  timeout. It can also be a pair (tuple) of
@@ -5006,10 +5621,11 @@ class SolutionApi:
5006
5621
  :return: Returns the result object.
5007
5622
  """ # noqa: E501
5008
5623
 
5009
- _param = self._update_solution_serialize(
5624
+ _param = self._update_solution_access_control_serialize(
5010
5625
  organization_id=organization_id,
5011
5626
  solution_id=solution_id,
5012
- solution=solution,
5627
+ identity_id=identity_id,
5628
+ solution_role=solution_role,
5013
5629
  _request_auth=_request_auth,
5014
5630
  _content_type=_content_type,
5015
5631
  _headers=_headers,
@@ -5017,8 +5633,7 @@ class SolutionApi:
5017
5633
  )
5018
5634
 
5019
5635
  _response_types_map: Dict[str, Optional[str]] = {
5020
- '200': "Solution",
5021
- '400': None,
5636
+ '200': "SolutionAccessControl",
5022
5637
  '404': None,
5023
5638
  }
5024
5639
  response_data = self.api_client.call_api(
@@ -5033,11 +5648,12 @@ class SolutionApi:
5033
5648
 
5034
5649
 
5035
5650
  @validate_call
5036
- def update_solution_without_preload_content(
5651
+ def update_solution_access_control_without_preload_content(
5037
5652
  self,
5038
5653
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5039
5654
  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")],
5655
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
5656
+ solution_role: Annotated[SolutionRole, Field(description="The new Solution Access Control")],
5041
5657
  _request_timeout: Union[
5042
5658
  None,
5043
5659
  Annotated[StrictFloat, Field(gt=0)],
@@ -5051,15 +5667,17 @@ class SolutionApi:
5051
5667
  _headers: Optional[Dict[StrictStr, Any]] = None,
5052
5668
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5053
5669
  ) -> RESTResponseType:
5054
- """Update a solution
5670
+ """Update the specified access to User for a Solution
5055
5671
 
5056
5672
 
5057
5673
  :param organization_id: the Organization identifier (required)
5058
5674
  :type organization_id: str
5059
5675
  :param solution_id: the Solution identifier (required)
5060
5676
  :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
5677
+ :param identity_id: the User identifier (required)
5678
+ :type identity_id: str
5679
+ :param solution_role: The new Solution Access Control (required)
5680
+ :type solution_role: SolutionRole
5063
5681
  :param _request_timeout: timeout setting for this request. If one
5064
5682
  number provided, it will be total request
5065
5683
  timeout. It can also be a pair (tuple) of
@@ -5082,10 +5700,11 @@ class SolutionApi:
5082
5700
  :return: Returns the result object.
5083
5701
  """ # noqa: E501
5084
5702
 
5085
- _param = self._update_solution_serialize(
5703
+ _param = self._update_solution_access_control_serialize(
5086
5704
  organization_id=organization_id,
5087
5705
  solution_id=solution_id,
5088
- solution=solution,
5706
+ identity_id=identity_id,
5707
+ solution_role=solution_role,
5089
5708
  _request_auth=_request_auth,
5090
5709
  _content_type=_content_type,
5091
5710
  _headers=_headers,
@@ -5093,8 +5712,7 @@ class SolutionApi:
5093
5712
  )
5094
5713
 
5095
5714
  _response_types_map: Dict[str, Optional[str]] = {
5096
- '200': "Solution",
5097
- '400': None,
5715
+ '200': "SolutionAccessControl",
5098
5716
  '404': None,
5099
5717
  }
5100
5718
  response_data = self.api_client.call_api(
@@ -5104,11 +5722,12 @@ class SolutionApi:
5104
5722
  return response_data.response
5105
5723
 
5106
5724
 
5107
- def _update_solution_serialize(
5725
+ def _update_solution_access_control_serialize(
5108
5726
  self,
5109
5727
  organization_id,
5110
5728
  solution_id,
5111
- solution,
5729
+ identity_id,
5730
+ solution_role,
5112
5731
  _request_auth,
5113
5732
  _content_type,
5114
5733
  _headers,
@@ -5132,12 +5751,14 @@ class SolutionApi:
5132
5751
  _path_params['organization_id'] = organization_id
5133
5752
  if solution_id is not None:
5134
5753
  _path_params['solution_id'] = solution_id
5754
+ if identity_id is not None:
5755
+ _path_params['identity_id'] = identity_id
5135
5756
  # process the query parameters
5136
5757
  # process the header parameters
5137
5758
  # process the form parameters
5138
5759
  # process the body parameter
5139
- if solution is not None:
5140
- _body_params = solution
5760
+ if solution_role is not None:
5761
+ _body_params = solution_role
5141
5762
 
5142
5763
 
5143
5764
  # set the HTTP header `Accept`
@@ -5154,8 +5775,7 @@ class SolutionApi:
5154
5775
  _default_content_type = (
5155
5776
  self.api_client.select_header_content_type(
5156
5777
  [
5157
- 'application/json',
5158
- 'application/yaml'
5778
+ 'application/json'
5159
5779
  ]
5160
5780
  )
5161
5781
  )
@@ -5169,7 +5789,7 @@ class SolutionApi:
5169
5789
 
5170
5790
  return self.api_client.param_serialize(
5171
5791
  method='PATCH',
5172
- resource_path='/organizations/{organization_id}/solutions/{solution_id}',
5792
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/access/{identity_id}',
5173
5793
  path_params=_path_params,
5174
5794
  query_params=_query_params,
5175
5795
  header_params=_header_params,
@@ -5186,12 +5806,12 @@ class SolutionApi:
5186
5806
 
5187
5807
 
5188
5808
  @validate_call
5189
- def update_solution_access_control(
5809
+ def update_solution_run_template(
5190
5810
  self,
5191
5811
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5192
5812
  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")],
5813
+ run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
5814
+ run_template: Annotated[RunTemplate, Field(description="the Run Templates")],
5195
5815
  _request_timeout: Union[
5196
5816
  None,
5197
5817
  Annotated[StrictFloat, Field(gt=0)],
@@ -5204,18 +5824,18 @@ class SolutionApi:
5204
5824
  _content_type: Optional[StrictStr] = None,
5205
5825
  _headers: Optional[Dict[StrictStr, Any]] = None,
5206
5826
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5207
- ) -> SolutionAccessControl:
5208
- """Update the specified access to User for a Solution
5827
+ ) -> List[RunTemplate]:
5828
+ """Update the specified Solution Run Template
5209
5829
 
5210
5830
 
5211
5831
  :param organization_id: the Organization identifier (required)
5212
5832
  :type organization_id: str
5213
5833
  :param solution_id: the Solution identifier (required)
5214
5834
  :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
5835
+ :param run_template_id: the Run Template identifier (required)
5836
+ :type run_template_id: str
5837
+ :param run_template: the Run Templates (required)
5838
+ :type run_template: RunTemplate
5219
5839
  :param _request_timeout: timeout setting for this request. If one
5220
5840
  number provided, it will be total request
5221
5841
  timeout. It can also be a pair (tuple) of
@@ -5238,11 +5858,11 @@ class SolutionApi:
5238
5858
  :return: Returns the result object.
5239
5859
  """ # noqa: E501
5240
5860
 
5241
- _param = self._update_solution_access_control_serialize(
5861
+ _param = self._update_solution_run_template_serialize(
5242
5862
  organization_id=organization_id,
5243
5863
  solution_id=solution_id,
5244
- identity_id=identity_id,
5245
- solution_role=solution_role,
5864
+ run_template_id=run_template_id,
5865
+ run_template=run_template,
5246
5866
  _request_auth=_request_auth,
5247
5867
  _content_type=_content_type,
5248
5868
  _headers=_headers,
@@ -5250,7 +5870,8 @@ class SolutionApi:
5250
5870
  )
5251
5871
 
5252
5872
  _response_types_map: Dict[str, Optional[str]] = {
5253
- '200': "SolutionAccessControl",
5873
+ '200': "List[RunTemplate]",
5874
+ '400': None,
5254
5875
  '404': None,
5255
5876
  }
5256
5877
  response_data = self.api_client.call_api(
@@ -5265,12 +5886,12 @@ class SolutionApi:
5265
5886
 
5266
5887
 
5267
5888
  @validate_call
5268
- def update_solution_access_control_with_http_info(
5889
+ def update_solution_run_template_with_http_info(
5269
5890
  self,
5270
5891
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5271
5892
  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")],
5893
+ run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
5894
+ run_template: Annotated[RunTemplate, Field(description="the Run Templates")],
5274
5895
  _request_timeout: Union[
5275
5896
  None,
5276
5897
  Annotated[StrictFloat, Field(gt=0)],
@@ -5283,18 +5904,18 @@ class SolutionApi:
5283
5904
  _content_type: Optional[StrictStr] = None,
5284
5905
  _headers: Optional[Dict[StrictStr, Any]] = None,
5285
5906
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5286
- ) -> ApiResponse[SolutionAccessControl]:
5287
- """Update the specified access to User for a Solution
5907
+ ) -> ApiResponse[List[RunTemplate]]:
5908
+ """Update the specified Solution Run Template
5288
5909
 
5289
5910
 
5290
5911
  :param organization_id: the Organization identifier (required)
5291
5912
  :type organization_id: str
5292
5913
  :param solution_id: the Solution identifier (required)
5293
5914
  :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
5915
+ :param run_template_id: the Run Template identifier (required)
5916
+ :type run_template_id: str
5917
+ :param run_template: the Run Templates (required)
5918
+ :type run_template: RunTemplate
5298
5919
  :param _request_timeout: timeout setting for this request. If one
5299
5920
  number provided, it will be total request
5300
5921
  timeout. It can also be a pair (tuple) of
@@ -5317,11 +5938,11 @@ class SolutionApi:
5317
5938
  :return: Returns the result object.
5318
5939
  """ # noqa: E501
5319
5940
 
5320
- _param = self._update_solution_access_control_serialize(
5941
+ _param = self._update_solution_run_template_serialize(
5321
5942
  organization_id=organization_id,
5322
5943
  solution_id=solution_id,
5323
- identity_id=identity_id,
5324
- solution_role=solution_role,
5944
+ run_template_id=run_template_id,
5945
+ run_template=run_template,
5325
5946
  _request_auth=_request_auth,
5326
5947
  _content_type=_content_type,
5327
5948
  _headers=_headers,
@@ -5329,7 +5950,8 @@ class SolutionApi:
5329
5950
  )
5330
5951
 
5331
5952
  _response_types_map: Dict[str, Optional[str]] = {
5332
- '200': "SolutionAccessControl",
5953
+ '200': "List[RunTemplate]",
5954
+ '400': None,
5333
5955
  '404': None,
5334
5956
  }
5335
5957
  response_data = self.api_client.call_api(
@@ -5344,12 +5966,12 @@ class SolutionApi:
5344
5966
 
5345
5967
 
5346
5968
  @validate_call
5347
- def update_solution_access_control_without_preload_content(
5969
+ def update_solution_run_template_without_preload_content(
5348
5970
  self,
5349
5971
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5350
5972
  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")],
5973
+ run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
5974
+ run_template: Annotated[RunTemplate, Field(description="the Run Templates")],
5353
5975
  _request_timeout: Union[
5354
5976
  None,
5355
5977
  Annotated[StrictFloat, Field(gt=0)],
@@ -5363,17 +5985,17 @@ class SolutionApi:
5363
5985
  _headers: Optional[Dict[StrictStr, Any]] = None,
5364
5986
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5365
5987
  ) -> RESTResponseType:
5366
- """Update the specified access to User for a Solution
5988
+ """Update the specified Solution Run Template
5367
5989
 
5368
5990
 
5369
5991
  :param organization_id: the Organization identifier (required)
5370
5992
  :type organization_id: str
5371
5993
  :param solution_id: the Solution identifier (required)
5372
5994
  :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
5995
+ :param run_template_id: the Run Template identifier (required)
5996
+ :type run_template_id: str
5997
+ :param run_template: the Run Templates (required)
5998
+ :type run_template: RunTemplate
5377
5999
  :param _request_timeout: timeout setting for this request. If one
5378
6000
  number provided, it will be total request
5379
6001
  timeout. It can also be a pair (tuple) of
@@ -5396,11 +6018,11 @@ class SolutionApi:
5396
6018
  :return: Returns the result object.
5397
6019
  """ # noqa: E501
5398
6020
 
5399
- _param = self._update_solution_access_control_serialize(
6021
+ _param = self._update_solution_run_template_serialize(
5400
6022
  organization_id=organization_id,
5401
6023
  solution_id=solution_id,
5402
- identity_id=identity_id,
5403
- solution_role=solution_role,
6024
+ run_template_id=run_template_id,
6025
+ run_template=run_template,
5404
6026
  _request_auth=_request_auth,
5405
6027
  _content_type=_content_type,
5406
6028
  _headers=_headers,
@@ -5408,7 +6030,8 @@ class SolutionApi:
5408
6030
  )
5409
6031
 
5410
6032
  _response_types_map: Dict[str, Optional[str]] = {
5411
- '200': "SolutionAccessControl",
6033
+ '200': "List[RunTemplate]",
6034
+ '400': None,
5412
6035
  '404': None,
5413
6036
  }
5414
6037
  response_data = self.api_client.call_api(
@@ -5418,12 +6041,12 @@ class SolutionApi:
5418
6041
  return response_data.response
5419
6042
 
5420
6043
 
5421
- def _update_solution_access_control_serialize(
6044
+ def _update_solution_run_template_serialize(
5422
6045
  self,
5423
6046
  organization_id,
5424
6047
  solution_id,
5425
- identity_id,
5426
- solution_role,
6048
+ run_template_id,
6049
+ run_template,
5427
6050
  _request_auth,
5428
6051
  _content_type,
5429
6052
  _headers,
@@ -5447,14 +6070,14 @@ class SolutionApi:
5447
6070
  _path_params['organization_id'] = organization_id
5448
6071
  if solution_id is not None:
5449
6072
  _path_params['solution_id'] = solution_id
5450
- if identity_id is not None:
5451
- _path_params['identity_id'] = identity_id
6073
+ if run_template_id is not None:
6074
+ _path_params['run_template_id'] = run_template_id
5452
6075
  # process the query parameters
5453
6076
  # process the header parameters
5454
6077
  # process the form parameters
5455
6078
  # process the body parameter
5456
- if solution_role is not None:
5457
- _body_params = solution_role
6079
+ if run_template is not None:
6080
+ _body_params = run_template
5458
6081
 
5459
6082
 
5460
6083
  # set the HTTP header `Accept`
@@ -5471,7 +6094,8 @@ class SolutionApi:
5471
6094
  _default_content_type = (
5472
6095
  self.api_client.select_header_content_type(
5473
6096
  [
5474
- 'application/json'
6097
+ 'application/json',
6098
+ 'application/yaml'
5475
6099
  ]
5476
6100
  )
5477
6101
  )
@@ -5485,7 +6109,7 @@ class SolutionApi:
5485
6109
 
5486
6110
  return self.api_client.param_serialize(
5487
6111
  method='PATCH',
5488
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/access/{identity_id}',
6112
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/runTemplates/{run_template_id}',
5489
6113
  path_params=_path_params,
5490
6114
  query_params=_query_params,
5491
6115
  header_params=_header_params,
@@ -5502,12 +6126,14 @@ class SolutionApi:
5502
6126
 
5503
6127
 
5504
6128
  @validate_call
5505
- def update_solution_run_template(
6129
+ def upload_run_template_handler(
5506
6130
  self,
5507
6131
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5508
6132
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5509
6133
  run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
5510
- run_template: Annotated[RunTemplate, Field(description="the Run Templates")],
6134
+ handler_id: Annotated[RunTemplateHandlerId, Field(description="the Handler identifier")],
6135
+ body: Union[StrictBytes, StrictStr],
6136
+ overwrite: Annotated[Optional[StrictBool], Field(description="whether to overwrite any existing handler resource")] = None,
5511
6137
  _request_timeout: Union[
5512
6138
  None,
5513
6139
  Annotated[StrictFloat, Field(gt=0)],
@@ -5520,8 +6146,8 @@ class SolutionApi:
5520
6146
  _content_type: Optional[StrictStr] = None,
5521
6147
  _headers: Optional[Dict[StrictStr, Any]] = None,
5522
6148
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5523
- ) -> List[RunTemplate]:
5524
- """Update the specified Solution Run Template
6149
+ ) -> None:
6150
+ """Upload a Run Template step handler zip file
5525
6151
 
5526
6152
 
5527
6153
  :param organization_id: the Organization identifier (required)
@@ -5530,8 +6156,12 @@ class SolutionApi:
5530
6156
  :type solution_id: str
5531
6157
  :param run_template_id: the Run Template identifier (required)
5532
6158
  :type run_template_id: str
5533
- :param run_template: the Run Templates (required)
5534
- :type run_template: RunTemplate
6159
+ :param handler_id: the Handler identifier (required)
6160
+ :type handler_id: RunTemplateHandlerId
6161
+ :param body: (required)
6162
+ :type body: bytearray
6163
+ :param overwrite: whether to overwrite any existing handler resource
6164
+ :type overwrite: bool
5535
6165
  :param _request_timeout: timeout setting for this request. If one
5536
6166
  number provided, it will be total request
5537
6167
  timeout. It can also be a pair (tuple) of
@@ -5554,11 +6184,13 @@ class SolutionApi:
5554
6184
  :return: Returns the result object.
5555
6185
  """ # noqa: E501
5556
6186
 
5557
- _param = self._update_solution_run_template_serialize(
6187
+ _param = self._upload_run_template_handler_serialize(
5558
6188
  organization_id=organization_id,
5559
6189
  solution_id=solution_id,
5560
6190
  run_template_id=run_template_id,
5561
- run_template=run_template,
6191
+ handler_id=handler_id,
6192
+ body=body,
6193
+ overwrite=overwrite,
5562
6194
  _request_auth=_request_auth,
5563
6195
  _content_type=_content_type,
5564
6196
  _headers=_headers,
@@ -5566,9 +6198,8 @@ class SolutionApi:
5566
6198
  )
5567
6199
 
5568
6200
  _response_types_map: Dict[str, Optional[str]] = {
5569
- '200': "List[RunTemplate]",
6201
+ '201': None,
5570
6202
  '400': None,
5571
- '404': None,
5572
6203
  }
5573
6204
  response_data = self.api_client.call_api(
5574
6205
  *_param,
@@ -5582,12 +6213,14 @@ class SolutionApi:
5582
6213
 
5583
6214
 
5584
6215
  @validate_call
5585
- def update_solution_run_template_with_http_info(
6216
+ def upload_run_template_handler_with_http_info(
5586
6217
  self,
5587
6218
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5588
6219
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5589
6220
  run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
5590
- run_template: Annotated[RunTemplate, Field(description="the Run Templates")],
6221
+ handler_id: Annotated[RunTemplateHandlerId, Field(description="the Handler identifier")],
6222
+ body: Union[StrictBytes, StrictStr],
6223
+ overwrite: Annotated[Optional[StrictBool], Field(description="whether to overwrite any existing handler resource")] = None,
5591
6224
  _request_timeout: Union[
5592
6225
  None,
5593
6226
  Annotated[StrictFloat, Field(gt=0)],
@@ -5600,8 +6233,8 @@ class SolutionApi:
5600
6233
  _content_type: Optional[StrictStr] = None,
5601
6234
  _headers: Optional[Dict[StrictStr, Any]] = None,
5602
6235
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5603
- ) -> ApiResponse[List[RunTemplate]]:
5604
- """Update the specified Solution Run Template
6236
+ ) -> ApiResponse[None]:
6237
+ """Upload a Run Template step handler zip file
5605
6238
 
5606
6239
 
5607
6240
  :param organization_id: the Organization identifier (required)
@@ -5610,8 +6243,12 @@ class SolutionApi:
5610
6243
  :type solution_id: str
5611
6244
  :param run_template_id: the Run Template identifier (required)
5612
6245
  :type run_template_id: str
5613
- :param run_template: the Run Templates (required)
5614
- :type run_template: RunTemplate
6246
+ :param handler_id: the Handler identifier (required)
6247
+ :type handler_id: RunTemplateHandlerId
6248
+ :param body: (required)
6249
+ :type body: bytearray
6250
+ :param overwrite: whether to overwrite any existing handler resource
6251
+ :type overwrite: bool
5615
6252
  :param _request_timeout: timeout setting for this request. If one
5616
6253
  number provided, it will be total request
5617
6254
  timeout. It can also be a pair (tuple) of
@@ -5634,11 +6271,13 @@ class SolutionApi:
5634
6271
  :return: Returns the result object.
5635
6272
  """ # noqa: E501
5636
6273
 
5637
- _param = self._update_solution_run_template_serialize(
6274
+ _param = self._upload_run_template_handler_serialize(
5638
6275
  organization_id=organization_id,
5639
6276
  solution_id=solution_id,
5640
6277
  run_template_id=run_template_id,
5641
- run_template=run_template,
6278
+ handler_id=handler_id,
6279
+ body=body,
6280
+ overwrite=overwrite,
5642
6281
  _request_auth=_request_auth,
5643
6282
  _content_type=_content_type,
5644
6283
  _headers=_headers,
@@ -5646,9 +6285,8 @@ class SolutionApi:
5646
6285
  )
5647
6286
 
5648
6287
  _response_types_map: Dict[str, Optional[str]] = {
5649
- '200': "List[RunTemplate]",
6288
+ '201': None,
5650
6289
  '400': None,
5651
- '404': None,
5652
6290
  }
5653
6291
  response_data = self.api_client.call_api(
5654
6292
  *_param,
@@ -5662,12 +6300,14 @@ class SolutionApi:
5662
6300
 
5663
6301
 
5664
6302
  @validate_call
5665
- def update_solution_run_template_without_preload_content(
6303
+ def upload_run_template_handler_without_preload_content(
5666
6304
  self,
5667
6305
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5668
6306
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5669
6307
  run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
5670
- run_template: Annotated[RunTemplate, Field(description="the Run Templates")],
6308
+ handler_id: Annotated[RunTemplateHandlerId, Field(description="the Handler identifier")],
6309
+ body: Union[StrictBytes, StrictStr],
6310
+ overwrite: Annotated[Optional[StrictBool], Field(description="whether to overwrite any existing handler resource")] = None,
5671
6311
  _request_timeout: Union[
5672
6312
  None,
5673
6313
  Annotated[StrictFloat, Field(gt=0)],
@@ -5681,7 +6321,7 @@ class SolutionApi:
5681
6321
  _headers: Optional[Dict[StrictStr, Any]] = None,
5682
6322
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5683
6323
  ) -> RESTResponseType:
5684
- """Update the specified Solution Run Template
6324
+ """Upload a Run Template step handler zip file
5685
6325
 
5686
6326
 
5687
6327
  :param organization_id: the Organization identifier (required)
@@ -5690,8 +6330,12 @@ class SolutionApi:
5690
6330
  :type solution_id: str
5691
6331
  :param run_template_id: the Run Template identifier (required)
5692
6332
  :type run_template_id: str
5693
- :param run_template: the Run Templates (required)
5694
- :type run_template: RunTemplate
6333
+ :param handler_id: the Handler identifier (required)
6334
+ :type handler_id: RunTemplateHandlerId
6335
+ :param body: (required)
6336
+ :type body: bytearray
6337
+ :param overwrite: whether to overwrite any existing handler resource
6338
+ :type overwrite: bool
5695
6339
  :param _request_timeout: timeout setting for this request. If one
5696
6340
  number provided, it will be total request
5697
6341
  timeout. It can also be a pair (tuple) of
@@ -5714,11 +6358,13 @@ class SolutionApi:
5714
6358
  :return: Returns the result object.
5715
6359
  """ # noqa: E501
5716
6360
 
5717
- _param = self._update_solution_run_template_serialize(
6361
+ _param = self._upload_run_template_handler_serialize(
5718
6362
  organization_id=organization_id,
5719
6363
  solution_id=solution_id,
5720
6364
  run_template_id=run_template_id,
5721
- run_template=run_template,
6365
+ handler_id=handler_id,
6366
+ body=body,
6367
+ overwrite=overwrite,
5722
6368
  _request_auth=_request_auth,
5723
6369
  _content_type=_content_type,
5724
6370
  _headers=_headers,
@@ -5726,9 +6372,8 @@ class SolutionApi:
5726
6372
  )
5727
6373
 
5728
6374
  _response_types_map: Dict[str, Optional[str]] = {
5729
- '200': "List[RunTemplate]",
6375
+ '201': None,
5730
6376
  '400': None,
5731
- '404': None,
5732
6377
  }
5733
6378
  response_data = self.api_client.call_api(
5734
6379
  *_param,
@@ -5737,12 +6382,14 @@ class SolutionApi:
5737
6382
  return response_data.response
5738
6383
 
5739
6384
 
5740
- def _update_solution_run_template_serialize(
6385
+ def _upload_run_template_handler_serialize(
5741
6386
  self,
5742
6387
  organization_id,
5743
6388
  solution_id,
5744
6389
  run_template_id,
5745
- run_template,
6390
+ handler_id,
6391
+ body,
6392
+ overwrite,
5746
6393
  _request_auth,
5747
6394
  _content_type,
5748
6395
  _headers,
@@ -5768,20 +6415,25 @@ class SolutionApi:
5768
6415
  _path_params['solution_id'] = solution_id
5769
6416
  if run_template_id is not None:
5770
6417
  _path_params['run_template_id'] = run_template_id
6418
+ if handler_id is not None:
6419
+ _path_params['handler_id'] = handler_id.value
5771
6420
  # process the query parameters
6421
+ if overwrite is not None:
6422
+
6423
+ _query_params.append(('overwrite', overwrite))
6424
+
5772
6425
  # process the header parameters
5773
6426
  # process the form parameters
5774
6427
  # process the body parameter
5775
- if run_template is not None:
5776
- _body_params = run_template
6428
+ if body is not None:
6429
+ # convert to byte array if the input is a file name (str)
6430
+ if isinstance(body, str):
6431
+ with open(body, "rb") as _fp:
6432
+ _body_params = _fp.read()
6433
+ else:
6434
+ _body_params = body
5777
6435
 
5778
6436
 
5779
- # set the HTTP header `Accept`
5780
- _header_params['Accept'] = self.api_client.select_header_accept(
5781
- [
5782
- 'application/json'
5783
- ]
5784
- )
5785
6437
 
5786
6438
  # set the HTTP header `Content-Type`
5787
6439
  if _content_type:
@@ -5790,8 +6442,7 @@ class SolutionApi:
5790
6442
  _default_content_type = (
5791
6443
  self.api_client.select_header_content_type(
5792
6444
  [
5793
- 'application/json',
5794
- 'application/yaml'
6445
+ 'application/octet-stream'
5795
6446
  ]
5796
6447
  )
5797
6448
  )
@@ -5804,8 +6455,8 @@ class SolutionApi:
5804
6455
  ]
5805
6456
 
5806
6457
  return self.api_client.param_serialize(
5807
- method='PATCH',
5808
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/runTemplates/{run_template_id}',
6458
+ method='POST',
6459
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/runtemplates/{run_template_id}/handlers/{handler_id}/upload',
5809
6460
  path_params=_path_params,
5810
6461
  query_params=_query_params,
5811
6462
  header_params=_header_params,