wandelbots_api_client 26.3.0__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.
Files changed (740) hide show
  1. wandelbots_api_client/__init__.py +48 -0
  2. wandelbots_api_client/api/__init__.py +63 -0
  3. wandelbots_api_client/api/application_api.py +1514 -0
  4. wandelbots_api_client/api/cell_api.py +1424 -0
  5. wandelbots_api_client/api/controller_api.py +2951 -0
  6. wandelbots_api_client/api/controller_ios_api.py +1205 -0
  7. wandelbots_api_client/api/coordinate_systems_api.py +1267 -0
  8. wandelbots_api_client/api/device_configuration_api.py +1193 -0
  9. wandelbots_api_client/api/library_program_api.py +1326 -0
  10. wandelbots_api_client/api/library_program_metadata_api.py +1090 -0
  11. wandelbots_api_client/api/library_recipe_api.py +1351 -0
  12. wandelbots_api_client/api/library_recipe_metadata_api.py +1050 -0
  13. wandelbots_api_client/api/license_api.py +865 -0
  14. wandelbots_api_client/api/motion_api.py +3596 -0
  15. wandelbots_api_client/api/motion_group_api.py +956 -0
  16. wandelbots_api_client/api/motion_group_infos_api.py +2611 -0
  17. wandelbots_api_client/api/motion_group_jogging_api.py +685 -0
  18. wandelbots_api_client/api/motion_group_kinematic_api.py +1055 -0
  19. wandelbots_api_client/api/program_api.py +1987 -0
  20. wandelbots_api_client/api/program_operator_api.py +1881 -0
  21. wandelbots_api_client/api/program_values_api.py +1444 -0
  22. wandelbots_api_client/api/store_collision_components_api.py +3074 -0
  23. wandelbots_api_client/api/store_collision_scenes_api.py +951 -0
  24. wandelbots_api_client/api/store_object_api.py +1387 -0
  25. wandelbots_api_client/api/system_api.py +1075 -0
  26. wandelbots_api_client/api/version_api.py +237 -0
  27. wandelbots_api_client/api/virtual_robot_api.py +1583 -0
  28. wandelbots_api_client/api/virtual_robot_behavior_api.py +649 -0
  29. wandelbots_api_client/api/virtual_robot_mode_api.py +1467 -0
  30. wandelbots_api_client/api/virtual_robot_setup_api.py +2116 -0
  31. wandelbots_api_client/api_client.py +688 -0
  32. wandelbots_api_client/api_response.py +20 -0
  33. wandelbots_api_client/authorization.py +243 -0
  34. wandelbots_api_client/configuration.py +579 -0
  35. wandelbots_api_client/exceptions.py +216 -0
  36. wandelbots_api_client/models/__init__.py +316 -0
  37. wandelbots_api_client/models/abb_controller.py +112 -0
  38. wandelbots_api_client/models/abb_controller_egm_server.py +87 -0
  39. wandelbots_api_client/models/activate_license_request.py +86 -0
  40. wandelbots_api_client/models/add_request.py +95 -0
  41. wandelbots_api_client/models/all_joint_positions_request.py +96 -0
  42. wandelbots_api_client/models/all_joint_positions_response.py +109 -0
  43. wandelbots_api_client/models/api_version.py +86 -0
  44. wandelbots_api_client/models/app.py +148 -0
  45. wandelbots_api_client/models/array_input.py +114 -0
  46. wandelbots_api_client/models/array_output.py +116 -0
  47. wandelbots_api_client/models/behavior.py +35 -0
  48. wandelbots_api_client/models/blending_auto.py +99 -0
  49. wandelbots_api_client/models/blending_position.py +97 -0
  50. wandelbots_api_client/models/box.py +98 -0
  51. wandelbots_api_client/models/box2.py +112 -0
  52. wandelbots_api_client/models/box3.py +112 -0
  53. wandelbots_api_client/models/capsule.py +87 -0
  54. wandelbots_api_client/models/capsule2.py +97 -0
  55. wandelbots_api_client/models/capsule3.py +101 -0
  56. wandelbots_api_client/models/capture.py +86 -0
  57. wandelbots_api_client/models/cell.py +142 -0
  58. wandelbots_api_client/models/circle.py +99 -0
  59. wandelbots_api_client/models/code_with_arguments.py +108 -0
  60. wandelbots_api_client/models/collection_value.py +322 -0
  61. wandelbots_api_client/models/collider.py +105 -0
  62. wandelbots_api_client/models/collider_input.py +105 -0
  63. wandelbots_api_client/models/collider_output.py +105 -0
  64. wandelbots_api_client/models/collider_output_shape.py +242 -0
  65. wandelbots_api_client/models/collider_shape.py +280 -0
  66. wandelbots_api_client/models/collision.py +110 -0
  67. wandelbots_api_client/models/collision_contact.py +92 -0
  68. wandelbots_api_client/models/collision_motion_group.py +124 -0
  69. wandelbots_api_client/models/collision_motion_group_assembly.py +128 -0
  70. wandelbots_api_client/models/collision_robot_configuration_input.py +121 -0
  71. wandelbots_api_client/models/collision_robot_configuration_output.py +121 -0
  72. wandelbots_api_client/models/collision_scene.py +117 -0
  73. wandelbots_api_client/models/collision_scene_assembly.py +133 -0
  74. wandelbots_api_client/models/command.py +140 -0
  75. wandelbots_api_client/models/command_settings.py +104 -0
  76. wandelbots_api_client/models/comparator.py +39 -0
  77. wandelbots_api_client/models/compound.py +114 -0
  78. wandelbots_api_client/models/container_environment_inner.py +87 -0
  79. wandelbots_api_client/models/container_image.py +122 -0
  80. wandelbots_api_client/models/container_image_secrets_inner.py +86 -0
  81. wandelbots_api_client/models/container_resources.py +89 -0
  82. wandelbots_api_client/models/container_storage.py +97 -0
  83. wandelbots_api_client/models/controller_capabilities.py +89 -0
  84. wandelbots_api_client/models/controller_instance.py +148 -0
  85. wandelbots_api_client/models/controller_instance_list.py +109 -0
  86. wandelbots_api_client/models/convex_hull.py +109 -0
  87. wandelbots_api_client/models/convex_hull2.py +97 -0
  88. wandelbots_api_client/models/convex_hull3.py +97 -0
  89. wandelbots_api_client/models/coordinate_system.py +108 -0
  90. wandelbots_api_client/models/coordinate_systems.py +109 -0
  91. wandelbots_api_client/models/create_program_run200_response.py +88 -0
  92. wandelbots_api_client/models/create_program_run_request.py +86 -0
  93. wandelbots_api_client/models/create_trigger200_response.py +86 -0
  94. wandelbots_api_client/models/create_trigger_request.py +101 -0
  95. wandelbots_api_client/models/cubic_spline.py +109 -0
  96. wandelbots_api_client/models/cubic_spline_cubic_spline_parameter.py +93 -0
  97. wandelbots_api_client/models/cubic_spline_parameter.py +93 -0
  98. wandelbots_api_client/models/cycle_time.py +86 -0
  99. wandelbots_api_client/models/cylinder.py +87 -0
  100. wandelbots_api_client/models/cylinder2.py +95 -0
  101. wandelbots_api_client/models/cylinder3.py +101 -0
  102. wandelbots_api_client/models/devices_inner.py +321 -0
  103. wandelbots_api_client/models/dh_parameter.py +98 -0
  104. wandelbots_api_client/models/direction.py +34 -0
  105. wandelbots_api_client/models/direction_jogging_request.py +136 -0
  106. wandelbots_api_client/models/error.py +87 -0
  107. wandelbots_api_client/models/execute_trajectory_request.py +182 -0
  108. wandelbots_api_client/models/execute_trajectory_response.py +223 -0
  109. wandelbots_api_client/models/execution_result.py +113 -0
  110. wandelbots_api_client/models/external_joint_stream_datapoint.py +96 -0
  111. wandelbots_api_client/models/external_joint_stream_datapoint_value.py +96 -0
  112. wandelbots_api_client/models/fanuc_controller.py +99 -0
  113. wandelbots_api_client/models/feedback_collision.py +126 -0
  114. wandelbots_api_client/models/feedback_joint_limit_exceeded.py +101 -0
  115. wandelbots_api_client/models/feedback_out_of_workspace.py +103 -0
  116. wandelbots_api_client/models/feedback_singularity.py +102 -0
  117. wandelbots_api_client/models/flag.py +86 -0
  118. wandelbots_api_client/models/force_vector.py +103 -0
  119. wandelbots_api_client/models/geometry.py +167 -0
  120. wandelbots_api_client/models/get_all_program_runs200_response.py +109 -0
  121. wandelbots_api_client/models/get_all_triggers200_response.py +109 -0
  122. wandelbots_api_client/models/get_mode_response.py +87 -0
  123. wandelbots_api_client/models/get_trajectory_response.py +112 -0
  124. wandelbots_api_client/models/get_trajectory_sample_response.py +90 -0
  125. wandelbots_api_client/models/google_protobuf_any.py +102 -0
  126. wandelbots_api_client/models/http_exception_response.py +86 -0
  127. wandelbots_api_client/models/http_validation_error.py +109 -0
  128. wandelbots_api_client/models/http_validation_error2.py +109 -0
  129. wandelbots_api_client/models/image_credentials.py +88 -0
  130. wandelbots_api_client/models/info_service_capabilities.py +110 -0
  131. wandelbots_api_client/models/initialize_movement_request.py +111 -0
  132. wandelbots_api_client/models/initialize_movement_response.py +96 -0
  133. wandelbots_api_client/models/initialize_movement_response_init_response.py +89 -0
  134. wandelbots_api_client/models/io.py +105 -0
  135. wandelbots_api_client/models/io_description.py +156 -0
  136. wandelbots_api_client/models/io_value.py +104 -0
  137. wandelbots_api_client/models/ios.py +109 -0
  138. wandelbots_api_client/models/jogging_response.py +117 -0
  139. wandelbots_api_client/models/jogging_service_capabilities.py +87 -0
  140. wandelbots_api_client/models/joint_jogging_request.py +108 -0
  141. wandelbots_api_client/models/joint_limit.py +123 -0
  142. wandelbots_api_client/models/joint_limit_exceeded.py +96 -0
  143. wandelbots_api_client/models/joint_position_request.py +104 -0
  144. wandelbots_api_client/models/joint_trajectory.py +117 -0
  145. wandelbots_api_client/models/joints.py +86 -0
  146. wandelbots_api_client/models/kinematic_service_capabilities.py +96 -0
  147. wandelbots_api_client/models/kuka_controller.py +112 -0
  148. wandelbots_api_client/models/kuka_controller_rsi_server.py +92 -0
  149. wandelbots_api_client/models/license.py +124 -0
  150. wandelbots_api_client/models/license_status.py +88 -0
  151. wandelbots_api_client/models/license_status_enum.py +37 -0
  152. wandelbots_api_client/models/limit_settings.py +223 -0
  153. wandelbots_api_client/models/limits_override.py +132 -0
  154. wandelbots_api_client/models/list_io_descriptions_response.py +109 -0
  155. wandelbots_api_client/models/list_io_values_response.py +109 -0
  156. wandelbots_api_client/models/list_payloads_response.py +109 -0
  157. wandelbots_api_client/models/list_program_metadata_response.py +109 -0
  158. wandelbots_api_client/models/list_recipe_metadata_response.py +109 -0
  159. wandelbots_api_client/models/list_response.py +109 -0
  160. wandelbots_api_client/models/list_tcps_response.py +112 -0
  161. wandelbots_api_client/models/location_inner.py +153 -0
  162. wandelbots_api_client/models/location_inner1.py +142 -0
  163. wandelbots_api_client/models/manufacturer.py +37 -0
  164. wandelbots_api_client/models/mode_change_response.py +97 -0
  165. wandelbots_api_client/models/motion_command.py +109 -0
  166. wandelbots_api_client/models/motion_command_blending.py +164 -0
  167. wandelbots_api_client/models/motion_command_path.py +221 -0
  168. wandelbots_api_client/models/motion_group_behavior_getter.py +87 -0
  169. wandelbots_api_client/models/motion_group_info.py +88 -0
  170. wandelbots_api_client/models/motion_group_infos.py +109 -0
  171. wandelbots_api_client/models/motion_group_instance.py +101 -0
  172. wandelbots_api_client/models/motion_group_instance_list.py +109 -0
  173. wandelbots_api_client/models/motion_group_joints.py +100 -0
  174. wandelbots_api_client/models/motion_group_physical.py +105 -0
  175. wandelbots_api_client/models/motion_group_specification.py +136 -0
  176. wandelbots_api_client/models/motion_group_state.py +180 -0
  177. wandelbots_api_client/models/motion_group_state_joint_limit_reached.py +86 -0
  178. wandelbots_api_client/models/motion_group_state_response.py +103 -0
  179. wandelbots_api_client/models/motion_id.py +88 -0
  180. wandelbots_api_client/models/motion_ids_list_response.py +89 -0
  181. wandelbots_api_client/models/motion_vector.py +103 -0
  182. wandelbots_api_client/models/mounting.py +98 -0
  183. wandelbots_api_client/models/move_request.py +162 -0
  184. wandelbots_api_client/models/move_response.py +91 -0
  185. wandelbots_api_client/models/move_to_trajectory_via_joint_ptp_request.py +107 -0
  186. wandelbots_api_client/models/movement.py +90 -0
  187. wandelbots_api_client/models/movement_error.py +90 -0
  188. wandelbots_api_client/models/movement_error_error.py +86 -0
  189. wandelbots_api_client/models/movement_movement.py +98 -0
  190. wandelbots_api_client/models/op_mode.py +93 -0
  191. wandelbots_api_client/models/opcua_node_value_trigger_config.py +100 -0
  192. wandelbots_api_client/models/opcua_node_value_trigger_config_node_value.py +159 -0
  193. wandelbots_api_client/models/optimizer_setup.py +145 -0
  194. wandelbots_api_client/models/out_of_workspace.py +92 -0
  195. wandelbots_api_client/models/path.py +109 -0
  196. wandelbots_api_client/models/path_cartesian_ptp.py +103 -0
  197. wandelbots_api_client/models/path_circle.py +108 -0
  198. wandelbots_api_client/models/path_cubic_spline.py +118 -0
  199. wandelbots_api_client/models/path_joint_ptp.py +96 -0
  200. wandelbots_api_client/models/path_line.py +103 -0
  201. wandelbots_api_client/models/pause_movement_request.py +95 -0
  202. wandelbots_api_client/models/pause_movement_response.py +96 -0
  203. wandelbots_api_client/models/pause_movement_response_pause_response.py +89 -0
  204. wandelbots_api_client/models/pause_on_io.py +96 -0
  205. wandelbots_api_client/models/payload.py +103 -0
  206. wandelbots_api_client/models/plan_collision_free_ptp_request.py +131 -0
  207. wandelbots_api_client/models/plan_collision_free_ptp_request_target.py +150 -0
  208. wandelbots_api_client/models/plan_failed_on_trajectory_response.py +149 -0
  209. wandelbots_api_client/models/plan_failed_response.py +136 -0
  210. wandelbots_api_client/models/plan_request.py +127 -0
  211. wandelbots_api_client/models/plan_response.py +112 -0
  212. wandelbots_api_client/models/plan_successful_response.py +100 -0
  213. wandelbots_api_client/models/plan_trajectory_failed_response.py +106 -0
  214. wandelbots_api_client/models/plan_trajectory_failed_response_error_feedback.py +209 -0
  215. wandelbots_api_client/models/plan_trajectory_request.py +154 -0
  216. wandelbots_api_client/models/plan_trajectory_response.py +92 -0
  217. wandelbots_api_client/models/plan_trajectory_response_response.py +147 -0
  218. wandelbots_api_client/models/plane2.py +93 -0
  219. wandelbots_api_client/models/plane3.py +93 -0
  220. wandelbots_api_client/models/planned_motion.py +125 -0
  221. wandelbots_api_client/models/planner_pose.py +100 -0
  222. wandelbots_api_client/models/planning_limits.py +168 -0
  223. wandelbots_api_client/models/planning_limits_limit_range.py +87 -0
  224. wandelbots_api_client/models/playback_speed_request.py +94 -0
  225. wandelbots_api_client/models/playback_speed_response.py +96 -0
  226. wandelbots_api_client/models/playback_speed_response_playback_speed_response.py +86 -0
  227. wandelbots_api_client/models/point_cloud.py +86 -0
  228. wandelbots_api_client/models/pose.py +107 -0
  229. wandelbots_api_client/models/pose2.py +93 -0
  230. wandelbots_api_client/models/program_metadata.py +100 -0
  231. wandelbots_api_client/models/program_run.py +168 -0
  232. wandelbots_api_client/models/program_run_object.py +103 -0
  233. wandelbots_api_client/models/program_run_state.py +37 -0
  234. wandelbots_api_client/models/program_runner_reference.py +88 -0
  235. wandelbots_api_client/models/pyjectory_datatypes_core_pose.py +88 -0
  236. wandelbots_api_client/models/pyjectory_datatypes_serializer_orientation.py +87 -0
  237. wandelbots_api_client/models/pyjectory_datatypes_serializer_pose.py +87 -0
  238. wandelbots_api_client/models/pyjectory_datatypes_serializer_position.py +87 -0
  239. wandelbots_api_client/models/pyriphery_etcd_etcd_configuration.py +101 -0
  240. wandelbots_api_client/models/pyriphery_hardware_isaac_isaac_configuration.py +101 -0
  241. wandelbots_api_client/models/pyriphery_opcua_opcua_configuration.py +99 -0
  242. wandelbots_api_client/models/pyriphery_pyrae_controller_controller_configuration.py +107 -0
  243. wandelbots_api_client/models/pyriphery_pyrae_robot_robot_configuration.py +119 -0
  244. wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_input.py +130 -0
  245. wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_output.py +130 -0
  246. wandelbots_api_client/models/pyriphery_robotics_robotcell_timer_configuration.py +102 -0
  247. wandelbots_api_client/models/pyriphery_robotics_simulation_robot_with_view_open3d_configuration.py +99 -0
  248. wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_io_configuration.py +94 -0
  249. wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_opcua_configuration.py +94 -0
  250. wandelbots_api_client/models/quaternion.py +89 -0
  251. wandelbots_api_client/models/recipe_metadata.py +102 -0
  252. wandelbots_api_client/models/rectangle.py +87 -0
  253. wandelbots_api_client/models/rectangle2.py +95 -0
  254. wandelbots_api_client/models/rectangle3.py +101 -0
  255. wandelbots_api_client/models/rectangular_capsule.py +94 -0
  256. wandelbots_api_client/models/rectangular_capsule2.py +103 -0
  257. wandelbots_api_client/models/rectangular_capsule3.py +103 -0
  258. wandelbots_api_client/models/release_channel.py +34 -0
  259. wandelbots_api_client/models/request.py +142 -0
  260. wandelbots_api_client/models/request1.py +140 -0
  261. wandelbots_api_client/models/response_get_devices_devices_get_inner.py +321 -0
  262. wandelbots_api_client/models/response_get_value_programs_values_key_get.py +317 -0
  263. wandelbots_api_client/models/response_get_values_programs_values_get_value.py +322 -0
  264. wandelbots_api_client/models/robot_controller.py +108 -0
  265. wandelbots_api_client/models/robot_controller_configuration.py +262 -0
  266. wandelbots_api_client/models/robot_controller_state.py +191 -0
  267. wandelbots_api_client/models/robot_link_geometry.py +98 -0
  268. wandelbots_api_client/models/robot_state.py +101 -0
  269. wandelbots_api_client/models/robot_system_mode.py +37 -0
  270. wandelbots_api_client/models/robot_tcp.py +104 -0
  271. wandelbots_api_client/models/robot_tcps.py +109 -0
  272. wandelbots_api_client/models/rotation_angle_types.py +58 -0
  273. wandelbots_api_client/models/rotation_angles.py +91 -0
  274. wandelbots_api_client/models/safety_configuration.py +182 -0
  275. wandelbots_api_client/models/safety_setup.py +172 -0
  276. wandelbots_api_client/models/safety_setup_safety_settings.py +106 -0
  277. wandelbots_api_client/models/safety_setup_safety_zone.py +103 -0
  278. wandelbots_api_client/models/safety_zone.py +98 -0
  279. wandelbots_api_client/models/safety_zone_limits.py +96 -0
  280. wandelbots_api_client/models/safety_zone_violation.py +86 -0
  281. wandelbots_api_client/models/service_status.py +96 -0
  282. wandelbots_api_client/models/service_status_phase.py +46 -0
  283. wandelbots_api_client/models/service_status_severity.py +35 -0
  284. wandelbots_api_client/models/service_status_status.py +90 -0
  285. wandelbots_api_client/models/set_io.py +93 -0
  286. wandelbots_api_client/models/set_playback_speed.py +91 -0
  287. wandelbots_api_client/models/single_joint_limit.py +112 -0
  288. wandelbots_api_client/models/singularity.py +110 -0
  289. wandelbots_api_client/models/singularity_type_enum.py +35 -0
  290. wandelbots_api_client/models/sphere.py +86 -0
  291. wandelbots_api_client/models/sphere2.py +94 -0
  292. wandelbots_api_client/models/sphere3.py +96 -0
  293. wandelbots_api_client/models/standstill.py +92 -0
  294. wandelbots_api_client/models/standstill_reason.py +36 -0
  295. wandelbots_api_client/models/standstill_standstill.py +99 -0
  296. wandelbots_api_client/models/start_movement_request.py +135 -0
  297. wandelbots_api_client/models/start_on_io.py +96 -0
  298. wandelbots_api_client/models/status.py +119 -0
  299. wandelbots_api_client/models/stop_response.py +109 -0
  300. wandelbots_api_client/models/store_value.py +349 -0
  301. wandelbots_api_client/models/stream_move_backward.py +90 -0
  302. wandelbots_api_client/models/stream_move_forward.py +90 -0
  303. wandelbots_api_client/models/stream_move_playback_speed.py +92 -0
  304. wandelbots_api_client/models/stream_move_request.py +207 -0
  305. wandelbots_api_client/models/stream_move_response.py +110 -0
  306. wandelbots_api_client/models/stream_move_to_trajectory.py +96 -0
  307. wandelbots_api_client/models/stream_stop.py +90 -0
  308. wandelbots_api_client/models/tcp_pose.py +105 -0
  309. wandelbots_api_client/models/tcp_pose_request.py +106 -0
  310. wandelbots_api_client/models/tool_geometry.py +111 -0
  311. wandelbots_api_client/models/trajectory_sample.py +139 -0
  312. wandelbots_api_client/models/trigger_object.py +110 -0
  313. wandelbots_api_client/models/trigger_type.py +33 -0
  314. wandelbots_api_client/models/universalrobots_controller.py +102 -0
  315. wandelbots_api_client/models/update_nova_version_request.py +87 -0
  316. wandelbots_api_client/models/update_program_metadata_request.py +88 -0
  317. wandelbots_api_client/models/update_recipe_metadata_request.py +88 -0
  318. wandelbots_api_client/models/update_trigger_request.py +100 -0
  319. wandelbots_api_client/models/validation_error.py +113 -0
  320. wandelbots_api_client/models/validation_error2.py +113 -0
  321. wandelbots_api_client/models/value.py +317 -0
  322. wandelbots_api_client/models/vector3d.py +88 -0
  323. wandelbots_api_client/models/version_number.py +113 -0
  324. wandelbots_api_client/models/virtual_controller.py +117 -0
  325. wandelbots_api_client/models/virtual_controller_types.py +153 -0
  326. wandelbots_api_client/models/virtual_robot_configuration.py +91 -0
  327. wandelbots_api_client/models/yaskawa_controller.py +99 -0
  328. wandelbots_api_client/py.typed +0 -0
  329. wandelbots_api_client/rest.py +188 -0
  330. wandelbots_api_client/v2/__init__.py +49 -0
  331. wandelbots_api_client/v2/api/__init__.py +55 -0
  332. wandelbots_api_client/v2/api/application_api.py +1532 -0
  333. wandelbots_api_client/v2/api/bus_inputs_outputs_api.py +4534 -0
  334. wandelbots_api_client/v2/api/cell_api.py +2163 -0
  335. wandelbots_api_client/v2/api/controller_api.py +3238 -0
  336. wandelbots_api_client/v2/api/controller_inputs_outputs_api.py +1244 -0
  337. wandelbots_api_client/v2/api/jogging_api.py +113 -0
  338. wandelbots_api_client/v2/api/kinematics_api.py +815 -0
  339. wandelbots_api_client/v2/api/license_api.py +877 -0
  340. wandelbots_api_client/v2/api/motion_group_api.py +689 -0
  341. wandelbots_api_client/v2/api/motion_group_models_api.py +1222 -0
  342. wandelbots_api_client/v2/api/nova_cloud_api.py +760 -0
  343. wandelbots_api_client/v2/api/program_api.py +988 -0
  344. wandelbots_api_client/v2/api/robot_configurations_api.py +485 -0
  345. wandelbots_api_client/v2/api/store_collision_components_api.py +3479 -0
  346. wandelbots_api_client/v2/api/store_collision_setups_api.py +1169 -0
  347. wandelbots_api_client/v2/api/store_object_api.py +1414 -0
  348. wandelbots_api_client/v2/api/system_api.py +2696 -0
  349. wandelbots_api_client/v2/api/trajectory_caching_api.py +1339 -0
  350. wandelbots_api_client/v2/api/trajectory_execution_api.py +115 -0
  351. wandelbots_api_client/v2/api/trajectory_planning_api.py +1067 -0
  352. wandelbots_api_client/v2/api/version_api.py +240 -0
  353. wandelbots_api_client/v2/api/virtual_controller_api.py +5303 -0
  354. wandelbots_api_client/v2/api/virtual_controller_behavior_api.py +863 -0
  355. wandelbots_api_client/v2/api/virtual_controller_inputs_outputs_api.py +895 -0
  356. wandelbots_api_client/v2/api_client.py +692 -0
  357. wandelbots_api_client/v2/api_response.py +20 -0
  358. wandelbots_api_client/v2/configuration.py +579 -0
  359. wandelbots_api_client/v2/exceptions.py +216 -0
  360. wandelbots_api_client/v2/models/__init__.py +376 -0
  361. wandelbots_api_client/v2/models/abb_controller.py +104 -0
  362. wandelbots_api_client/v2/models/abb_controller_egm_server.py +84 -0
  363. wandelbots_api_client/v2/models/activate_license_request.py +83 -0
  364. wandelbots_api_client/v2/models/add_trajectory_error.py +95 -0
  365. wandelbots_api_client/v2/models/add_trajectory_error_data.py +298 -0
  366. wandelbots_api_client/v2/models/add_trajectory_request.py +97 -0
  367. wandelbots_api_client/v2/models/add_trajectory_response.py +99 -0
  368. wandelbots_api_client/v2/models/add_virtual_controller_motion_group_request.py +147 -0
  369. wandelbots_api_client/v2/models/api_version.py +83 -0
  370. wandelbots_api_client/v2/models/app.py +156 -0
  371. wandelbots_api_client/v2/models/behavior.py +35 -0
  372. wandelbots_api_client/v2/models/blending_auto.py +97 -0
  373. wandelbots_api_client/v2/models/blending_position.py +143 -0
  374. wandelbots_api_client/v2/models/blending_space.py +34 -0
  375. wandelbots_api_client/v2/models/boolean_value.py +91 -0
  376. wandelbots_api_client/v2/models/box.py +109 -0
  377. wandelbots_api_client/v2/models/bus_io_description.py +111 -0
  378. wandelbots_api_client/v2/models/bus_io_modbus_client.py +100 -0
  379. wandelbots_api_client/v2/models/bus_io_modbus_server.py +127 -0
  380. wandelbots_api_client/v2/models/bus_io_modbus_tcp_client.py +98 -0
  381. wandelbots_api_client/v2/models/bus_io_modbus_tcp_server.py +97 -0
  382. wandelbots_api_client/v2/models/bus_io_modbus_virtual.py +90 -0
  383. wandelbots_api_client/v2/models/bus_io_profinet.py +131 -0
  384. wandelbots_api_client/v2/models/bus_io_profinet_default_route.py +84 -0
  385. wandelbots_api_client/v2/models/bus_io_profinet_ip_config.py +85 -0
  386. wandelbots_api_client/v2/models/bus_io_profinet_network.py +101 -0
  387. wandelbots_api_client/v2/models/bus_io_profinet_slot.py +92 -0
  388. wandelbots_api_client/v2/models/bus_io_profinet_virtual.py +90 -0
  389. wandelbots_api_client/v2/models/bus_io_type.py +223 -0
  390. wandelbots_api_client/v2/models/bus_ios_state.py +88 -0
  391. wandelbots_api_client/v2/models/bus_ios_state_enum.py +36 -0
  392. wandelbots_api_client/v2/models/capsule.py +94 -0
  393. wandelbots_api_client/v2/models/cartesian_limits.py +108 -0
  394. wandelbots_api_client/v2/models/cell.py +127 -0
  395. wandelbots_api_client/v2/models/cloud_config_status.py +164 -0
  396. wandelbots_api_client/v2/models/cloud_config_status_configured.py +97 -0
  397. wandelbots_api_client/v2/models/cloud_config_status_not_configured.py +90 -0
  398. wandelbots_api_client/v2/models/cloud_configuration.py +84 -0
  399. wandelbots_api_client/v2/models/cloud_connection_error.py +87 -0
  400. wandelbots_api_client/v2/models/cloud_connection_error_error.py +275 -0
  401. wandelbots_api_client/v2/models/cloud_connection_error_invalid_token.py +102 -0
  402. wandelbots_api_client/v2/models/cloud_connection_error_invalid_token_details.py +95 -0
  403. wandelbots_api_client/v2/models/cloud_connection_error_invalid_token_details_cloud_response.py +90 -0
  404. wandelbots_api_client/v2/models/cloud_connection_error_leafnode_connection_error.py +106 -0
  405. wandelbots_api_client/v2/models/cloud_connection_error_leafnode_connection_error_details.py +83 -0
  406. wandelbots_api_client/v2/models/cloud_connection_error_leafnode_connection_timeout.py +91 -0
  407. wandelbots_api_client/v2/models/cloud_connection_error_leafnode_restart_timeout.py +91 -0
  408. wandelbots_api_client/v2/models/cloud_connection_error_nats_failed.py +102 -0
  409. wandelbots_api_client/v2/models/cloud_connection_error_nats_failed_details.py +84 -0
  410. wandelbots_api_client/v2/models/cloud_connection_error_unexpected_response.py +104 -0
  411. wandelbots_api_client/v2/models/cloud_connection_error_unexpected_response_details.py +95 -0
  412. wandelbots_api_client/v2/models/cloud_connection_error_unexpected_response_details_cloud_response.py +85 -0
  413. wandelbots_api_client/v2/models/cloud_connection_request.py +98 -0
  414. wandelbots_api_client/v2/models/cloud_disconnection_error.py +89 -0
  415. wandelbots_api_client/v2/models/cloud_disconnection_status_disconnected.py +90 -0
  416. wandelbots_api_client/v2/models/cloud_disconnection_status_disconnecting.py +90 -0
  417. wandelbots_api_client/v2/models/cloud_registration_success_response.py +83 -0
  418. wandelbots_api_client/v2/models/collider.py +102 -0
  419. wandelbots_api_client/v2/models/collider_shape.py +278 -0
  420. wandelbots_api_client/v2/models/collision.py +107 -0
  421. wandelbots_api_client/v2/models/collision_contact.py +89 -0
  422. wandelbots_api_client/v2/models/collision_error.py +100 -0
  423. wandelbots_api_client/v2/models/collision_free_algorithm.py +164 -0
  424. wandelbots_api_client/v2/models/collision_motion_group.py +119 -0
  425. wandelbots_api_client/v2/models/collision_setup.py +130 -0
  426. wandelbots_api_client/v2/models/comparator.py +38 -0
  427. wandelbots_api_client/v2/models/configuration_archive_status.py +197 -0
  428. wandelbots_api_client/v2/models/configuration_archive_status_creating.py +94 -0
  429. wandelbots_api_client/v2/models/configuration_archive_status_error.py +91 -0
  430. wandelbots_api_client/v2/models/configuration_archive_status_success.py +90 -0
  431. wandelbots_api_client/v2/models/configuration_resource.py +104 -0
  432. wandelbots_api_client/v2/models/constrained_pose.py +87 -0
  433. wandelbots_api_client/v2/models/container_environment_inner.py +84 -0
  434. wandelbots_api_client/v2/models/container_image.py +110 -0
  435. wandelbots_api_client/v2/models/container_image_secrets_inner.py +83 -0
  436. wandelbots_api_client/v2/models/container_resources.py +87 -0
  437. wandelbots_api_client/v2/models/container_storage.py +94 -0
  438. wandelbots_api_client/v2/models/controller_description.py +97 -0
  439. wandelbots_api_client/v2/models/convex_hull.py +94 -0
  440. wandelbots_api_client/v2/models/coordinate_system.py +115 -0
  441. wandelbots_api_client/v2/models/coordinate_system_data.py +106 -0
  442. wandelbots_api_client/v2/models/cubic_spline_parameter.py +90 -0
  443. wandelbots_api_client/v2/models/cycle_time.py +86 -0
  444. wandelbots_api_client/v2/models/cylinder.py +92 -0
  445. wandelbots_api_client/v2/models/dh_parameter.py +98 -0
  446. wandelbots_api_client/v2/models/direction.py +34 -0
  447. wandelbots_api_client/v2/models/direction_constraint.py +107 -0
  448. wandelbots_api_client/v2/models/error.py +84 -0
  449. wandelbots_api_client/v2/models/error_direction_constraint_not_met.py +93 -0
  450. wandelbots_api_client/v2/models/error_direction_constraint_not_normalized.py +96 -0
  451. wandelbots_api_client/v2/models/error_invalid_joint_count.py +98 -0
  452. wandelbots_api_client/v2/models/error_joint_limit_exceeded.py +103 -0
  453. wandelbots_api_client/v2/models/error_joint_position_collision.py +106 -0
  454. wandelbots_api_client/v2/models/error_max_iterations_exceeded.py +91 -0
  455. wandelbots_api_client/v2/models/error_motion_group_key_mismatch.py +85 -0
  456. wandelbots_api_client/v2/models/error_unsupported_operation.py +90 -0
  457. wandelbots_api_client/v2/models/execute.py +95 -0
  458. wandelbots_api_client/v2/models/execute_details.py +164 -0
  459. wandelbots_api_client/v2/models/execute_jogging_request.py +204 -0
  460. wandelbots_api_client/v2/models/execute_jogging_response.py +246 -0
  461. wandelbots_api_client/v2/models/execute_trajectory_request.py +209 -0
  462. wandelbots_api_client/v2/models/execute_trajectory_response.py +246 -0
  463. wandelbots_api_client/v2/models/external_joint_stream_datapoint.py +93 -0
  464. wandelbots_api_client/v2/models/external_joint_stream_request.py +97 -0
  465. wandelbots_api_client/v2/models/fanuc_controller.py +91 -0
  466. wandelbots_api_client/v2/models/feedback_collision.py +112 -0
  467. wandelbots_api_client/v2/models/feedback_commands_missing.py +90 -0
  468. wandelbots_api_client/v2/models/feedback_cubic_spline_is_not_increasing.py +100 -0
  469. wandelbots_api_client/v2/models/feedback_cubic_spline_not_at_start_pose.py +105 -0
  470. wandelbots_api_client/v2/models/feedback_direction_constraint_no_solution_exists.py +93 -0
  471. wandelbots_api_client/v2/models/feedback_direction_constraint_not_met.py +93 -0
  472. wandelbots_api_client/v2/models/feedback_direction_constraint_not_normalized.py +96 -0
  473. wandelbots_api_client/v2/models/feedback_invalid_dof.py +101 -0
  474. wandelbots_api_client/v2/models/feedback_invalid_nan_value.py +91 -0
  475. wandelbots_api_client/v2/models/feedback_invalid_sampling_time.py +91 -0
  476. wandelbots_api_client/v2/models/feedback_joint_limit_exceeded.py +99 -0
  477. wandelbots_api_client/v2/models/feedback_no_solution_in_current_configuration.py +100 -0
  478. wandelbots_api_client/v2/models/feedback_out_of_workspace.py +100 -0
  479. wandelbots_api_client/v2/models/feedback_singularity.py +99 -0
  480. wandelbots_api_client/v2/models/feedback_start_joints_missing.py +98 -0
  481. wandelbots_api_client/v2/models/feedback_torque_exceeded.py +98 -0
  482. wandelbots_api_client/v2/models/flag.py +83 -0
  483. wandelbots_api_client/v2/models/flange_payload.py +98 -0
  484. wandelbots_api_client/v2/models/float_value.py +91 -0
  485. wandelbots_api_client/v2/models/forward_kinematics422_response.py +97 -0
  486. wandelbots_api_client/v2/models/forward_kinematics_request.py +104 -0
  487. wandelbots_api_client/v2/models/forward_kinematics_response.py +93 -0
  488. wandelbots_api_client/v2/models/forward_kinematics_validation_error.py +107 -0
  489. wandelbots_api_client/v2/models/get_trajectory_response.py +97 -0
  490. wandelbots_api_client/v2/models/http_validation_error.py +93 -0
  491. wandelbots_api_client/v2/models/image_credentials.py +85 -0
  492. wandelbots_api_client/v2/models/inconsistent_trajectory_size_error.py +106 -0
  493. wandelbots_api_client/v2/models/inconsistent_trajectory_size_error_inconsistent_trajectory_size.py +91 -0
  494. wandelbots_api_client/v2/models/initialize_jogging_request.py +95 -0
  495. wandelbots_api_client/v2/models/initialize_jogging_response.py +91 -0
  496. wandelbots_api_client/v2/models/initialize_movement_request.py +112 -0
  497. wandelbots_api_client/v2/models/initialize_movement_request_trajectory.py +164 -0
  498. wandelbots_api_client/v2/models/initialize_movement_response.py +107 -0
  499. wandelbots_api_client/v2/models/integer_value.py +91 -0
  500. wandelbots_api_client/v2/models/invalid_dof_error.py +100 -0
  501. wandelbots_api_client/v2/models/invalid_dof_error_invalid_dof.py +86 -0
  502. wandelbots_api_client/v2/models/inverse_kinematics422_response.py +97 -0
  503. wandelbots_api_client/v2/models/inverse_kinematics_request.py +152 -0
  504. wandelbots_api_client/v2/models/inverse_kinematics_response.py +83 -0
  505. wandelbots_api_client/v2/models/inverse_kinematics_validation_error.py +107 -0
  506. wandelbots_api_client/v2/models/inverse_kinematics_validation_error_all_of_data.py +164 -0
  507. wandelbots_api_client/v2/models/io_boolean_value.py +92 -0
  508. wandelbots_api_client/v2/models/io_boundary.py +183 -0
  509. wandelbots_api_client/v2/models/io_description.py +116 -0
  510. wandelbots_api_client/v2/models/io_direction.py +34 -0
  511. wandelbots_api_client/v2/models/io_float_value.py +92 -0
  512. wandelbots_api_client/v2/models/io_integer_value.py +94 -0
  513. wandelbots_api_client/v2/models/io_origin.py +34 -0
  514. wandelbots_api_client/v2/models/io_value.py +183 -0
  515. wandelbots_api_client/v2/models/io_value_type.py +35 -0
  516. wandelbots_api_client/v2/models/jogging_details.py +97 -0
  517. wandelbots_api_client/v2/models/jogging_details_state.py +275 -0
  518. wandelbots_api_client/v2/models/jogging_paused_by_user.py +90 -0
  519. wandelbots_api_client/v2/models/jogging_paused_near_collision.py +91 -0
  520. wandelbots_api_client/v2/models/jogging_paused_near_joint_limit.py +92 -0
  521. wandelbots_api_client/v2/models/jogging_paused_near_singularity.py +91 -0
  522. wandelbots_api_client/v2/models/jogging_paused_on_io.py +90 -0
  523. wandelbots_api_client/v2/models/jogging_running.py +90 -0
  524. wandelbots_api_client/v2/models/joint_limit_exceeded_error.py +102 -0
  525. wandelbots_api_client/v2/models/joint_limits.py +101 -0
  526. wandelbots_api_client/v2/models/joint_ptp_motion.py +99 -0
  527. wandelbots_api_client/v2/models/joint_trajectory.py +89 -0
  528. wandelbots_api_client/v2/models/joint_type_enum.py +34 -0
  529. wandelbots_api_client/v2/models/joint_velocity_request.py +91 -0
  530. wandelbots_api_client/v2/models/joint_velocity_response.py +91 -0
  531. wandelbots_api_client/v2/models/kinematic_model.py +118 -0
  532. wandelbots_api_client/v2/models/kuka_controller.py +106 -0
  533. wandelbots_api_client/v2/models/kuka_controller_rsi_server.py +89 -0
  534. wandelbots_api_client/v2/models/license.py +121 -0
  535. wandelbots_api_client/v2/models/license_status.py +85 -0
  536. wandelbots_api_client/v2/models/license_status_enum.py +37 -0
  537. wandelbots_api_client/v2/models/limit_range.py +84 -0
  538. wandelbots_api_client/v2/models/limit_set.py +118 -0
  539. wandelbots_api_client/v2/models/limits_override.py +136 -0
  540. wandelbots_api_client/v2/models/list_trajectories_response.py +86 -0
  541. wandelbots_api_client/v2/models/location1_inner.py +153 -0
  542. wandelbots_api_client/v2/models/manufacturer.py +37 -0
  543. wandelbots_api_client/v2/models/merge_trajectories422_response.py +97 -0
  544. wandelbots_api_client/v2/models/merge_trajectories_error.py +97 -0
  545. wandelbots_api_client/v2/models/merge_trajectories_error_error_feedback.py +209 -0
  546. wandelbots_api_client/v2/models/merge_trajectories_request.py +107 -0
  547. wandelbots_api_client/v2/models/merge_trajectories_response.py +109 -0
  548. wandelbots_api_client/v2/models/merge_trajectories_response_feedback_inner.py +147 -0
  549. wandelbots_api_client/v2/models/merge_trajectories_segment.py +126 -0
  550. wandelbots_api_client/v2/models/merge_trajectories_validation_error.py +109 -0
  551. wandelbots_api_client/v2/models/midpoint_insertion_algorithm.py +102 -0
  552. wandelbots_api_client/v2/models/modbus_io.py +109 -0
  553. wandelbots_api_client/v2/models/modbus_io_area.py +37 -0
  554. wandelbots_api_client/v2/models/modbus_io_byte_order.py +37 -0
  555. wandelbots_api_client/v2/models/modbus_io_data.py +105 -0
  556. wandelbots_api_client/v2/models/modbus_io_type_enum.py +36 -0
  557. wandelbots_api_client/v2/models/motion_command.py +106 -0
  558. wandelbots_api_client/v2/models/motion_command_blending.py +164 -0
  559. wandelbots_api_client/v2/models/motion_command_path.py +298 -0
  560. wandelbots_api_client/v2/models/motion_group_description.py +241 -0
  561. wandelbots_api_client/v2/models/motion_group_from_json.py +100 -0
  562. wandelbots_api_client/v2/models/motion_group_from_type.py +96 -0
  563. wandelbots_api_client/v2/models/motion_group_info.py +90 -0
  564. wandelbots_api_client/v2/models/motion_group_joints.py +97 -0
  565. wandelbots_api_client/v2/models/motion_group_setup.py +140 -0
  566. wandelbots_api_client/v2/models/motion_group_state.py +187 -0
  567. wandelbots_api_client/v2/models/motion_group_state_joint_limit_reached.py +83 -0
  568. wandelbots_api_client/v2/models/movement_error_response.py +91 -0
  569. wandelbots_api_client/v2/models/multi_collision_setup.py +115 -0
  570. wandelbots_api_client/v2/models/multi_error_invalid_joint_count.py +101 -0
  571. wandelbots_api_client/v2/models/multi_error_joint_limit_exceeded.py +101 -0
  572. wandelbots_api_client/v2/models/multi_error_joint_position_collision.py +99 -0
  573. wandelbots_api_client/v2/models/multi_joint_trajectory.py +93 -0
  574. wandelbots_api_client/v2/models/multi_search_collision_free422_response.py +97 -0
  575. wandelbots_api_client/v2/models/multi_search_collision_free_request.py +149 -0
  576. wandelbots_api_client/v2/models/multi_search_collision_free_response.py +89 -0
  577. wandelbots_api_client/v2/models/multi_search_collision_free_response_response.py +147 -0
  578. wandelbots_api_client/v2/models/multi_search_collision_free_validation_error.py +109 -0
  579. wandelbots_api_client/v2/models/multi_search_collision_free_validation_error_all_of_data.py +197 -0
  580. wandelbots_api_client/v2/models/nan_value_error.py +100 -0
  581. wandelbots_api_client/v2/models/nan_value_error_nan_value.py +85 -0
  582. wandelbots_api_client/v2/models/network_device.py +85 -0
  583. wandelbots_api_client/v2/models/network_interface.py +86 -0
  584. wandelbots_api_client/v2/models/network_state.py +125 -0
  585. wandelbots_api_client/v2/models/op_mode.py +84 -0
  586. wandelbots_api_client/v2/models/operating_state.py +34 -0
  587. wandelbots_api_client/v2/models/operation_limits.py +106 -0
  588. wandelbots_api_client/v2/models/operation_mode.py +42 -0
  589. wandelbots_api_client/v2/models/orientation_type.py +58 -0
  590. wandelbots_api_client/v2/models/path_cartesian_ptp.py +100 -0
  591. wandelbots_api_client/v2/models/path_circle.py +105 -0
  592. wandelbots_api_client/v2/models/path_cubic_spline.py +106 -0
  593. wandelbots_api_client/v2/models/path_direction_constrained_cartesian_ptp.py +106 -0
  594. wandelbots_api_client/v2/models/path_direction_constrained_joint_ptp.py +102 -0
  595. wandelbots_api_client/v2/models/path_joint_ptp.py +93 -0
  596. wandelbots_api_client/v2/models/path_line.py +100 -0
  597. wandelbots_api_client/v2/models/pause_jogging_request.py +90 -0
  598. wandelbots_api_client/v2/models/pause_jogging_response.py +91 -0
  599. wandelbots_api_client/v2/models/pause_movement_request.py +90 -0
  600. wandelbots_api_client/v2/models/pause_movement_response.py +91 -0
  601. wandelbots_api_client/v2/models/pause_on_io.py +99 -0
  602. wandelbots_api_client/v2/models/payload.py +98 -0
  603. wandelbots_api_client/v2/models/plan422_response.py +93 -0
  604. wandelbots_api_client/v2/models/plan_collision_free_failed_response.py +93 -0
  605. wandelbots_api_client/v2/models/plan_collision_free_request.py +118 -0
  606. wandelbots_api_client/v2/models/plan_collision_free_response.py +89 -0
  607. wandelbots_api_client/v2/models/plan_collision_free_response_response.py +147 -0
  608. wandelbots_api_client/v2/models/plan_trajectory_failed_response.py +105 -0
  609. wandelbots_api_client/v2/models/plan_trajectory_failed_response_error_feedback.py +505 -0
  610. wandelbots_api_client/v2/models/plan_trajectory_request.py +113 -0
  611. wandelbots_api_client/v2/models/plan_trajectory_response.py +89 -0
  612. wandelbots_api_client/v2/models/plan_trajectory_response_response.py +147 -0
  613. wandelbots_api_client/v2/models/plan_validation_error.py +107 -0
  614. wandelbots_api_client/v2/models/plan_validation_error_all_of_data.py +275 -0
  615. wandelbots_api_client/v2/models/plane.py +90 -0
  616. wandelbots_api_client/v2/models/playback_speed_request.py +96 -0
  617. wandelbots_api_client/v2/models/playback_speed_response.py +91 -0
  618. wandelbots_api_client/v2/models/pose.py +90 -0
  619. wandelbots_api_client/v2/models/profinet_description.py +112 -0
  620. wandelbots_api_client/v2/models/profinet_input_output_config.py +98 -0
  621. wandelbots_api_client/v2/models/profinet_io.py +109 -0
  622. wandelbots_api_client/v2/models/profinet_io_data.py +105 -0
  623. wandelbots_api_client/v2/models/profinet_io_direction.py +35 -0
  624. wandelbots_api_client/v2/models/profinet_io_type_enum.py +42 -0
  625. wandelbots_api_client/v2/models/profinet_slot_description.py +106 -0
  626. wandelbots_api_client/v2/models/profinet_sub_slot_description.py +92 -0
  627. wandelbots_api_client/v2/models/program.py +105 -0
  628. wandelbots_api_client/v2/models/program_run.py +124 -0
  629. wandelbots_api_client/v2/models/program_run_state.py +37 -0
  630. wandelbots_api_client/v2/models/program_start_request.py +83 -0
  631. wandelbots_api_client/v2/models/project_joint_position_direction_constraint422_response.py +99 -0
  632. wandelbots_api_client/v2/models/project_joint_position_direction_constraint_request.py +148 -0
  633. wandelbots_api_client/v2/models/project_joint_position_direction_constraint_response.py +85 -0
  634. wandelbots_api_client/v2/models/project_joint_position_direction_constraint_validation_error.py +111 -0
  635. wandelbots_api_client/v2/models/project_joint_position_direction_constraint_validation_error_all_of_data.py +189 -0
  636. wandelbots_api_client/v2/models/rectangle.py +92 -0
  637. wandelbots_api_client/v2/models/rectangular_capsule.py +100 -0
  638. wandelbots_api_client/v2/models/release_channel.py +34 -0
  639. wandelbots_api_client/v2/models/robot_controller.py +105 -0
  640. wandelbots_api_client/v2/models/robot_controller_configuration.py +262 -0
  641. wandelbots_api_client/v2/models/robot_controller_configuration_request.py +99 -0
  642. wandelbots_api_client/v2/models/robot_controller_state.py +138 -0
  643. wandelbots_api_client/v2/models/robot_system_mode.py +37 -0
  644. wandelbots_api_client/v2/models/robot_tcp.py +110 -0
  645. wandelbots_api_client/v2/models/robot_tcp_data.py +108 -0
  646. wandelbots_api_client/v2/models/rrt_connect_algorithm.py +127 -0
  647. wandelbots_api_client/v2/models/safety_geometry.py +125 -0
  648. wandelbots_api_client/v2/models/safety_geometry_box.py +89 -0
  649. wandelbots_api_client/v2/models/safety_geometry_capsule.py +90 -0
  650. wandelbots_api_client/v2/models/safety_geometry_lozenge.py +97 -0
  651. wandelbots_api_client/v2/models/safety_geometry_plane.py +86 -0
  652. wandelbots_api_client/v2/models/safety_geometry_prism.py +88 -0
  653. wandelbots_api_client/v2/models/safety_geometry_sphere.py +87 -0
  654. wandelbots_api_client/v2/models/safety_state_type.py +48 -0
  655. wandelbots_api_client/v2/models/safety_zone.py +111 -0
  656. wandelbots_api_client/v2/models/safety_zone_pose.py +99 -0
  657. wandelbots_api_client/v2/models/safety_zones.py +97 -0
  658. wandelbots_api_client/v2/models/service_group.py +36 -0
  659. wandelbots_api_client/v2/models/service_status.py +96 -0
  660. wandelbots_api_client/v2/models/service_status_phase.py +46 -0
  661. wandelbots_api_client/v2/models/service_status_response.py +100 -0
  662. wandelbots_api_client/v2/models/service_status_severity.py +35 -0
  663. wandelbots_api_client/v2/models/service_status_status.py +87 -0
  664. wandelbots_api_client/v2/models/set_io.py +96 -0
  665. wandelbots_api_client/v2/models/settable_robot_system_mode.py +36 -0
  666. wandelbots_api_client/v2/models/singularity_type_enum.py +35 -0
  667. wandelbots_api_client/v2/models/sphere.py +91 -0
  668. wandelbots_api_client/v2/models/start_movement_request.py +133 -0
  669. wandelbots_api_client/v2/models/start_movement_response.py +91 -0
  670. wandelbots_api_client/v2/models/start_on_io.py +99 -0
  671. wandelbots_api_client/v2/models/stream_io_values_response.py +103 -0
  672. wandelbots_api_client/v2/models/tcp_offset.py +88 -0
  673. wandelbots_api_client/v2/models/tcp_required_error.py +96 -0
  674. wandelbots_api_client/v2/models/tcp_velocity_request.py +110 -0
  675. wandelbots_api_client/v2/models/tcp_velocity_response.py +91 -0
  676. wandelbots_api_client/v2/models/torque_exceeded_error.py +102 -0
  677. wandelbots_api_client/v2/models/torque_exceeded_error_torque_exceeded.py +86 -0
  678. wandelbots_api_client/v2/models/trajectory_data.py +106 -0
  679. wandelbots_api_client/v2/models/trajectory_details.py +106 -0
  680. wandelbots_api_client/v2/models/trajectory_details_state.py +239 -0
  681. wandelbots_api_client/v2/models/trajectory_ended.py +90 -0
  682. wandelbots_api_client/v2/models/trajectory_id.py +93 -0
  683. wandelbots_api_client/v2/models/trajectory_paused_by_user.py +90 -0
  684. wandelbots_api_client/v2/models/trajectory_paused_on_io.py +90 -0
  685. wandelbots_api_client/v2/models/trajectory_running.py +94 -0
  686. wandelbots_api_client/v2/models/trajectory_section.py +84 -0
  687. wandelbots_api_client/v2/models/trajectory_wait_for_io.py +90 -0
  688. wandelbots_api_client/v2/models/unit_type.py +42 -0
  689. wandelbots_api_client/v2/models/universalrobots_controller.py +91 -0
  690. wandelbots_api_client/v2/models/update_cell_version_request.py +84 -0
  691. wandelbots_api_client/v2/models/update_nova_version_request.py +90 -0
  692. wandelbots_api_client/v2/models/validation_error.py +101 -0
  693. wandelbots_api_client/v2/models/validation_error2.py +85 -0
  694. wandelbots_api_client/v2/models/virtual_controller.py +113 -0
  695. wandelbots_api_client/v2/models/virtual_robot_configuration.py +88 -0
  696. wandelbots_api_client/v2/models/wait_for_io_event_request.py +93 -0
  697. wandelbots_api_client/v2/models/yaskawa_controller.py +91 -0
  698. wandelbots_api_client/v2/models/zod_validation_error.py +87 -0
  699. wandelbots_api_client/v2/models/zod_validation_error_error.py +108 -0
  700. wandelbots_api_client/v2/models/zod_validation_error_error_details_inner.py +101 -0
  701. wandelbots_api_client/v2/models/zod_validation_error_error_details_inner_path_inner.py +153 -0
  702. wandelbots_api_client/v2/py.typed +0 -0
  703. wandelbots_api_client/v2/rest.py +188 -0
  704. wandelbots_api_client/v2_pydantic/__init__.py +49 -0
  705. wandelbots_api_client/v2_pydantic/api/__init__.py +55 -0
  706. wandelbots_api_client/v2_pydantic/api/application_api.py +1532 -0
  707. wandelbots_api_client/v2_pydantic/api/bus_inputs_outputs_api.py +4534 -0
  708. wandelbots_api_client/v2_pydantic/api/cell_api.py +2163 -0
  709. wandelbots_api_client/v2_pydantic/api/controller_api.py +3238 -0
  710. wandelbots_api_client/v2_pydantic/api/controller_inputs_outputs_api.py +1244 -0
  711. wandelbots_api_client/v2_pydantic/api/jogging_api.py +113 -0
  712. wandelbots_api_client/v2_pydantic/api/kinematics_api.py +811 -0
  713. wandelbots_api_client/v2_pydantic/api/license_api.py +877 -0
  714. wandelbots_api_client/v2_pydantic/api/motion_group_api.py +689 -0
  715. wandelbots_api_client/v2_pydantic/api/motion_group_models_api.py +1222 -0
  716. wandelbots_api_client/v2_pydantic/api/nova_cloud_api.py +760 -0
  717. wandelbots_api_client/v2_pydantic/api/program_api.py +988 -0
  718. wandelbots_api_client/v2_pydantic/api/robot_configurations_api.py +485 -0
  719. wandelbots_api_client/v2_pydantic/api/store_collision_components_api.py +3479 -0
  720. wandelbots_api_client/v2_pydantic/api/store_collision_setups_api.py +1169 -0
  721. wandelbots_api_client/v2_pydantic/api/store_object_api.py +1414 -0
  722. wandelbots_api_client/v2_pydantic/api/system_api.py +2696 -0
  723. wandelbots_api_client/v2_pydantic/api/trajectory_caching_api.py +1339 -0
  724. wandelbots_api_client/v2_pydantic/api/trajectory_execution_api.py +115 -0
  725. wandelbots_api_client/v2_pydantic/api/trajectory_planning_api.py +1067 -0
  726. wandelbots_api_client/v2_pydantic/api/version_api.py +240 -0
  727. wandelbots_api_client/v2_pydantic/api/virtual_controller_api.py +5303 -0
  728. wandelbots_api_client/v2_pydantic/api/virtual_controller_behavior_api.py +863 -0
  729. wandelbots_api_client/v2_pydantic/api/virtual_controller_inputs_outputs_api.py +895 -0
  730. wandelbots_api_client/v2_pydantic/api_client.py +692 -0
  731. wandelbots_api_client/v2_pydantic/api_response.py +20 -0
  732. wandelbots_api_client/v2_pydantic/configuration.py +579 -0
  733. wandelbots_api_client/v2_pydantic/exceptions.py +216 -0
  734. wandelbots_api_client/v2_pydantic/models/__init__.py +748 -0
  735. wandelbots_api_client/v2_pydantic/models/models.py +5909 -0
  736. wandelbots_api_client/v2_pydantic/py.typed +0 -0
  737. wandelbots_api_client/v2_pydantic/rest.py +188 -0
  738. wandelbots_api_client-26.3.0.dist-info/METADATA +241 -0
  739. wandelbots_api_client-26.3.0.dist-info/RECORD +740 -0
  740. wandelbots_api_client-26.3.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,2951 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Wandelbots NOVA API
5
+
6
+ Interact with robots in an easy and intuitive way.
7
+
8
+ The version of the OpenAPI document: 1.4.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from furl import furl
15
+ import json
16
+ import humps
17
+ import re
18
+ import warnings
19
+ import websockets
20
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
21
+ from typing import Any, AsyncGenerator, Callable, Dict, List, Optional, Tuple, Union
22
+ from typing_extensions import Annotated
23
+ from urllib.parse import quote
24
+
25
+ from pydantic import Field, StrictInt, StrictStr, field_validator
26
+ from typing import Optional
27
+ from typing_extensions import Annotated
28
+ from wandelbots_api_client.models.controller_capabilities import ControllerCapabilities
29
+ from wandelbots_api_client.models.controller_instance_list import ControllerInstanceList
30
+ from wandelbots_api_client.models.get_mode_response import GetModeResponse
31
+ from wandelbots_api_client.models.mode_change_response import ModeChangeResponse
32
+ from wandelbots_api_client.models.robot_controller import RobotController
33
+ from wandelbots_api_client.models.robot_controller_state import RobotControllerState
34
+ from wandelbots_api_client.models.virtual_robot_configuration import VirtualRobotConfiguration
35
+
36
+ from wandelbots_api_client.api_client import ApiClient, RequestSerialized
37
+ from wandelbots_api_client.api_response import ApiResponse
38
+ from wandelbots_api_client.rest import RESTResponseType
39
+
40
+
41
+ class ControllerApi:
42
+ """NOTE: This class is auto generated by OpenAPI Generator
43
+ Ref: https://openapi-generator.tech
44
+
45
+ Do not edit the class manually.
46
+ """
47
+
48
+ def __init__(self, api_client=None) -> None:
49
+ if api_client is None:
50
+ api_client = ApiClient.get_default()
51
+ self.api_client = api_client
52
+
53
+ @validate_call
54
+ async def add_robot_controller(
55
+ self,
56
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
57
+ robot_controller: RobotController,
58
+ completion_timeout: Optional[Annotated[int, Field(strict=True, ge=1)]] = None,
59
+ _request_timeout: Union[
60
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
61
+ ] = None,
62
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
63
+ _content_type: Optional[StrictStr] = None,
64
+ _headers: Optional[Dict[StrictStr, Any]] = None,
65
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
66
+ ) -> None:
67
+ """Add Robot Controller
68
+
69
+ **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Add a robot controller to the cell. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
70
+
71
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
72
+ :type cell: str
73
+ :param robot_controller: (required)
74
+ :type robot_controller: RobotController
75
+ :param completion_timeout:
76
+ :type completion_timeout: int
77
+ :param _request_timeout: timeout setting for this request. If one
78
+ number provided, it will be total request
79
+ timeout. It can also be a pair (tuple) of
80
+ (connection, read) timeouts.
81
+ :type _request_timeout: int, tuple(int, int), optional
82
+ :param _request_auth: set to override the auth_settings for an a single
83
+ request; this effectively ignores the
84
+ authentication in the spec for a single request.
85
+ :type _request_auth: dict, optional
86
+ :param _content_type: force content-type for the request.
87
+ :type _content_type: str, Optional
88
+ :param _headers: set to override the headers for a single
89
+ request; this effectively ignores the headers
90
+ in the spec for a single request.
91
+ :type _headers: dict, optional
92
+ :param _host_index: set to override the host_index for a single
93
+ request; this effectively ignores the host_index
94
+ in the spec for a single request.
95
+ :type _host_index: int, optional
96
+ :return: Returns the result object.
97
+ """ # noqa: E501
98
+
99
+ _param = self._add_robot_controller_serialize(
100
+ cell=cell,
101
+ robot_controller=robot_controller,
102
+ completion_timeout=completion_timeout,
103
+ _request_auth=_request_auth,
104
+ _content_type=_content_type,
105
+ _headers=_headers,
106
+ _host_index=_host_index,
107
+ )
108
+
109
+ _response_types_map: Dict[str, Optional[str]] = {
110
+ "200": None,
111
+ "202": None,
112
+ "403": "Error",
113
+ "404": "Error",
114
+ "409": None,
115
+ }
116
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
117
+ await response_data.read()
118
+ return self.api_client.response_deserialize(
119
+ response_data=response_data,
120
+ response_types_map=_response_types_map,
121
+ ).data
122
+
123
+ @validate_call
124
+ async def add_robot_controller_with_http_info(
125
+ self,
126
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
127
+ robot_controller: RobotController,
128
+ completion_timeout: Optional[Annotated[int, Field(strict=True, ge=1)]] = None,
129
+ _request_timeout: Union[
130
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
131
+ ] = None,
132
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
133
+ _content_type: Optional[StrictStr] = None,
134
+ _headers: Optional[Dict[StrictStr, Any]] = None,
135
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
136
+ ) -> ApiResponse[None]:
137
+ """Add Robot Controller
138
+
139
+ **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Add a robot controller to the cell. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
140
+
141
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
142
+ :type cell: str
143
+ :param robot_controller: (required)
144
+ :type robot_controller: RobotController
145
+ :param completion_timeout:
146
+ :type completion_timeout: int
147
+ :param _request_timeout: timeout setting for this request. If one
148
+ number provided, it will be total request
149
+ timeout. It can also be a pair (tuple) of
150
+ (connection, read) timeouts.
151
+ :type _request_timeout: int, tuple(int, int), optional
152
+ :param _request_auth: set to override the auth_settings for an a single
153
+ request; this effectively ignores the
154
+ authentication in the spec for a single request.
155
+ :type _request_auth: dict, optional
156
+ :param _content_type: force content-type for the request.
157
+ :type _content_type: str, Optional
158
+ :param _headers: set to override the headers for a single
159
+ request; this effectively ignores the headers
160
+ in the spec for a single request.
161
+ :type _headers: dict, optional
162
+ :param _host_index: set to override the host_index for a single
163
+ request; this effectively ignores the host_index
164
+ in the spec for a single request.
165
+ :type _host_index: int, optional
166
+ :return: Returns the result object.
167
+ """ # noqa: E501
168
+
169
+ _param = self._add_robot_controller_serialize(
170
+ cell=cell,
171
+ robot_controller=robot_controller,
172
+ completion_timeout=completion_timeout,
173
+ _request_auth=_request_auth,
174
+ _content_type=_content_type,
175
+ _headers=_headers,
176
+ _host_index=_host_index,
177
+ )
178
+
179
+ _response_types_map: Dict[str, Optional[str]] = {
180
+ "200": None,
181
+ "202": None,
182
+ "403": "Error",
183
+ "404": "Error",
184
+ "409": None,
185
+ }
186
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
187
+ await response_data.read()
188
+ return self.api_client.response_deserialize(
189
+ response_data=response_data,
190
+ response_types_map=_response_types_map,
191
+ )
192
+
193
+ @validate_call
194
+ async def add_robot_controller_without_preload_content(
195
+ self,
196
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
197
+ robot_controller: RobotController,
198
+ completion_timeout: Optional[Annotated[int, Field(strict=True, ge=1)]] = None,
199
+ _request_timeout: Union[
200
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
201
+ ] = None,
202
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
203
+ _content_type: Optional[StrictStr] = None,
204
+ _headers: Optional[Dict[StrictStr, Any]] = None,
205
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
206
+ ) -> RESTResponseType:
207
+ """Add Robot Controller
208
+
209
+ **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Add a robot controller to the cell. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
210
+
211
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
212
+ :type cell: str
213
+ :param robot_controller: (required)
214
+ :type robot_controller: RobotController
215
+ :param completion_timeout:
216
+ :type completion_timeout: int
217
+ :param _request_timeout: timeout setting for this request. If one
218
+ number provided, it will be total request
219
+ timeout. It can also be a pair (tuple) of
220
+ (connection, read) timeouts.
221
+ :type _request_timeout: int, tuple(int, int), optional
222
+ :param _request_auth: set to override the auth_settings for an a single
223
+ request; this effectively ignores the
224
+ authentication in the spec for a single request.
225
+ :type _request_auth: dict, optional
226
+ :param _content_type: force content-type for the request.
227
+ :type _content_type: str, Optional
228
+ :param _headers: set to override the headers for a single
229
+ request; this effectively ignores the headers
230
+ in the spec for a single request.
231
+ :type _headers: dict, optional
232
+ :param _host_index: set to override the host_index for a single
233
+ request; this effectively ignores the host_index
234
+ in the spec for a single request.
235
+ :type _host_index: int, optional
236
+ :return: Returns the result object.
237
+ """ # noqa: E501
238
+
239
+ _param = self._add_robot_controller_serialize(
240
+ cell=cell,
241
+ robot_controller=robot_controller,
242
+ completion_timeout=completion_timeout,
243
+ _request_auth=_request_auth,
244
+ _content_type=_content_type,
245
+ _headers=_headers,
246
+ _host_index=_host_index,
247
+ )
248
+
249
+ _response_types_map: Dict[str, Optional[str]] = {
250
+ "200": None,
251
+ "202": None,
252
+ "403": "Error",
253
+ "404": "Error",
254
+ "409": None,
255
+ }
256
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
257
+ return response_data.response
258
+
259
+ def _add_robot_controller_serialize(
260
+ self,
261
+ cell,
262
+ robot_controller,
263
+ completion_timeout,
264
+ _request_auth,
265
+ _content_type,
266
+ _headers,
267
+ _host_index,
268
+ ) -> RequestSerialized:
269
+
270
+ _host = None
271
+
272
+ _collection_formats: Dict[str, str] = {}
273
+
274
+ _path_params: Dict[str, str] = {}
275
+ _query_params: List[Tuple[str, str]] = []
276
+ _header_params: Dict[str, Optional[str]] = _headers or {}
277
+ _form_params: List[Tuple[str, str]] = []
278
+ _files: Dict[str, Union[str, bytes]] = {}
279
+ _body_params: Optional[bytes] = None
280
+
281
+ # process the path parameters
282
+ if cell is not None:
283
+ _path_params["cell"] = cell
284
+ # process the query parameters
285
+ if completion_timeout is not None:
286
+ _query_params.append(("completionTimeout", completion_timeout))
287
+
288
+ # process the header parameters
289
+ # process the form parameters
290
+ # process the body parameter
291
+ if robot_controller is not None:
292
+ _body_params = robot_controller
293
+
294
+ # set the HTTP header `Accept`
295
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
296
+
297
+ # set the HTTP header `Content-Type`
298
+ if _content_type:
299
+ _header_params["Content-Type"] = _content_type
300
+ else:
301
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
302
+ if _default_content_type is not None:
303
+ _header_params["Content-Type"] = _default_content_type
304
+
305
+ # authentication setting
306
+ _auth_settings: List[str] = ["BearerAuth"]
307
+
308
+ return self.api_client.param_serialize(
309
+ method="POST",
310
+ resource_path="/cells/{cell}/controllers",
311
+ path_params=_path_params,
312
+ query_params=_query_params,
313
+ header_params=_header_params,
314
+ body=_body_params,
315
+ post_params=_form_params,
316
+ files=_files,
317
+ auth_settings=_auth_settings,
318
+ collection_formats=_collection_formats,
319
+ _host=_host,
320
+ _request_auth=_request_auth,
321
+ )
322
+
323
+ @validate_call
324
+ async def clear_robot_controllers(
325
+ self,
326
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
327
+ completion_timeout: Optional[Annotated[int, Field(strict=True, ge=1)]] = None,
328
+ _request_timeout: Union[
329
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
330
+ ] = None,
331
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
332
+ _content_type: Optional[StrictStr] = None,
333
+ _headers: Optional[Dict[StrictStr, Any]] = None,
334
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
335
+ ) -> None:
336
+ """Clear Robot Controllers
337
+
338
+ **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Delete all robot controllers from the cell. To replace all robot controllers in a cell, use this endpoint in combination with the 'Add Robot Controller' endpoint. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
339
+
340
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
341
+ :type cell: str
342
+ :param completion_timeout:
343
+ :type completion_timeout: int
344
+ :param _request_timeout: timeout setting for this request. If one
345
+ number provided, it will be total request
346
+ timeout. It can also be a pair (tuple) of
347
+ (connection, read) timeouts.
348
+ :type _request_timeout: int, tuple(int, int), optional
349
+ :param _request_auth: set to override the auth_settings for an a single
350
+ request; this effectively ignores the
351
+ authentication in the spec for a single request.
352
+ :type _request_auth: dict, optional
353
+ :param _content_type: force content-type for the request.
354
+ :type _content_type: str, Optional
355
+ :param _headers: set to override the headers for a single
356
+ request; this effectively ignores the headers
357
+ in the spec for a single request.
358
+ :type _headers: dict, optional
359
+ :param _host_index: set to override the host_index for a single
360
+ request; this effectively ignores the host_index
361
+ in the spec for a single request.
362
+ :type _host_index: int, optional
363
+ :return: Returns the result object.
364
+ """ # noqa: E501
365
+
366
+ _param = self._clear_robot_controllers_serialize(
367
+ cell=cell,
368
+ completion_timeout=completion_timeout,
369
+ _request_auth=_request_auth,
370
+ _content_type=_content_type,
371
+ _headers=_headers,
372
+ _host_index=_host_index,
373
+ )
374
+
375
+ _response_types_map: Dict[str, Optional[str]] = {
376
+ "200": None,
377
+ "202": None,
378
+ "404": "Error",
379
+ }
380
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
381
+ await response_data.read()
382
+ return self.api_client.response_deserialize(
383
+ response_data=response_data,
384
+ response_types_map=_response_types_map,
385
+ ).data
386
+
387
+ @validate_call
388
+ async def clear_robot_controllers_with_http_info(
389
+ self,
390
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
391
+ completion_timeout: Optional[Annotated[int, Field(strict=True, ge=1)]] = None,
392
+ _request_timeout: Union[
393
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
394
+ ] = None,
395
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
396
+ _content_type: Optional[StrictStr] = None,
397
+ _headers: Optional[Dict[StrictStr, Any]] = None,
398
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
399
+ ) -> ApiResponse[None]:
400
+ """Clear Robot Controllers
401
+
402
+ **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Delete all robot controllers from the cell. To replace all robot controllers in a cell, use this endpoint in combination with the 'Add Robot Controller' endpoint. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
403
+
404
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
405
+ :type cell: str
406
+ :param completion_timeout:
407
+ :type completion_timeout: int
408
+ :param _request_timeout: timeout setting for this request. If one
409
+ number provided, it will be total request
410
+ timeout. It can also be a pair (tuple) of
411
+ (connection, read) timeouts.
412
+ :type _request_timeout: int, tuple(int, int), optional
413
+ :param _request_auth: set to override the auth_settings for an a single
414
+ request; this effectively ignores the
415
+ authentication in the spec for a single request.
416
+ :type _request_auth: dict, optional
417
+ :param _content_type: force content-type for the request.
418
+ :type _content_type: str, Optional
419
+ :param _headers: set to override the headers for a single
420
+ request; this effectively ignores the headers
421
+ in the spec for a single request.
422
+ :type _headers: dict, optional
423
+ :param _host_index: set to override the host_index for a single
424
+ request; this effectively ignores the host_index
425
+ in the spec for a single request.
426
+ :type _host_index: int, optional
427
+ :return: Returns the result object.
428
+ """ # noqa: E501
429
+
430
+ _param = self._clear_robot_controllers_serialize(
431
+ cell=cell,
432
+ completion_timeout=completion_timeout,
433
+ _request_auth=_request_auth,
434
+ _content_type=_content_type,
435
+ _headers=_headers,
436
+ _host_index=_host_index,
437
+ )
438
+
439
+ _response_types_map: Dict[str, Optional[str]] = {
440
+ "200": None,
441
+ "202": None,
442
+ "404": "Error",
443
+ }
444
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
445
+ await response_data.read()
446
+ return self.api_client.response_deserialize(
447
+ response_data=response_data,
448
+ response_types_map=_response_types_map,
449
+ )
450
+
451
+ @validate_call
452
+ async def clear_robot_controllers_without_preload_content(
453
+ self,
454
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
455
+ completion_timeout: Optional[Annotated[int, Field(strict=True, ge=1)]] = None,
456
+ _request_timeout: Union[
457
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
458
+ ] = None,
459
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
460
+ _content_type: Optional[StrictStr] = None,
461
+ _headers: Optional[Dict[StrictStr, Any]] = None,
462
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
463
+ ) -> RESTResponseType:
464
+ """Clear Robot Controllers
465
+
466
+ **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Delete all robot controllers from the cell. To replace all robot controllers in a cell, use this endpoint in combination with the 'Add Robot Controller' endpoint. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
467
+
468
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
469
+ :type cell: str
470
+ :param completion_timeout:
471
+ :type completion_timeout: int
472
+ :param _request_timeout: timeout setting for this request. If one
473
+ number provided, it will be total request
474
+ timeout. It can also be a pair (tuple) of
475
+ (connection, read) timeouts.
476
+ :type _request_timeout: int, tuple(int, int), optional
477
+ :param _request_auth: set to override the auth_settings for an a single
478
+ request; this effectively ignores the
479
+ authentication in the spec for a single request.
480
+ :type _request_auth: dict, optional
481
+ :param _content_type: force content-type for the request.
482
+ :type _content_type: str, Optional
483
+ :param _headers: set to override the headers for a single
484
+ request; this effectively ignores the headers
485
+ in the spec for a single request.
486
+ :type _headers: dict, optional
487
+ :param _host_index: set to override the host_index for a single
488
+ request; this effectively ignores the host_index
489
+ in the spec for a single request.
490
+ :type _host_index: int, optional
491
+ :return: Returns the result object.
492
+ """ # noqa: E501
493
+
494
+ _param = self._clear_robot_controllers_serialize(
495
+ cell=cell,
496
+ completion_timeout=completion_timeout,
497
+ _request_auth=_request_auth,
498
+ _content_type=_content_type,
499
+ _headers=_headers,
500
+ _host_index=_host_index,
501
+ )
502
+
503
+ _response_types_map: Dict[str, Optional[str]] = {
504
+ "200": None,
505
+ "202": None,
506
+ "404": "Error",
507
+ }
508
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
509
+ return response_data.response
510
+
511
+ def _clear_robot_controllers_serialize(
512
+ self,
513
+ cell,
514
+ completion_timeout,
515
+ _request_auth,
516
+ _content_type,
517
+ _headers,
518
+ _host_index,
519
+ ) -> RequestSerialized:
520
+
521
+ _host = None
522
+
523
+ _collection_formats: Dict[str, str] = {}
524
+
525
+ _path_params: Dict[str, str] = {}
526
+ _query_params: List[Tuple[str, str]] = []
527
+ _header_params: Dict[str, Optional[str]] = _headers or {}
528
+ _form_params: List[Tuple[str, str]] = []
529
+ _files: Dict[str, Union[str, bytes]] = {}
530
+ _body_params: Optional[bytes] = None
531
+
532
+ # process the path parameters
533
+ if cell is not None:
534
+ _path_params["cell"] = cell
535
+ # process the query parameters
536
+ if completion_timeout is not None:
537
+ _query_params.append(("completionTimeout", completion_timeout))
538
+
539
+ # process the header parameters
540
+ # process the form parameters
541
+ # process the body parameter
542
+
543
+ # set the HTTP header `Accept`
544
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
545
+
546
+ # authentication setting
547
+ _auth_settings: List[str] = ["BearerAuth"]
548
+
549
+ return self.api_client.param_serialize(
550
+ method="DELETE",
551
+ resource_path="/cells/{cell}/controllers",
552
+ path_params=_path_params,
553
+ query_params=_query_params,
554
+ header_params=_header_params,
555
+ body=_body_params,
556
+ post_params=_form_params,
557
+ files=_files,
558
+ auth_settings=_auth_settings,
559
+ collection_formats=_collection_formats,
560
+ _host=_host,
561
+ _request_auth=_request_auth,
562
+ )
563
+
564
+ @validate_call
565
+ async def delete_robot_controller(
566
+ self,
567
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
568
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
569
+ completion_timeout: Optional[Annotated[int, Field(strict=True, ge=1)]] = None,
570
+ _request_timeout: Union[
571
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
572
+ ] = None,
573
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
574
+ _content_type: Optional[StrictStr] = None,
575
+ _headers: Optional[Dict[StrictStr, Any]] = None,
576
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
577
+ ) -> None:
578
+ """Delete Robot Controller
579
+
580
+ **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Delete a robot controller from the cell. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
581
+
582
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
583
+ :type cell: str
584
+ :param controller: Unique identifier to address a controller in the cell. (required)
585
+ :type controller: str
586
+ :param completion_timeout:
587
+ :type completion_timeout: int
588
+ :param _request_timeout: timeout setting for this request. If one
589
+ number provided, it will be total request
590
+ timeout. It can also be a pair (tuple) of
591
+ (connection, read) timeouts.
592
+ :type _request_timeout: int, tuple(int, int), optional
593
+ :param _request_auth: set to override the auth_settings for an a single
594
+ request; this effectively ignores the
595
+ authentication in the spec for a single request.
596
+ :type _request_auth: dict, optional
597
+ :param _content_type: force content-type for the request.
598
+ :type _content_type: str, Optional
599
+ :param _headers: set to override the headers for a single
600
+ request; this effectively ignores the headers
601
+ in the spec for a single request.
602
+ :type _headers: dict, optional
603
+ :param _host_index: set to override the host_index for a single
604
+ request; this effectively ignores the host_index
605
+ in the spec for a single request.
606
+ :type _host_index: int, optional
607
+ :return: Returns the result object.
608
+ """ # noqa: E501
609
+
610
+ _param = self._delete_robot_controller_serialize(
611
+ cell=cell,
612
+ controller=controller,
613
+ completion_timeout=completion_timeout,
614
+ _request_auth=_request_auth,
615
+ _content_type=_content_type,
616
+ _headers=_headers,
617
+ _host_index=_host_index,
618
+ )
619
+
620
+ _response_types_map: Dict[str, Optional[str]] = {
621
+ "200": None,
622
+ "202": None,
623
+ "404": "Error",
624
+ }
625
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
626
+ await response_data.read()
627
+ return self.api_client.response_deserialize(
628
+ response_data=response_data,
629
+ response_types_map=_response_types_map,
630
+ ).data
631
+
632
+ @validate_call
633
+ async def delete_robot_controller_with_http_info(
634
+ self,
635
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
636
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
637
+ completion_timeout: Optional[Annotated[int, Field(strict=True, ge=1)]] = None,
638
+ _request_timeout: Union[
639
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
640
+ ] = None,
641
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
642
+ _content_type: Optional[StrictStr] = None,
643
+ _headers: Optional[Dict[StrictStr, Any]] = None,
644
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
645
+ ) -> ApiResponse[None]:
646
+ """Delete Robot Controller
647
+
648
+ **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Delete a robot controller from the cell. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
649
+
650
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
651
+ :type cell: str
652
+ :param controller: Unique identifier to address a controller in the cell. (required)
653
+ :type controller: str
654
+ :param completion_timeout:
655
+ :type completion_timeout: int
656
+ :param _request_timeout: timeout setting for this request. If one
657
+ number provided, it will be total request
658
+ timeout. It can also be a pair (tuple) of
659
+ (connection, read) timeouts.
660
+ :type _request_timeout: int, tuple(int, int), optional
661
+ :param _request_auth: set to override the auth_settings for an a single
662
+ request; this effectively ignores the
663
+ authentication in the spec for a single request.
664
+ :type _request_auth: dict, optional
665
+ :param _content_type: force content-type for the request.
666
+ :type _content_type: str, Optional
667
+ :param _headers: set to override the headers for a single
668
+ request; this effectively ignores the headers
669
+ in the spec for a single request.
670
+ :type _headers: dict, optional
671
+ :param _host_index: set to override the host_index for a single
672
+ request; this effectively ignores the host_index
673
+ in the spec for a single request.
674
+ :type _host_index: int, optional
675
+ :return: Returns the result object.
676
+ """ # noqa: E501
677
+
678
+ _param = self._delete_robot_controller_serialize(
679
+ cell=cell,
680
+ controller=controller,
681
+ completion_timeout=completion_timeout,
682
+ _request_auth=_request_auth,
683
+ _content_type=_content_type,
684
+ _headers=_headers,
685
+ _host_index=_host_index,
686
+ )
687
+
688
+ _response_types_map: Dict[str, Optional[str]] = {
689
+ "200": None,
690
+ "202": None,
691
+ "404": "Error",
692
+ }
693
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
694
+ await response_data.read()
695
+ return self.api_client.response_deserialize(
696
+ response_data=response_data,
697
+ response_types_map=_response_types_map,
698
+ )
699
+
700
+ @validate_call
701
+ async def delete_robot_controller_without_preload_content(
702
+ self,
703
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
704
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
705
+ completion_timeout: Optional[Annotated[int, Field(strict=True, ge=1)]] = None,
706
+ _request_timeout: Union[
707
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
708
+ ] = None,
709
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
710
+ _content_type: Optional[StrictStr] = None,
711
+ _headers: Optional[Dict[StrictStr, Any]] = None,
712
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
713
+ ) -> RESTResponseType:
714
+ """Delete Robot Controller
715
+
716
+ **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Delete a robot controller from the cell. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior.
717
+
718
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
719
+ :type cell: str
720
+ :param controller: Unique identifier to address a controller in the cell. (required)
721
+ :type controller: str
722
+ :param completion_timeout:
723
+ :type completion_timeout: int
724
+ :param _request_timeout: timeout setting for this request. If one
725
+ number provided, it will be total request
726
+ timeout. It can also be a pair (tuple) of
727
+ (connection, read) timeouts.
728
+ :type _request_timeout: int, tuple(int, int), optional
729
+ :param _request_auth: set to override the auth_settings for an a single
730
+ request; this effectively ignores the
731
+ authentication in the spec for a single request.
732
+ :type _request_auth: dict, optional
733
+ :param _content_type: force content-type for the request.
734
+ :type _content_type: str, Optional
735
+ :param _headers: set to override the headers for a single
736
+ request; this effectively ignores the headers
737
+ in the spec for a single request.
738
+ :type _headers: dict, optional
739
+ :param _host_index: set to override the host_index for a single
740
+ request; this effectively ignores the host_index
741
+ in the spec for a single request.
742
+ :type _host_index: int, optional
743
+ :return: Returns the result object.
744
+ """ # noqa: E501
745
+
746
+ _param = self._delete_robot_controller_serialize(
747
+ cell=cell,
748
+ controller=controller,
749
+ completion_timeout=completion_timeout,
750
+ _request_auth=_request_auth,
751
+ _content_type=_content_type,
752
+ _headers=_headers,
753
+ _host_index=_host_index,
754
+ )
755
+
756
+ _response_types_map: Dict[str, Optional[str]] = {
757
+ "200": None,
758
+ "202": None,
759
+ "404": "Error",
760
+ }
761
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
762
+ return response_data.response
763
+
764
+ def _delete_robot_controller_serialize(
765
+ self,
766
+ cell,
767
+ controller,
768
+ completion_timeout,
769
+ _request_auth,
770
+ _content_type,
771
+ _headers,
772
+ _host_index,
773
+ ) -> RequestSerialized:
774
+
775
+ _host = None
776
+
777
+ _collection_formats: Dict[str, str] = {}
778
+
779
+ _path_params: Dict[str, str] = {}
780
+ _query_params: List[Tuple[str, str]] = []
781
+ _header_params: Dict[str, Optional[str]] = _headers or {}
782
+ _form_params: List[Tuple[str, str]] = []
783
+ _files: Dict[str, Union[str, bytes]] = {}
784
+ _body_params: Optional[bytes] = None
785
+
786
+ # process the path parameters
787
+ if cell is not None:
788
+ _path_params["cell"] = cell
789
+ if controller is not None:
790
+ _path_params["controller"] = controller
791
+ # process the query parameters
792
+ if completion_timeout is not None:
793
+ _query_params.append(("completionTimeout", completion_timeout))
794
+
795
+ # process the header parameters
796
+ # process the form parameters
797
+ # process the body parameter
798
+
799
+ # set the HTTP header `Accept`
800
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
801
+
802
+ # authentication setting
803
+ _auth_settings: List[str] = ["BearerAuth"]
804
+
805
+ return self.api_client.param_serialize(
806
+ method="DELETE",
807
+ resource_path="/cells/{cell}/controllers/{controller}",
808
+ path_params=_path_params,
809
+ query_params=_query_params,
810
+ header_params=_header_params,
811
+ body=_body_params,
812
+ post_params=_form_params,
813
+ files=_files,
814
+ auth_settings=_auth_settings,
815
+ collection_formats=_collection_formats,
816
+ _host=_host,
817
+ _request_auth=_request_auth,
818
+ )
819
+
820
+ @validate_call
821
+ async def get_current_robot_controller_state(
822
+ self,
823
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
824
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
825
+ _request_timeout: Union[
826
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
827
+ ] = None,
828
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
829
+ _content_type: Optional[StrictStr] = None,
830
+ _headers: Optional[Dict[StrictStr, Any]] = None,
831
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
832
+ ) -> RobotControllerState:
833
+ """State of Device
834
+
835
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the current state of a robot controller.
836
+
837
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
838
+ :type cell: str
839
+ :param controller: Unique identifier to address a controller in the cell. (required)
840
+ :type controller: str
841
+ :param _request_timeout: timeout setting for this request. If one
842
+ number provided, it will be total request
843
+ timeout. It can also be a pair (tuple) of
844
+ (connection, read) timeouts.
845
+ :type _request_timeout: int, tuple(int, int), optional
846
+ :param _request_auth: set to override the auth_settings for an a single
847
+ request; this effectively ignores the
848
+ authentication in the spec for a single request.
849
+ :type _request_auth: dict, optional
850
+ :param _content_type: force content-type for the request.
851
+ :type _content_type: str, Optional
852
+ :param _headers: set to override the headers for a single
853
+ request; this effectively ignores the headers
854
+ in the spec for a single request.
855
+ :type _headers: dict, optional
856
+ :param _host_index: set to override the host_index for a single
857
+ request; this effectively ignores the host_index
858
+ in the spec for a single request.
859
+ :type _host_index: int, optional
860
+ :return: Returns the result object.
861
+ """ # noqa: E501
862
+
863
+ _param = self._get_current_robot_controller_state_serialize(
864
+ cell=cell,
865
+ controller=controller,
866
+ _request_auth=_request_auth,
867
+ _content_type=_content_type,
868
+ _headers=_headers,
869
+ _host_index=_host_index,
870
+ )
871
+
872
+ _response_types_map: Dict[str, Optional[str]] = {
873
+ "200": "RobotControllerState",
874
+ }
875
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
876
+ await response_data.read()
877
+ return self.api_client.response_deserialize(
878
+ response_data=response_data,
879
+ response_types_map=_response_types_map,
880
+ ).data
881
+
882
+ @validate_call
883
+ async def get_current_robot_controller_state_with_http_info(
884
+ self,
885
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
886
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
887
+ _request_timeout: Union[
888
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
889
+ ] = None,
890
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
891
+ _content_type: Optional[StrictStr] = None,
892
+ _headers: Optional[Dict[StrictStr, Any]] = None,
893
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
894
+ ) -> ApiResponse[RobotControllerState]:
895
+ """State of Device
896
+
897
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the current state of a robot controller.
898
+
899
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
900
+ :type cell: str
901
+ :param controller: Unique identifier to address a controller in the cell. (required)
902
+ :type controller: str
903
+ :param _request_timeout: timeout setting for this request. If one
904
+ number provided, it will be total request
905
+ timeout. It can also be a pair (tuple) of
906
+ (connection, read) timeouts.
907
+ :type _request_timeout: int, tuple(int, int), optional
908
+ :param _request_auth: set to override the auth_settings for an a single
909
+ request; this effectively ignores the
910
+ authentication in the spec for a single request.
911
+ :type _request_auth: dict, optional
912
+ :param _content_type: force content-type for the request.
913
+ :type _content_type: str, Optional
914
+ :param _headers: set to override the headers for a single
915
+ request; this effectively ignores the headers
916
+ in the spec for a single request.
917
+ :type _headers: dict, optional
918
+ :param _host_index: set to override the host_index for a single
919
+ request; this effectively ignores the host_index
920
+ in the spec for a single request.
921
+ :type _host_index: int, optional
922
+ :return: Returns the result object.
923
+ """ # noqa: E501
924
+
925
+ _param = self._get_current_robot_controller_state_serialize(
926
+ cell=cell,
927
+ controller=controller,
928
+ _request_auth=_request_auth,
929
+ _content_type=_content_type,
930
+ _headers=_headers,
931
+ _host_index=_host_index,
932
+ )
933
+
934
+ _response_types_map: Dict[str, Optional[str]] = {
935
+ "200": "RobotControllerState",
936
+ }
937
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
938
+ await response_data.read()
939
+ return self.api_client.response_deserialize(
940
+ response_data=response_data,
941
+ response_types_map=_response_types_map,
942
+ )
943
+
944
+ @validate_call
945
+ async def get_current_robot_controller_state_without_preload_content(
946
+ self,
947
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
948
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
949
+ _request_timeout: Union[
950
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
951
+ ] = None,
952
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
953
+ _content_type: Optional[StrictStr] = None,
954
+ _headers: Optional[Dict[StrictStr, Any]] = None,
955
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
956
+ ) -> RESTResponseType:
957
+ """State of Device
958
+
959
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the current state of a robot controller.
960
+
961
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
962
+ :type cell: str
963
+ :param controller: Unique identifier to address a controller in the cell. (required)
964
+ :type controller: str
965
+ :param _request_timeout: timeout setting for this request. If one
966
+ number provided, it will be total request
967
+ timeout. It can also be a pair (tuple) of
968
+ (connection, read) timeouts.
969
+ :type _request_timeout: int, tuple(int, int), optional
970
+ :param _request_auth: set to override the auth_settings for an a single
971
+ request; this effectively ignores the
972
+ authentication in the spec for a single request.
973
+ :type _request_auth: dict, optional
974
+ :param _content_type: force content-type for the request.
975
+ :type _content_type: str, Optional
976
+ :param _headers: set to override the headers for a single
977
+ request; this effectively ignores the headers
978
+ in the spec for a single request.
979
+ :type _headers: dict, optional
980
+ :param _host_index: set to override the host_index for a single
981
+ request; this effectively ignores the host_index
982
+ in the spec for a single request.
983
+ :type _host_index: int, optional
984
+ :return: Returns the result object.
985
+ """ # noqa: E501
986
+
987
+ _param = self._get_current_robot_controller_state_serialize(
988
+ cell=cell,
989
+ controller=controller,
990
+ _request_auth=_request_auth,
991
+ _content_type=_content_type,
992
+ _headers=_headers,
993
+ _host_index=_host_index,
994
+ )
995
+
996
+ _response_types_map: Dict[str, Optional[str]] = {
997
+ "200": "RobotControllerState",
998
+ }
999
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1000
+ return response_data.response
1001
+
1002
+ def _get_current_robot_controller_state_serialize(
1003
+ self,
1004
+ cell,
1005
+ controller,
1006
+ _request_auth,
1007
+ _content_type,
1008
+ _headers,
1009
+ _host_index,
1010
+ ) -> RequestSerialized:
1011
+
1012
+ _host = None
1013
+
1014
+ _collection_formats: Dict[str, str] = {}
1015
+
1016
+ _path_params: Dict[str, str] = {}
1017
+ _query_params: List[Tuple[str, str]] = []
1018
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1019
+ _form_params: List[Tuple[str, str]] = []
1020
+ _files: Dict[str, Union[str, bytes]] = {}
1021
+ _body_params: Optional[bytes] = None
1022
+
1023
+ # process the path parameters
1024
+ if cell is not None:
1025
+ _path_params["cell"] = cell
1026
+ if controller is not None:
1027
+ _path_params["controller"] = controller
1028
+ # process the query parameters
1029
+ # process the header parameters
1030
+ # process the form parameters
1031
+ # process the body parameter
1032
+
1033
+ # set the HTTP header `Accept`
1034
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1035
+
1036
+ # authentication setting
1037
+ _auth_settings: List[str] = ["BearerAuth"]
1038
+
1039
+ return self.api_client.param_serialize(
1040
+ method="GET",
1041
+ resource_path="/cells/{cell}/controllers/{controller}/state",
1042
+ path_params=_path_params,
1043
+ query_params=_query_params,
1044
+ header_params=_header_params,
1045
+ body=_body_params,
1046
+ post_params=_form_params,
1047
+ files=_files,
1048
+ auth_settings=_auth_settings,
1049
+ collection_formats=_collection_formats,
1050
+ _host=_host,
1051
+ _request_auth=_request_auth,
1052
+ )
1053
+
1054
+ @validate_call
1055
+ async def get_mode(
1056
+ self,
1057
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1058
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1059
+ _request_timeout: Union[
1060
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1061
+ ] = None,
1062
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1063
+ _content_type: Optional[StrictStr] = None,
1064
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1065
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1066
+ ) -> GetModeResponse:
1067
+ """Current Mode
1068
+
1069
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the current robot system mode of a registered robot controller. The robot system mode indicates if a robot controller can be used. See [setDefaultMode](#/operations/setDefaultMode) for more information about the different modes. The mode is influenced by the operating mode of the robot controller. The operating mode can be changed via [setDefaultMode](#/operations/setDefaultMode). Request the current operating mode of the robot controller via [getCurrentRobotControllerState](#/operations/getCurrentRobotControllerState).
1070
+
1071
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1072
+ :type cell: str
1073
+ :param controller: Unique identifier to address a controller in the cell. (required)
1074
+ :type controller: str
1075
+ :param _request_timeout: timeout setting for this request. If one
1076
+ number provided, it will be total request
1077
+ timeout. It can also be a pair (tuple) of
1078
+ (connection, read) timeouts.
1079
+ :type _request_timeout: int, tuple(int, int), optional
1080
+ :param _request_auth: set to override the auth_settings for an a single
1081
+ request; this effectively ignores the
1082
+ authentication in the spec for a single request.
1083
+ :type _request_auth: dict, optional
1084
+ :param _content_type: force content-type for the request.
1085
+ :type _content_type: str, Optional
1086
+ :param _headers: set to override the headers for a single
1087
+ request; this effectively ignores the headers
1088
+ in the spec for a single request.
1089
+ :type _headers: dict, optional
1090
+ :param _host_index: set to override the host_index for a single
1091
+ request; this effectively ignores the host_index
1092
+ in the spec for a single request.
1093
+ :type _host_index: int, optional
1094
+ :return: Returns the result object.
1095
+ """ # noqa: E501
1096
+
1097
+ _param = self._get_mode_serialize(
1098
+ cell=cell,
1099
+ controller=controller,
1100
+ _request_auth=_request_auth,
1101
+ _content_type=_content_type,
1102
+ _headers=_headers,
1103
+ _host_index=_host_index,
1104
+ )
1105
+
1106
+ _response_types_map: Dict[str, Optional[str]] = {
1107
+ "200": "GetModeResponse",
1108
+ }
1109
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1110
+ await response_data.read()
1111
+ return self.api_client.response_deserialize(
1112
+ response_data=response_data,
1113
+ response_types_map=_response_types_map,
1114
+ ).data
1115
+
1116
+ @validate_call
1117
+ async def get_mode_with_http_info(
1118
+ self,
1119
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1120
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1121
+ _request_timeout: Union[
1122
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1123
+ ] = None,
1124
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1125
+ _content_type: Optional[StrictStr] = None,
1126
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1127
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1128
+ ) -> ApiResponse[GetModeResponse]:
1129
+ """Current Mode
1130
+
1131
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the current robot system mode of a registered robot controller. The robot system mode indicates if a robot controller can be used. See [setDefaultMode](#/operations/setDefaultMode) for more information about the different modes. The mode is influenced by the operating mode of the robot controller. The operating mode can be changed via [setDefaultMode](#/operations/setDefaultMode). Request the current operating mode of the robot controller via [getCurrentRobotControllerState](#/operations/getCurrentRobotControllerState).
1132
+
1133
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1134
+ :type cell: str
1135
+ :param controller: Unique identifier to address a controller in the cell. (required)
1136
+ :type controller: str
1137
+ :param _request_timeout: timeout setting for this request. If one
1138
+ number provided, it will be total request
1139
+ timeout. It can also be a pair (tuple) of
1140
+ (connection, read) timeouts.
1141
+ :type _request_timeout: int, tuple(int, int), optional
1142
+ :param _request_auth: set to override the auth_settings for an a single
1143
+ request; this effectively ignores the
1144
+ authentication in the spec for a single request.
1145
+ :type _request_auth: dict, optional
1146
+ :param _content_type: force content-type for the request.
1147
+ :type _content_type: str, Optional
1148
+ :param _headers: set to override the headers for a single
1149
+ request; this effectively ignores the headers
1150
+ in the spec for a single request.
1151
+ :type _headers: dict, optional
1152
+ :param _host_index: set to override the host_index for a single
1153
+ request; this effectively ignores the host_index
1154
+ in the spec for a single request.
1155
+ :type _host_index: int, optional
1156
+ :return: Returns the result object.
1157
+ """ # noqa: E501
1158
+
1159
+ _param = self._get_mode_serialize(
1160
+ cell=cell,
1161
+ controller=controller,
1162
+ _request_auth=_request_auth,
1163
+ _content_type=_content_type,
1164
+ _headers=_headers,
1165
+ _host_index=_host_index,
1166
+ )
1167
+
1168
+ _response_types_map: Dict[str, Optional[str]] = {
1169
+ "200": "GetModeResponse",
1170
+ }
1171
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1172
+ await response_data.read()
1173
+ return self.api_client.response_deserialize(
1174
+ response_data=response_data,
1175
+ response_types_map=_response_types_map,
1176
+ )
1177
+
1178
+ @validate_call
1179
+ async def get_mode_without_preload_content(
1180
+ self,
1181
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1182
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1183
+ _request_timeout: Union[
1184
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1185
+ ] = None,
1186
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1187
+ _content_type: Optional[StrictStr] = None,
1188
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1189
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1190
+ ) -> RESTResponseType:
1191
+ """Current Mode
1192
+
1193
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the current robot system mode of a registered robot controller. The robot system mode indicates if a robot controller can be used. See [setDefaultMode](#/operations/setDefaultMode) for more information about the different modes. The mode is influenced by the operating mode of the robot controller. The operating mode can be changed via [setDefaultMode](#/operations/setDefaultMode). Request the current operating mode of the robot controller via [getCurrentRobotControllerState](#/operations/getCurrentRobotControllerState).
1194
+
1195
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1196
+ :type cell: str
1197
+ :param controller: Unique identifier to address a controller in the cell. (required)
1198
+ :type controller: str
1199
+ :param _request_timeout: timeout setting for this request. If one
1200
+ number provided, it will be total request
1201
+ timeout. It can also be a pair (tuple) of
1202
+ (connection, read) timeouts.
1203
+ :type _request_timeout: int, tuple(int, int), optional
1204
+ :param _request_auth: set to override the auth_settings for an a single
1205
+ request; this effectively ignores the
1206
+ authentication in the spec for a single request.
1207
+ :type _request_auth: dict, optional
1208
+ :param _content_type: force content-type for the request.
1209
+ :type _content_type: str, Optional
1210
+ :param _headers: set to override the headers for a single
1211
+ request; this effectively ignores the headers
1212
+ in the spec for a single request.
1213
+ :type _headers: dict, optional
1214
+ :param _host_index: set to override the host_index for a single
1215
+ request; this effectively ignores the host_index
1216
+ in the spec for a single request.
1217
+ :type _host_index: int, optional
1218
+ :return: Returns the result object.
1219
+ """ # noqa: E501
1220
+
1221
+ _param = self._get_mode_serialize(
1222
+ cell=cell,
1223
+ controller=controller,
1224
+ _request_auth=_request_auth,
1225
+ _content_type=_content_type,
1226
+ _headers=_headers,
1227
+ _host_index=_host_index,
1228
+ )
1229
+
1230
+ _response_types_map: Dict[str, Optional[str]] = {
1231
+ "200": "GetModeResponse",
1232
+ }
1233
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1234
+ return response_data.response
1235
+
1236
+ def _get_mode_serialize(
1237
+ self,
1238
+ cell,
1239
+ controller,
1240
+ _request_auth,
1241
+ _content_type,
1242
+ _headers,
1243
+ _host_index,
1244
+ ) -> RequestSerialized:
1245
+
1246
+ _host = None
1247
+
1248
+ _collection_formats: Dict[str, str] = {}
1249
+
1250
+ _path_params: Dict[str, str] = {}
1251
+ _query_params: List[Tuple[str, str]] = []
1252
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1253
+ _form_params: List[Tuple[str, str]] = []
1254
+ _files: Dict[str, Union[str, bytes]] = {}
1255
+ _body_params: Optional[bytes] = None
1256
+
1257
+ # process the path parameters
1258
+ if cell is not None:
1259
+ _path_params["cell"] = cell
1260
+ if controller is not None:
1261
+ _path_params["controller"] = controller
1262
+ # process the query parameters
1263
+ # process the header parameters
1264
+ # process the form parameters
1265
+ # process the body parameter
1266
+
1267
+ # set the HTTP header `Accept`
1268
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1269
+
1270
+ # authentication setting
1271
+ _auth_settings: List[str] = ["BearerAuth"]
1272
+
1273
+ return self.api_client.param_serialize(
1274
+ method="GET",
1275
+ resource_path="/cells/{cell}/controllers/{controller}/mode",
1276
+ path_params=_path_params,
1277
+ query_params=_query_params,
1278
+ header_params=_header_params,
1279
+ body=_body_params,
1280
+ post_params=_form_params,
1281
+ files=_files,
1282
+ auth_settings=_auth_settings,
1283
+ collection_formats=_collection_formats,
1284
+ _host=_host,
1285
+ _request_auth=_request_auth,
1286
+ )
1287
+
1288
+ @validate_call
1289
+ async def get_robot_controller(
1290
+ self,
1291
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1292
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1293
+ _request_timeout: Union[
1294
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1295
+ ] = None,
1296
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1297
+ _content_type: Optional[StrictStr] = None,
1298
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1299
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1300
+ ) -> RobotController:
1301
+ """Robot Controller Configuration
1302
+
1303
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the configuration for a robot controller.
1304
+
1305
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1306
+ :type cell: str
1307
+ :param controller: Unique identifier to address a controller in the cell. (required)
1308
+ :type controller: str
1309
+ :param _request_timeout: timeout setting for this request. If one
1310
+ number provided, it will be total request
1311
+ timeout. It can also be a pair (tuple) of
1312
+ (connection, read) timeouts.
1313
+ :type _request_timeout: int, tuple(int, int), optional
1314
+ :param _request_auth: set to override the auth_settings for an a single
1315
+ request; this effectively ignores the
1316
+ authentication in the spec for a single request.
1317
+ :type _request_auth: dict, optional
1318
+ :param _content_type: force content-type for the request.
1319
+ :type _content_type: str, Optional
1320
+ :param _headers: set to override the headers for a single
1321
+ request; this effectively ignores the headers
1322
+ in the spec for a single request.
1323
+ :type _headers: dict, optional
1324
+ :param _host_index: set to override the host_index for a single
1325
+ request; this effectively ignores the host_index
1326
+ in the spec for a single request.
1327
+ :type _host_index: int, optional
1328
+ :return: Returns the result object.
1329
+ """ # noqa: E501
1330
+
1331
+ _param = self._get_robot_controller_serialize(
1332
+ cell=cell,
1333
+ controller=controller,
1334
+ _request_auth=_request_auth,
1335
+ _content_type=_content_type,
1336
+ _headers=_headers,
1337
+ _host_index=_host_index,
1338
+ )
1339
+
1340
+ _response_types_map: Dict[str, Optional[str]] = {
1341
+ "200": "RobotController",
1342
+ "404": "Error",
1343
+ }
1344
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1345
+ await response_data.read()
1346
+ return self.api_client.response_deserialize(
1347
+ response_data=response_data,
1348
+ response_types_map=_response_types_map,
1349
+ ).data
1350
+
1351
+ @validate_call
1352
+ async def get_robot_controller_with_http_info(
1353
+ self,
1354
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1355
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1356
+ _request_timeout: Union[
1357
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1358
+ ] = None,
1359
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1360
+ _content_type: Optional[StrictStr] = None,
1361
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1362
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1363
+ ) -> ApiResponse[RobotController]:
1364
+ """Robot Controller Configuration
1365
+
1366
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the configuration for a robot controller.
1367
+
1368
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1369
+ :type cell: str
1370
+ :param controller: Unique identifier to address a controller in the cell. (required)
1371
+ :type controller: str
1372
+ :param _request_timeout: timeout setting for this request. If one
1373
+ number provided, it will be total request
1374
+ timeout. It can also be a pair (tuple) of
1375
+ (connection, read) timeouts.
1376
+ :type _request_timeout: int, tuple(int, int), optional
1377
+ :param _request_auth: set to override the auth_settings for an a single
1378
+ request; this effectively ignores the
1379
+ authentication in the spec for a single request.
1380
+ :type _request_auth: dict, optional
1381
+ :param _content_type: force content-type for the request.
1382
+ :type _content_type: str, Optional
1383
+ :param _headers: set to override the headers for a single
1384
+ request; this effectively ignores the headers
1385
+ in the spec for a single request.
1386
+ :type _headers: dict, optional
1387
+ :param _host_index: set to override the host_index for a single
1388
+ request; this effectively ignores the host_index
1389
+ in the spec for a single request.
1390
+ :type _host_index: int, optional
1391
+ :return: Returns the result object.
1392
+ """ # noqa: E501
1393
+
1394
+ _param = self._get_robot_controller_serialize(
1395
+ cell=cell,
1396
+ controller=controller,
1397
+ _request_auth=_request_auth,
1398
+ _content_type=_content_type,
1399
+ _headers=_headers,
1400
+ _host_index=_host_index,
1401
+ )
1402
+
1403
+ _response_types_map: Dict[str, Optional[str]] = {
1404
+ "200": "RobotController",
1405
+ "404": "Error",
1406
+ }
1407
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1408
+ await response_data.read()
1409
+ return self.api_client.response_deserialize(
1410
+ response_data=response_data,
1411
+ response_types_map=_response_types_map,
1412
+ )
1413
+
1414
+ @validate_call
1415
+ async def get_robot_controller_without_preload_content(
1416
+ self,
1417
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1418
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1419
+ _request_timeout: Union[
1420
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1421
+ ] = None,
1422
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1423
+ _content_type: Optional[StrictStr] = None,
1424
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1425
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1426
+ ) -> RESTResponseType:
1427
+ """Robot Controller Configuration
1428
+
1429
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the configuration for a robot controller.
1430
+
1431
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1432
+ :type cell: str
1433
+ :param controller: Unique identifier to address a controller in the cell. (required)
1434
+ :type controller: str
1435
+ :param _request_timeout: timeout setting for this request. If one
1436
+ number provided, it will be total request
1437
+ timeout. It can also be a pair (tuple) of
1438
+ (connection, read) timeouts.
1439
+ :type _request_timeout: int, tuple(int, int), optional
1440
+ :param _request_auth: set to override the auth_settings for an a single
1441
+ request; this effectively ignores the
1442
+ authentication in the spec for a single request.
1443
+ :type _request_auth: dict, optional
1444
+ :param _content_type: force content-type for the request.
1445
+ :type _content_type: str, Optional
1446
+ :param _headers: set to override the headers for a single
1447
+ request; this effectively ignores the headers
1448
+ in the spec for a single request.
1449
+ :type _headers: dict, optional
1450
+ :param _host_index: set to override the host_index for a single
1451
+ request; this effectively ignores the host_index
1452
+ in the spec for a single request.
1453
+ :type _host_index: int, optional
1454
+ :return: Returns the result object.
1455
+ """ # noqa: E501
1456
+
1457
+ _param = self._get_robot_controller_serialize(
1458
+ cell=cell,
1459
+ controller=controller,
1460
+ _request_auth=_request_auth,
1461
+ _content_type=_content_type,
1462
+ _headers=_headers,
1463
+ _host_index=_host_index,
1464
+ )
1465
+
1466
+ _response_types_map: Dict[str, Optional[str]] = {
1467
+ "200": "RobotController",
1468
+ "404": "Error",
1469
+ }
1470
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1471
+ return response_data.response
1472
+
1473
+ def _get_robot_controller_serialize(
1474
+ self,
1475
+ cell,
1476
+ controller,
1477
+ _request_auth,
1478
+ _content_type,
1479
+ _headers,
1480
+ _host_index,
1481
+ ) -> RequestSerialized:
1482
+
1483
+ _host = None
1484
+
1485
+ _collection_formats: Dict[str, str] = {}
1486
+
1487
+ _path_params: Dict[str, str] = {}
1488
+ _query_params: List[Tuple[str, str]] = []
1489
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1490
+ _form_params: List[Tuple[str, str]] = []
1491
+ _files: Dict[str, Union[str, bytes]] = {}
1492
+ _body_params: Optional[bytes] = None
1493
+
1494
+ # process the path parameters
1495
+ if cell is not None:
1496
+ _path_params["cell"] = cell
1497
+ if controller is not None:
1498
+ _path_params["controller"] = controller
1499
+ # process the query parameters
1500
+ # process the header parameters
1501
+ # process the form parameters
1502
+ # process the body parameter
1503
+
1504
+ # set the HTTP header `Accept`
1505
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1506
+
1507
+ # authentication setting
1508
+ _auth_settings: List[str] = ["BearerAuth"]
1509
+
1510
+ return self.api_client.param_serialize(
1511
+ method="GET",
1512
+ resource_path="/cells/{cell}/controllers/{controller}",
1513
+ path_params=_path_params,
1514
+ query_params=_query_params,
1515
+ header_params=_header_params,
1516
+ body=_body_params,
1517
+ post_params=_form_params,
1518
+ files=_files,
1519
+ auth_settings=_auth_settings,
1520
+ collection_formats=_collection_formats,
1521
+ _host=_host,
1522
+ _request_auth=_request_auth,
1523
+ )
1524
+
1525
+ @validate_call
1526
+ async def get_supported_modes(
1527
+ self,
1528
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1529
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1530
+ _request_timeout: Union[
1531
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1532
+ ] = None,
1533
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1534
+ _content_type: Optional[StrictStr] = None,
1535
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1536
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1537
+ ) -> ControllerCapabilities:
1538
+ """Supported Motion Modes
1539
+
1540
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Lists supported operating modes. Usually cobots support free drive and control, industrial robots only support control.
1541
+
1542
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1543
+ :type cell: str
1544
+ :param controller: Unique identifier to address a controller in the cell. (required)
1545
+ :type controller: str
1546
+ :param _request_timeout: timeout setting for this request. If one
1547
+ number provided, it will be total request
1548
+ timeout. It can also be a pair (tuple) of
1549
+ (connection, read) timeouts.
1550
+ :type _request_timeout: int, tuple(int, int), optional
1551
+ :param _request_auth: set to override the auth_settings for an a single
1552
+ request; this effectively ignores the
1553
+ authentication in the spec for a single request.
1554
+ :type _request_auth: dict, optional
1555
+ :param _content_type: force content-type for the request.
1556
+ :type _content_type: str, Optional
1557
+ :param _headers: set to override the headers for a single
1558
+ request; this effectively ignores the headers
1559
+ in the spec for a single request.
1560
+ :type _headers: dict, optional
1561
+ :param _host_index: set to override the host_index for a single
1562
+ request; this effectively ignores the host_index
1563
+ in the spec for a single request.
1564
+ :type _host_index: int, optional
1565
+ :return: Returns the result object.
1566
+ """ # noqa: E501
1567
+
1568
+ _param = self._get_supported_modes_serialize(
1569
+ cell=cell,
1570
+ controller=controller,
1571
+ _request_auth=_request_auth,
1572
+ _content_type=_content_type,
1573
+ _headers=_headers,
1574
+ _host_index=_host_index,
1575
+ )
1576
+
1577
+ _response_types_map: Dict[str, Optional[str]] = {
1578
+ "200": "ControllerCapabilities",
1579
+ }
1580
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1581
+ await response_data.read()
1582
+ return self.api_client.response_deserialize(
1583
+ response_data=response_data,
1584
+ response_types_map=_response_types_map,
1585
+ ).data
1586
+
1587
+ @validate_call
1588
+ async def get_supported_modes_with_http_info(
1589
+ self,
1590
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1591
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1592
+ _request_timeout: Union[
1593
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1594
+ ] = None,
1595
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1596
+ _content_type: Optional[StrictStr] = None,
1597
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1598
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1599
+ ) -> ApiResponse[ControllerCapabilities]:
1600
+ """Supported Motion Modes
1601
+
1602
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Lists supported operating modes. Usually cobots support free drive and control, industrial robots only support control.
1603
+
1604
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1605
+ :type cell: str
1606
+ :param controller: Unique identifier to address a controller in the cell. (required)
1607
+ :type controller: str
1608
+ :param _request_timeout: timeout setting for this request. If one
1609
+ number provided, it will be total request
1610
+ timeout. It can also be a pair (tuple) of
1611
+ (connection, read) timeouts.
1612
+ :type _request_timeout: int, tuple(int, int), optional
1613
+ :param _request_auth: set to override the auth_settings for an a single
1614
+ request; this effectively ignores the
1615
+ authentication in the spec for a single request.
1616
+ :type _request_auth: dict, optional
1617
+ :param _content_type: force content-type for the request.
1618
+ :type _content_type: str, Optional
1619
+ :param _headers: set to override the headers for a single
1620
+ request; this effectively ignores the headers
1621
+ in the spec for a single request.
1622
+ :type _headers: dict, optional
1623
+ :param _host_index: set to override the host_index for a single
1624
+ request; this effectively ignores the host_index
1625
+ in the spec for a single request.
1626
+ :type _host_index: int, optional
1627
+ :return: Returns the result object.
1628
+ """ # noqa: E501
1629
+
1630
+ _param = self._get_supported_modes_serialize(
1631
+ cell=cell,
1632
+ controller=controller,
1633
+ _request_auth=_request_auth,
1634
+ _content_type=_content_type,
1635
+ _headers=_headers,
1636
+ _host_index=_host_index,
1637
+ )
1638
+
1639
+ _response_types_map: Dict[str, Optional[str]] = {
1640
+ "200": "ControllerCapabilities",
1641
+ }
1642
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1643
+ await response_data.read()
1644
+ return self.api_client.response_deserialize(
1645
+ response_data=response_data,
1646
+ response_types_map=_response_types_map,
1647
+ )
1648
+
1649
+ @validate_call
1650
+ async def get_supported_modes_without_preload_content(
1651
+ self,
1652
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1653
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1654
+ _request_timeout: Union[
1655
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1656
+ ] = None,
1657
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1658
+ _content_type: Optional[StrictStr] = None,
1659
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1660
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1661
+ ) -> RESTResponseType:
1662
+ """Supported Motion Modes
1663
+
1664
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Lists supported operating modes. Usually cobots support free drive and control, industrial robots only support control.
1665
+
1666
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1667
+ :type cell: str
1668
+ :param controller: Unique identifier to address a controller in the cell. (required)
1669
+ :type controller: str
1670
+ :param _request_timeout: timeout setting for this request. If one
1671
+ number provided, it will be total request
1672
+ timeout. It can also be a pair (tuple) of
1673
+ (connection, read) timeouts.
1674
+ :type _request_timeout: int, tuple(int, int), optional
1675
+ :param _request_auth: set to override the auth_settings for an a single
1676
+ request; this effectively ignores the
1677
+ authentication in the spec for a single request.
1678
+ :type _request_auth: dict, optional
1679
+ :param _content_type: force content-type for the request.
1680
+ :type _content_type: str, Optional
1681
+ :param _headers: set to override the headers for a single
1682
+ request; this effectively ignores the headers
1683
+ in the spec for a single request.
1684
+ :type _headers: dict, optional
1685
+ :param _host_index: set to override the host_index for a single
1686
+ request; this effectively ignores the host_index
1687
+ in the spec for a single request.
1688
+ :type _host_index: int, optional
1689
+ :return: Returns the result object.
1690
+ """ # noqa: E501
1691
+
1692
+ _param = self._get_supported_modes_serialize(
1693
+ cell=cell,
1694
+ controller=controller,
1695
+ _request_auth=_request_auth,
1696
+ _content_type=_content_type,
1697
+ _headers=_headers,
1698
+ _host_index=_host_index,
1699
+ )
1700
+
1701
+ _response_types_map: Dict[str, Optional[str]] = {
1702
+ "200": "ControllerCapabilities",
1703
+ }
1704
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1705
+ return response_data.response
1706
+
1707
+ def _get_supported_modes_serialize(
1708
+ self,
1709
+ cell,
1710
+ controller,
1711
+ _request_auth,
1712
+ _content_type,
1713
+ _headers,
1714
+ _host_index,
1715
+ ) -> RequestSerialized:
1716
+
1717
+ _host = None
1718
+
1719
+ _collection_formats: Dict[str, str] = {}
1720
+
1721
+ _path_params: Dict[str, str] = {}
1722
+ _query_params: List[Tuple[str, str]] = []
1723
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1724
+ _form_params: List[Tuple[str, str]] = []
1725
+ _files: Dict[str, Union[str, bytes]] = {}
1726
+ _body_params: Optional[bytes] = None
1727
+
1728
+ # process the path parameters
1729
+ if cell is not None:
1730
+ _path_params["cell"] = cell
1731
+ if controller is not None:
1732
+ _path_params["controller"] = controller
1733
+ # process the query parameters
1734
+ # process the header parameters
1735
+ # process the form parameters
1736
+ # process the body parameter
1737
+
1738
+ # set the HTTP header `Accept`
1739
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1740
+
1741
+ # authentication setting
1742
+ _auth_settings: List[str] = ["BearerAuth"]
1743
+
1744
+ return self.api_client.param_serialize(
1745
+ method="GET",
1746
+ resource_path="/cells/{cell}/controllers/{controller}/controller-capabilities",
1747
+ path_params=_path_params,
1748
+ query_params=_query_params,
1749
+ header_params=_header_params,
1750
+ body=_body_params,
1751
+ post_params=_form_params,
1752
+ files=_files,
1753
+ auth_settings=_auth_settings,
1754
+ collection_formats=_collection_formats,
1755
+ _host=_host,
1756
+ _request_auth=_request_auth,
1757
+ )
1758
+
1759
+ @validate_call
1760
+ async def get_virtual_robot_configuration(
1761
+ self,
1762
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1763
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1764
+ _request_timeout: Union[
1765
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1766
+ ] = None,
1767
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1768
+ _content_type: Optional[StrictStr] = None,
1769
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1770
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1771
+ ) -> VirtualRobotConfiguration:
1772
+ """Virtual Robot Configuration
1773
+
1774
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Receive data to configure a virtual robot controller based on another controller. This can be used to create a virtual clone of a specific physical robot. When adding a virtual controller, use the virtual configuration variant of [addRobotController](#/operations/addRobotController) and pass the content string from this endpoint as the `json` field. Omit the `type` field that selects a preset configuration, which is not required when providing a complete configuration. > **NOTE** > > The output generated by this endpoint can be too large for the site to handle and may produce an error or incorrect output. > Use `curl` in combination with `> output.json` to capture the output, or use an API client like Postman.
1775
+
1776
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1777
+ :type cell: str
1778
+ :param controller: Unique identifier to address a controller in the cell. (required)
1779
+ :type controller: str
1780
+ :param _request_timeout: timeout setting for this request. If one
1781
+ number provided, it will be total request
1782
+ timeout. It can also be a pair (tuple) of
1783
+ (connection, read) timeouts.
1784
+ :type _request_timeout: int, tuple(int, int), optional
1785
+ :param _request_auth: set to override the auth_settings for an a single
1786
+ request; this effectively ignores the
1787
+ authentication in the spec for a single request.
1788
+ :type _request_auth: dict, optional
1789
+ :param _content_type: force content-type for the request.
1790
+ :type _content_type: str, Optional
1791
+ :param _headers: set to override the headers for a single
1792
+ request; this effectively ignores the headers
1793
+ in the spec for a single request.
1794
+ :type _headers: dict, optional
1795
+ :param _host_index: set to override the host_index for a single
1796
+ request; this effectively ignores the host_index
1797
+ in the spec for a single request.
1798
+ :type _host_index: int, optional
1799
+ :return: Returns the result object.
1800
+ """ # noqa: E501
1801
+
1802
+ _param = self._get_virtual_robot_configuration_serialize(
1803
+ cell=cell,
1804
+ controller=controller,
1805
+ _request_auth=_request_auth,
1806
+ _content_type=_content_type,
1807
+ _headers=_headers,
1808
+ _host_index=_host_index,
1809
+ )
1810
+
1811
+ _response_types_map: Dict[str, Optional[str]] = {
1812
+ "200": "VirtualRobotConfiguration",
1813
+ }
1814
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1815
+ await response_data.read()
1816
+ return self.api_client.response_deserialize(
1817
+ response_data=response_data,
1818
+ response_types_map=_response_types_map,
1819
+ ).data
1820
+
1821
+ @validate_call
1822
+ async def get_virtual_robot_configuration_with_http_info(
1823
+ self,
1824
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1825
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1826
+ _request_timeout: Union[
1827
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1828
+ ] = None,
1829
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1830
+ _content_type: Optional[StrictStr] = None,
1831
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1832
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1833
+ ) -> ApiResponse[VirtualRobotConfiguration]:
1834
+ """Virtual Robot Configuration
1835
+
1836
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Receive data to configure a virtual robot controller based on another controller. This can be used to create a virtual clone of a specific physical robot. When adding a virtual controller, use the virtual configuration variant of [addRobotController](#/operations/addRobotController) and pass the content string from this endpoint as the `json` field. Omit the `type` field that selects a preset configuration, which is not required when providing a complete configuration. > **NOTE** > > The output generated by this endpoint can be too large for the site to handle and may produce an error or incorrect output. > Use `curl` in combination with `> output.json` to capture the output, or use an API client like Postman.
1837
+
1838
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1839
+ :type cell: str
1840
+ :param controller: Unique identifier to address a controller in the cell. (required)
1841
+ :type controller: str
1842
+ :param _request_timeout: timeout setting for this request. If one
1843
+ number provided, it will be total request
1844
+ timeout. It can also be a pair (tuple) of
1845
+ (connection, read) timeouts.
1846
+ :type _request_timeout: int, tuple(int, int), optional
1847
+ :param _request_auth: set to override the auth_settings for an a single
1848
+ request; this effectively ignores the
1849
+ authentication in the spec for a single request.
1850
+ :type _request_auth: dict, optional
1851
+ :param _content_type: force content-type for the request.
1852
+ :type _content_type: str, Optional
1853
+ :param _headers: set to override the headers for a single
1854
+ request; this effectively ignores the headers
1855
+ in the spec for a single request.
1856
+ :type _headers: dict, optional
1857
+ :param _host_index: set to override the host_index for a single
1858
+ request; this effectively ignores the host_index
1859
+ in the spec for a single request.
1860
+ :type _host_index: int, optional
1861
+ :return: Returns the result object.
1862
+ """ # noqa: E501
1863
+
1864
+ _param = self._get_virtual_robot_configuration_serialize(
1865
+ cell=cell,
1866
+ controller=controller,
1867
+ _request_auth=_request_auth,
1868
+ _content_type=_content_type,
1869
+ _headers=_headers,
1870
+ _host_index=_host_index,
1871
+ )
1872
+
1873
+ _response_types_map: Dict[str, Optional[str]] = {
1874
+ "200": "VirtualRobotConfiguration",
1875
+ }
1876
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1877
+ await response_data.read()
1878
+ return self.api_client.response_deserialize(
1879
+ response_data=response_data,
1880
+ response_types_map=_response_types_map,
1881
+ )
1882
+
1883
+ @validate_call
1884
+ async def get_virtual_robot_configuration_without_preload_content(
1885
+ self,
1886
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1887
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1888
+ _request_timeout: Union[
1889
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1890
+ ] = None,
1891
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1892
+ _content_type: Optional[StrictStr] = None,
1893
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1894
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1895
+ ) -> RESTResponseType:
1896
+ """Virtual Robot Configuration
1897
+
1898
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Receive data to configure a virtual robot controller based on another controller. This can be used to create a virtual clone of a specific physical robot. When adding a virtual controller, use the virtual configuration variant of [addRobotController](#/operations/addRobotController) and pass the content string from this endpoint as the `json` field. Omit the `type` field that selects a preset configuration, which is not required when providing a complete configuration. > **NOTE** > > The output generated by this endpoint can be too large for the site to handle and may produce an error or incorrect output. > Use `curl` in combination with `> output.json` to capture the output, or use an API client like Postman.
1899
+
1900
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1901
+ :type cell: str
1902
+ :param controller: Unique identifier to address a controller in the cell. (required)
1903
+ :type controller: str
1904
+ :param _request_timeout: timeout setting for this request. If one
1905
+ number provided, it will be total request
1906
+ timeout. It can also be a pair (tuple) of
1907
+ (connection, read) timeouts.
1908
+ :type _request_timeout: int, tuple(int, int), optional
1909
+ :param _request_auth: set to override the auth_settings for an a single
1910
+ request; this effectively ignores the
1911
+ authentication in the spec for a single request.
1912
+ :type _request_auth: dict, optional
1913
+ :param _content_type: force content-type for the request.
1914
+ :type _content_type: str, Optional
1915
+ :param _headers: set to override the headers for a single
1916
+ request; this effectively ignores the headers
1917
+ in the spec for a single request.
1918
+ :type _headers: dict, optional
1919
+ :param _host_index: set to override the host_index for a single
1920
+ request; this effectively ignores the host_index
1921
+ in the spec for a single request.
1922
+ :type _host_index: int, optional
1923
+ :return: Returns the result object.
1924
+ """ # noqa: E501
1925
+
1926
+ _param = self._get_virtual_robot_configuration_serialize(
1927
+ cell=cell,
1928
+ controller=controller,
1929
+ _request_auth=_request_auth,
1930
+ _content_type=_content_type,
1931
+ _headers=_headers,
1932
+ _host_index=_host_index,
1933
+ )
1934
+
1935
+ _response_types_map: Dict[str, Optional[str]] = {
1936
+ "200": "VirtualRobotConfiguration",
1937
+ }
1938
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1939
+ return response_data.response
1940
+
1941
+ def _get_virtual_robot_configuration_serialize(
1942
+ self,
1943
+ cell,
1944
+ controller,
1945
+ _request_auth,
1946
+ _content_type,
1947
+ _headers,
1948
+ _host_index,
1949
+ ) -> RequestSerialized:
1950
+
1951
+ _host = None
1952
+
1953
+ _collection_formats: Dict[str, str] = {}
1954
+
1955
+ _path_params: Dict[str, str] = {}
1956
+ _query_params: List[Tuple[str, str]] = []
1957
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1958
+ _form_params: List[Tuple[str, str]] = []
1959
+ _files: Dict[str, Union[str, bytes]] = {}
1960
+ _body_params: Optional[bytes] = None
1961
+
1962
+ # process the path parameters
1963
+ if cell is not None:
1964
+ _path_params["cell"] = cell
1965
+ if controller is not None:
1966
+ _path_params["controller"] = controller
1967
+ # process the query parameters
1968
+ # process the header parameters
1969
+ # process the form parameters
1970
+ # process the body parameter
1971
+
1972
+ # set the HTTP header `Accept`
1973
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1974
+
1975
+ # authentication setting
1976
+ _auth_settings: List[str] = ["BearerAuth"]
1977
+
1978
+ return self.api_client.param_serialize(
1979
+ method="GET",
1980
+ resource_path="/cells/{cell}/controllers/{controller}/virtual-robot-configuration",
1981
+ path_params=_path_params,
1982
+ query_params=_query_params,
1983
+ header_params=_header_params,
1984
+ body=_body_params,
1985
+ post_params=_form_params,
1986
+ files=_files,
1987
+ auth_settings=_auth_settings,
1988
+ collection_formats=_collection_formats,
1989
+ _host=_host,
1990
+ _request_auth=_request_auth,
1991
+ )
1992
+
1993
+ @validate_call
1994
+ async def list_controllers(
1995
+ self,
1996
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1997
+ _request_timeout: Union[
1998
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1999
+ ] = None,
2000
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2001
+ _content_type: Optional[StrictStr] = None,
2002
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2003
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2004
+ ) -> ControllerInstanceList:
2005
+ """List Robot Controllers
2006
+
2007
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ List all configured robot controllers.
2008
+
2009
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2010
+ :type cell: str
2011
+ :param _request_timeout: timeout setting for this request. If one
2012
+ number provided, it will be total request
2013
+ timeout. It can also be a pair (tuple) of
2014
+ (connection, read) timeouts.
2015
+ :type _request_timeout: int, tuple(int, int), optional
2016
+ :param _request_auth: set to override the auth_settings for an a single
2017
+ request; this effectively ignores the
2018
+ authentication in the spec for a single request.
2019
+ :type _request_auth: dict, optional
2020
+ :param _content_type: force content-type for the request.
2021
+ :type _content_type: str, Optional
2022
+ :param _headers: set to override the headers for a single
2023
+ request; this effectively ignores the headers
2024
+ in the spec for a single request.
2025
+ :type _headers: dict, optional
2026
+ :param _host_index: set to override the host_index for a single
2027
+ request; this effectively ignores the host_index
2028
+ in the spec for a single request.
2029
+ :type _host_index: int, optional
2030
+ :return: Returns the result object.
2031
+ """ # noqa: E501
2032
+
2033
+ _param = self._list_controllers_serialize(
2034
+ cell=cell, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index
2035
+ )
2036
+
2037
+ _response_types_map: Dict[str, Optional[str]] = {
2038
+ "200": "ControllerInstanceList",
2039
+ }
2040
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2041
+ await response_data.read()
2042
+ return self.api_client.response_deserialize(
2043
+ response_data=response_data,
2044
+ response_types_map=_response_types_map,
2045
+ ).data
2046
+
2047
+ @validate_call
2048
+ async def list_controllers_with_http_info(
2049
+ self,
2050
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2051
+ _request_timeout: Union[
2052
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2053
+ ] = None,
2054
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2055
+ _content_type: Optional[StrictStr] = None,
2056
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2057
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2058
+ ) -> ApiResponse[ControllerInstanceList]:
2059
+ """List Robot Controllers
2060
+
2061
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ List all configured robot controllers.
2062
+
2063
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2064
+ :type cell: str
2065
+ :param _request_timeout: timeout setting for this request. If one
2066
+ number provided, it will be total request
2067
+ timeout. It can also be a pair (tuple) of
2068
+ (connection, read) timeouts.
2069
+ :type _request_timeout: int, tuple(int, int), optional
2070
+ :param _request_auth: set to override the auth_settings for an a single
2071
+ request; this effectively ignores the
2072
+ authentication in the spec for a single request.
2073
+ :type _request_auth: dict, optional
2074
+ :param _content_type: force content-type for the request.
2075
+ :type _content_type: str, Optional
2076
+ :param _headers: set to override the headers for a single
2077
+ request; this effectively ignores the headers
2078
+ in the spec for a single request.
2079
+ :type _headers: dict, optional
2080
+ :param _host_index: set to override the host_index for a single
2081
+ request; this effectively ignores the host_index
2082
+ in the spec for a single request.
2083
+ :type _host_index: int, optional
2084
+ :return: Returns the result object.
2085
+ """ # noqa: E501
2086
+
2087
+ _param = self._list_controllers_serialize(
2088
+ cell=cell, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index
2089
+ )
2090
+
2091
+ _response_types_map: Dict[str, Optional[str]] = {
2092
+ "200": "ControllerInstanceList",
2093
+ }
2094
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2095
+ await response_data.read()
2096
+ return self.api_client.response_deserialize(
2097
+ response_data=response_data,
2098
+ response_types_map=_response_types_map,
2099
+ )
2100
+
2101
+ @validate_call
2102
+ async def list_controllers_without_preload_content(
2103
+ self,
2104
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2105
+ _request_timeout: Union[
2106
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2107
+ ] = None,
2108
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2109
+ _content_type: Optional[StrictStr] = None,
2110
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2111
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2112
+ ) -> RESTResponseType:
2113
+ """List Robot Controllers
2114
+
2115
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ List all configured robot controllers.
2116
+
2117
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2118
+ :type cell: str
2119
+ :param _request_timeout: timeout setting for this request. If one
2120
+ number provided, it will be total request
2121
+ timeout. It can also be a pair (tuple) of
2122
+ (connection, read) timeouts.
2123
+ :type _request_timeout: int, tuple(int, int), optional
2124
+ :param _request_auth: set to override the auth_settings for an a single
2125
+ request; this effectively ignores the
2126
+ authentication in the spec for a single request.
2127
+ :type _request_auth: dict, optional
2128
+ :param _content_type: force content-type for the request.
2129
+ :type _content_type: str, Optional
2130
+ :param _headers: set to override the headers for a single
2131
+ request; this effectively ignores the headers
2132
+ in the spec for a single request.
2133
+ :type _headers: dict, optional
2134
+ :param _host_index: set to override the host_index for a single
2135
+ request; this effectively ignores the host_index
2136
+ in the spec for a single request.
2137
+ :type _host_index: int, optional
2138
+ :return: Returns the result object.
2139
+ """ # noqa: E501
2140
+
2141
+ _param = self._list_controllers_serialize(
2142
+ cell=cell, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index
2143
+ )
2144
+
2145
+ _response_types_map: Dict[str, Optional[str]] = {
2146
+ "200": "ControllerInstanceList",
2147
+ }
2148
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2149
+ return response_data.response
2150
+
2151
+ def _list_controllers_serialize(
2152
+ self,
2153
+ cell,
2154
+ _request_auth,
2155
+ _content_type,
2156
+ _headers,
2157
+ _host_index,
2158
+ ) -> RequestSerialized:
2159
+
2160
+ _host = None
2161
+
2162
+ _collection_formats: Dict[str, str] = {}
2163
+
2164
+ _path_params: Dict[str, str] = {}
2165
+ _query_params: List[Tuple[str, str]] = []
2166
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2167
+ _form_params: List[Tuple[str, str]] = []
2168
+ _files: Dict[str, Union[str, bytes]] = {}
2169
+ _body_params: Optional[bytes] = None
2170
+
2171
+ # process the path parameters
2172
+ if cell is not None:
2173
+ _path_params["cell"] = cell
2174
+ # process the query parameters
2175
+ # process the header parameters
2176
+ # process the form parameters
2177
+ # process the body parameter
2178
+
2179
+ # set the HTTP header `Accept`
2180
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2181
+
2182
+ # authentication setting
2183
+ _auth_settings: List[str] = ["BearerAuth"]
2184
+
2185
+ return self.api_client.param_serialize(
2186
+ method="GET",
2187
+ resource_path="/cells/{cell}/controllers",
2188
+ path_params=_path_params,
2189
+ query_params=_query_params,
2190
+ header_params=_header_params,
2191
+ body=_body_params,
2192
+ post_params=_form_params,
2193
+ files=_files,
2194
+ auth_settings=_auth_settings,
2195
+ collection_formats=_collection_formats,
2196
+ _host=_host,
2197
+ _request_auth=_request_auth,
2198
+ )
2199
+
2200
+ @validate_call
2201
+ async def set_default_mode(
2202
+ self,
2203
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2204
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2205
+ mode: StrictStr,
2206
+ _request_timeout: Union[
2207
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2208
+ ] = None,
2209
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2210
+ _content_type: Optional[StrictStr] = None,
2211
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2212
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2213
+ ) -> None:
2214
+ """Set Default Mode
2215
+
2216
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Switch between monitor and control usage as default for a robot controller. Monitoring mode is used to read information from the robot controller and control mode is used to command the robot system. As long as the robot controller is connected via network, monitoring mode is always possible. To switch to control mode, the robot controller must be in `automatic` or `manual` operating mode and safety state 'normal' or 'reduced'. If the robot controller is in `manual` operating mode, you have to manually confirm the control usage activation on the robot control panel. This manual confirmation can't be replaced with this API. Without manual confirmation, the robot controller will stay in monitor mode. The robot system will try to activate the required operation mode for the requested usage unless no active call requires a different mode. > **NOTE** > > Some robot controllers prevent the external activation of automatic operating mode. In this case, changing the operating mode manually at the robot controller is mandatory. > **NOTE** > > The current operation mode and safety state can be requested via [getCurrentRobotControllerState](#/operations/getCurrentRobotControllerState). If a mode change is not possible, the response lists reasons for the failed change.
2217
+
2218
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2219
+ :type cell: str
2220
+ :param controller: Unique identifier to address a controller in the cell. (required)
2221
+ :type controller: str
2222
+ :param mode: (required)
2223
+ :type mode: str
2224
+ :param _request_timeout: timeout setting for this request. If one
2225
+ number provided, it will be total request
2226
+ timeout. It can also be a pair (tuple) of
2227
+ (connection, read) timeouts.
2228
+ :type _request_timeout: int, tuple(int, int), optional
2229
+ :param _request_auth: set to override the auth_settings for an a single
2230
+ request; this effectively ignores the
2231
+ authentication in the spec for a single request.
2232
+ :type _request_auth: dict, optional
2233
+ :param _content_type: force content-type for the request.
2234
+ :type _content_type: str, Optional
2235
+ :param _headers: set to override the headers for a single
2236
+ request; this effectively ignores the headers
2237
+ in the spec for a single request.
2238
+ :type _headers: dict, optional
2239
+ :param _host_index: set to override the host_index for a single
2240
+ request; this effectively ignores the host_index
2241
+ in the spec for a single request.
2242
+ :type _host_index: int, optional
2243
+ :return: Returns the result object.
2244
+ """ # noqa: E501
2245
+
2246
+ _param = self._set_default_mode_serialize(
2247
+ cell=cell,
2248
+ controller=controller,
2249
+ mode=mode,
2250
+ _request_auth=_request_auth,
2251
+ _content_type=_content_type,
2252
+ _headers=_headers,
2253
+ _host_index=_host_index,
2254
+ )
2255
+
2256
+ _response_types_map: Dict[str, Optional[str]] = {
2257
+ "200": None,
2258
+ }
2259
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2260
+ await response_data.read()
2261
+ return self.api_client.response_deserialize(
2262
+ response_data=response_data,
2263
+ response_types_map=_response_types_map,
2264
+ ).data
2265
+
2266
+ @validate_call
2267
+ async def set_default_mode_with_http_info(
2268
+ self,
2269
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2270
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2271
+ mode: StrictStr,
2272
+ _request_timeout: Union[
2273
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2274
+ ] = None,
2275
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2276
+ _content_type: Optional[StrictStr] = None,
2277
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2278
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2279
+ ) -> ApiResponse[None]:
2280
+ """Set Default Mode
2281
+
2282
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Switch between monitor and control usage as default for a robot controller. Monitoring mode is used to read information from the robot controller and control mode is used to command the robot system. As long as the robot controller is connected via network, monitoring mode is always possible. To switch to control mode, the robot controller must be in `automatic` or `manual` operating mode and safety state 'normal' or 'reduced'. If the robot controller is in `manual` operating mode, you have to manually confirm the control usage activation on the robot control panel. This manual confirmation can't be replaced with this API. Without manual confirmation, the robot controller will stay in monitor mode. The robot system will try to activate the required operation mode for the requested usage unless no active call requires a different mode. > **NOTE** > > Some robot controllers prevent the external activation of automatic operating mode. In this case, changing the operating mode manually at the robot controller is mandatory. > **NOTE** > > The current operation mode and safety state can be requested via [getCurrentRobotControllerState](#/operations/getCurrentRobotControllerState). If a mode change is not possible, the response lists reasons for the failed change.
2283
+
2284
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2285
+ :type cell: str
2286
+ :param controller: Unique identifier to address a controller in the cell. (required)
2287
+ :type controller: str
2288
+ :param mode: (required)
2289
+ :type mode: str
2290
+ :param _request_timeout: timeout setting for this request. If one
2291
+ number provided, it will be total request
2292
+ timeout. It can also be a pair (tuple) of
2293
+ (connection, read) timeouts.
2294
+ :type _request_timeout: int, tuple(int, int), optional
2295
+ :param _request_auth: set to override the auth_settings for an a single
2296
+ request; this effectively ignores the
2297
+ authentication in the spec for a single request.
2298
+ :type _request_auth: dict, optional
2299
+ :param _content_type: force content-type for the request.
2300
+ :type _content_type: str, Optional
2301
+ :param _headers: set to override the headers for a single
2302
+ request; this effectively ignores the headers
2303
+ in the spec for a single request.
2304
+ :type _headers: dict, optional
2305
+ :param _host_index: set to override the host_index for a single
2306
+ request; this effectively ignores the host_index
2307
+ in the spec for a single request.
2308
+ :type _host_index: int, optional
2309
+ :return: Returns the result object.
2310
+ """ # noqa: E501
2311
+
2312
+ _param = self._set_default_mode_serialize(
2313
+ cell=cell,
2314
+ controller=controller,
2315
+ mode=mode,
2316
+ _request_auth=_request_auth,
2317
+ _content_type=_content_type,
2318
+ _headers=_headers,
2319
+ _host_index=_host_index,
2320
+ )
2321
+
2322
+ _response_types_map: Dict[str, Optional[str]] = {
2323
+ "200": None,
2324
+ }
2325
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2326
+ await response_data.read()
2327
+ return self.api_client.response_deserialize(
2328
+ response_data=response_data,
2329
+ response_types_map=_response_types_map,
2330
+ )
2331
+
2332
+ @validate_call
2333
+ async def set_default_mode_without_preload_content(
2334
+ self,
2335
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2336
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2337
+ mode: StrictStr,
2338
+ _request_timeout: Union[
2339
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2340
+ ] = None,
2341
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2342
+ _content_type: Optional[StrictStr] = None,
2343
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2344
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2345
+ ) -> RESTResponseType:
2346
+ """Set Default Mode
2347
+
2348
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Switch between monitor and control usage as default for a robot controller. Monitoring mode is used to read information from the robot controller and control mode is used to command the robot system. As long as the robot controller is connected via network, monitoring mode is always possible. To switch to control mode, the robot controller must be in `automatic` or `manual` operating mode and safety state 'normal' or 'reduced'. If the robot controller is in `manual` operating mode, you have to manually confirm the control usage activation on the robot control panel. This manual confirmation can't be replaced with this API. Without manual confirmation, the robot controller will stay in monitor mode. The robot system will try to activate the required operation mode for the requested usage unless no active call requires a different mode. > **NOTE** > > Some robot controllers prevent the external activation of automatic operating mode. In this case, changing the operating mode manually at the robot controller is mandatory. > **NOTE** > > The current operation mode and safety state can be requested via [getCurrentRobotControllerState](#/operations/getCurrentRobotControllerState). If a mode change is not possible, the response lists reasons for the failed change.
2349
+
2350
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2351
+ :type cell: str
2352
+ :param controller: Unique identifier to address a controller in the cell. (required)
2353
+ :type controller: str
2354
+ :param mode: (required)
2355
+ :type mode: str
2356
+ :param _request_timeout: timeout setting for this request. If one
2357
+ number provided, it will be total request
2358
+ timeout. It can also be a pair (tuple) of
2359
+ (connection, read) timeouts.
2360
+ :type _request_timeout: int, tuple(int, int), optional
2361
+ :param _request_auth: set to override the auth_settings for an a single
2362
+ request; this effectively ignores the
2363
+ authentication in the spec for a single request.
2364
+ :type _request_auth: dict, optional
2365
+ :param _content_type: force content-type for the request.
2366
+ :type _content_type: str, Optional
2367
+ :param _headers: set to override the headers for a single
2368
+ request; this effectively ignores the headers
2369
+ in the spec for a single request.
2370
+ :type _headers: dict, optional
2371
+ :param _host_index: set to override the host_index for a single
2372
+ request; this effectively ignores the host_index
2373
+ in the spec for a single request.
2374
+ :type _host_index: int, optional
2375
+ :return: Returns the result object.
2376
+ """ # noqa: E501
2377
+
2378
+ _param = self._set_default_mode_serialize(
2379
+ cell=cell,
2380
+ controller=controller,
2381
+ mode=mode,
2382
+ _request_auth=_request_auth,
2383
+ _content_type=_content_type,
2384
+ _headers=_headers,
2385
+ _host_index=_host_index,
2386
+ )
2387
+
2388
+ _response_types_map: Dict[str, Optional[str]] = {
2389
+ "200": None,
2390
+ }
2391
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2392
+ return response_data.response
2393
+
2394
+ def _set_default_mode_serialize(
2395
+ self,
2396
+ cell,
2397
+ controller,
2398
+ mode,
2399
+ _request_auth,
2400
+ _content_type,
2401
+ _headers,
2402
+ _host_index,
2403
+ ) -> RequestSerialized:
2404
+
2405
+ _host = None
2406
+
2407
+ _collection_formats: Dict[str, str] = {}
2408
+
2409
+ _path_params: Dict[str, str] = {}
2410
+ _query_params: List[Tuple[str, str]] = []
2411
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2412
+ _form_params: List[Tuple[str, str]] = []
2413
+ _files: Dict[str, Union[str, bytes]] = {}
2414
+ _body_params: Optional[bytes] = None
2415
+
2416
+ # process the path parameters
2417
+ if cell is not None:
2418
+ _path_params["cell"] = cell
2419
+ if controller is not None:
2420
+ _path_params["controller"] = controller
2421
+ # process the query parameters
2422
+ if mode is not None:
2423
+ _query_params.append(("mode", mode))
2424
+
2425
+ # process the header parameters
2426
+ # process the form parameters
2427
+ # process the body parameter
2428
+
2429
+ # set the HTTP header `Accept`
2430
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2431
+
2432
+ # authentication setting
2433
+ _auth_settings: List[str] = ["BearerAuth"]
2434
+
2435
+ return self.api_client.param_serialize(
2436
+ method="PUT",
2437
+ resource_path="/cells/{cell}/controllers/{controller}/mode",
2438
+ path_params=_path_params,
2439
+ query_params=_query_params,
2440
+ header_params=_header_params,
2441
+ body=_body_params,
2442
+ post_params=_form_params,
2443
+ files=_files,
2444
+ auth_settings=_auth_settings,
2445
+ collection_formats=_collection_formats,
2446
+ _host=_host,
2447
+ _request_auth=_request_auth,
2448
+ )
2449
+
2450
+ @validate_call
2451
+ async def stream_free_drive(
2452
+ self,
2453
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2454
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2455
+ response_rate: Optional[StrictInt] = None,
2456
+ ) -> AsyncGenerator[RobotControllerState, None]: # noqa: E501
2457
+ """Stream Free Drive Mode # noqa: E501
2458
+
2459
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Sets the robot controller into freedrive mode and stays in freedrive until the websocket connection is closed by the client. In freedrive mode, it is possible to move the attached motion groups by hand. This is a blocking call. As long as the websocket connection is open, no other endpoint can control or move the robot. <!-- theme: danger --> > **DANGER** > Danger caused by robot. Improper assessment by the integrator of the application-specific hazards can result in people being crushed, > drawn in or caught due to the robot's complex movement sequences. Before opening the websocket, ensure that > - The robot is in a safe state, > - The right payload is set (e.g by using the (getActivePayload)[getActivePayload] endpoint), > - No humans or object are within the robot's reach or within the cell. As long as the websocket connection is open you will get the current state of the robot system in the response in the specified response_rate. If the activation failed, the returned status will return possible reasons for the failure. Free drive mode is only available for robot controllers that support it, in particular Collobarative Robots (\"Cobots\"). Use the (getSupportedModes)[getSupportedModes] endpoint to check if the robot controller supports free drive mode. # noqa: E501
2460
+ :param request: A StreamFreeDriveRequest
2461
+ :info All responses from the server will be yielded
2462
+ :type StreamFreeDriveRequest
2463
+ """
2464
+
2465
+ def format_path_parameters(path):
2466
+ # Find all substrings that are enclosed in brackets
2467
+ bracket_contents = re.findall(r"\{(.*?)\}", path)
2468
+
2469
+ # For each found substring, replace underscores with spaces
2470
+ for content in bracket_contents:
2471
+ content = "{" + content + "}"
2472
+ modified_content = humps.dekebabize(content)
2473
+ path = path.replace(content, modified_content)
2474
+
2475
+ return path
2476
+
2477
+ def append_parameter_connector(url_schema):
2478
+ if not "?" in url_schema:
2479
+ url_schema += "?"
2480
+ else:
2481
+ url_schema += "&"
2482
+ return url_schema
2483
+
2484
+ path = format_path_parameters("/cells/{cell}/controllers/{controller}/free-drive-stream")
2485
+ path = path.format(
2486
+ cell=cell,
2487
+ controller=controller,
2488
+ )
2489
+
2490
+ headers = websockets.Headers()
2491
+ tmp_host = self.api_client.configuration.host
2492
+ if self.api_client.configuration.host.startswith("https://"):
2493
+ # Basic Auth
2494
+ if self.api_client.configuration.username:
2495
+ tmp_host = self.api_client.configuration.host.replace("https://", "")
2496
+ tmp_host = f"wss://{self.api_client.configuration.username}:{self.api_client.configuration.password}@{tmp_host}"
2497
+
2498
+ # OAuth2
2499
+ elif self.api_client.configuration.access_token:
2500
+ tmp_host = self.api_client.configuration.host.replace("https://", "")
2501
+ tmp_host = f"wss://{tmp_host}"
2502
+ headers = websockets.Headers([("Authorization", f"Bearer {self.api_client.configuration.access_token}")])
2503
+ else:
2504
+ tmp_host = tmp_host.replace("http://", "ws://")
2505
+
2506
+ url_schema = tmp_host + path
2507
+ if locals().get("response_rate") is not None:
2508
+ url_schema = append_parameter_connector(url_schema)
2509
+ if isinstance(response_rate, list):
2510
+ url_schema += "&".join(["response_rate=" + s for s in response_rate])
2511
+ else:
2512
+ url_schema += "response_rate=" + str(response_rate)
2513
+ full_url = furl(url_schema)
2514
+
2515
+ async with websockets.connect(full_url.url, open_timeout=10, additional_headers=headers) as websocket:
2516
+ try:
2517
+ async for response in websocket:
2518
+ response_data = json.loads(response)
2519
+ if "result" not in response_data:
2520
+ raise Exception(response_data)
2521
+ yield RobotControllerState.from_dict(response_data["result"])
2522
+ except websockets.exceptions.ConnectionClosed:
2523
+ return
2524
+ finally:
2525
+ await websocket.close()
2526
+
2527
+ @validate_call
2528
+ async def stream_mode_change(
2529
+ self,
2530
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2531
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2532
+ ) -> AsyncGenerator[ModeChangeResponse, None]: # noqa: E501
2533
+ """Stream Mode Change # noqa: E501
2534
+
2535
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Receive updates of the current robot system mode of a robot controller via websocket upon robot system mode change. See [setDefaultMode](#/operations/setDefaultMode) for more information about the different modes. # noqa: E501
2536
+ :param request: A StreamModeChangeRequest
2537
+ :info All responses from the server will be yielded
2538
+ :type StreamModeChangeRequest
2539
+ """
2540
+
2541
+ def format_path_parameters(path):
2542
+ # Find all substrings that are enclosed in brackets
2543
+ bracket_contents = re.findall(r"\{(.*?)\}", path)
2544
+
2545
+ # For each found substring, replace underscores with spaces
2546
+ for content in bracket_contents:
2547
+ content = "{" + content + "}"
2548
+ modified_content = humps.dekebabize(content)
2549
+ path = path.replace(content, modified_content)
2550
+
2551
+ return path
2552
+
2553
+ def append_parameter_connector(url_schema):
2554
+ if not "?" in url_schema:
2555
+ url_schema += "?"
2556
+ else:
2557
+ url_schema += "&"
2558
+ return url_schema
2559
+
2560
+ path = format_path_parameters("/cells/{cell}/controllers/{controller}/mode-stream")
2561
+ path = path.format(
2562
+ cell=cell,
2563
+ controller=controller,
2564
+ )
2565
+
2566
+ headers = websockets.Headers()
2567
+ tmp_host = self.api_client.configuration.host
2568
+ if self.api_client.configuration.host.startswith("https://"):
2569
+ # Basic Auth
2570
+ if self.api_client.configuration.username:
2571
+ tmp_host = self.api_client.configuration.host.replace("https://", "")
2572
+ tmp_host = f"wss://{self.api_client.configuration.username}:{self.api_client.configuration.password}@{tmp_host}"
2573
+
2574
+ # OAuth2
2575
+ elif self.api_client.configuration.access_token:
2576
+ tmp_host = self.api_client.configuration.host.replace("https://", "")
2577
+ tmp_host = f"wss://{tmp_host}"
2578
+ headers = websockets.Headers([("Authorization", f"Bearer {self.api_client.configuration.access_token}")])
2579
+ else:
2580
+ tmp_host = tmp_host.replace("http://", "ws://")
2581
+
2582
+ url_schema = tmp_host + path
2583
+ full_url = furl(url_schema)
2584
+
2585
+ async with websockets.connect(full_url.url, open_timeout=10, additional_headers=headers) as websocket:
2586
+ try:
2587
+ async for response in websocket:
2588
+ response_data = json.loads(response)
2589
+ if "result" not in response_data:
2590
+ raise Exception(response_data)
2591
+ yield ModeChangeResponse.from_dict(response_data["result"])
2592
+ except websockets.exceptions.ConnectionClosed:
2593
+ return
2594
+ finally:
2595
+ await websocket.close()
2596
+
2597
+ @validate_call
2598
+ async def stream_robot_controller_state(
2599
+ self,
2600
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2601
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2602
+ response_rate: Optional[StrictInt] = None,
2603
+ ) -> AsyncGenerator[RobotControllerState, None]: # noqa: E501
2604
+ """Stream State of Device # noqa: E501
2605
+
2606
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Receive updates of the state of a robot controller. # noqa: E501
2607
+ :param request: A StreamRobotControllerStateRequest
2608
+ :info All responses from the server will be yielded
2609
+ :type StreamRobotControllerStateRequest
2610
+ """
2611
+
2612
+ def format_path_parameters(path):
2613
+ # Find all substrings that are enclosed in brackets
2614
+ bracket_contents = re.findall(r"\{(.*?)\}", path)
2615
+
2616
+ # For each found substring, replace underscores with spaces
2617
+ for content in bracket_contents:
2618
+ content = "{" + content + "}"
2619
+ modified_content = humps.dekebabize(content)
2620
+ path = path.replace(content, modified_content)
2621
+
2622
+ return path
2623
+
2624
+ def append_parameter_connector(url_schema):
2625
+ if not "?" in url_schema:
2626
+ url_schema += "?"
2627
+ else:
2628
+ url_schema += "&"
2629
+ return url_schema
2630
+
2631
+ path = format_path_parameters("/cells/{cell}/controllers/{controller}/state-stream")
2632
+ path = path.format(
2633
+ cell=cell,
2634
+ controller=controller,
2635
+ )
2636
+
2637
+ headers = websockets.Headers()
2638
+ tmp_host = self.api_client.configuration.host
2639
+ if self.api_client.configuration.host.startswith("https://"):
2640
+ # Basic Auth
2641
+ if self.api_client.configuration.username:
2642
+ tmp_host = self.api_client.configuration.host.replace("https://", "")
2643
+ tmp_host = f"wss://{self.api_client.configuration.username}:{self.api_client.configuration.password}@{tmp_host}"
2644
+
2645
+ # OAuth2
2646
+ elif self.api_client.configuration.access_token:
2647
+ tmp_host = self.api_client.configuration.host.replace("https://", "")
2648
+ tmp_host = f"wss://{tmp_host}"
2649
+ headers = websockets.Headers([("Authorization", f"Bearer {self.api_client.configuration.access_token}")])
2650
+ else:
2651
+ tmp_host = tmp_host.replace("http://", "ws://")
2652
+
2653
+ url_schema = tmp_host + path
2654
+ if locals().get("response_rate") is not None:
2655
+ url_schema = append_parameter_connector(url_schema)
2656
+ if isinstance(response_rate, list):
2657
+ url_schema += "&".join(["response_rate=" + s for s in response_rate])
2658
+ else:
2659
+ url_schema += "response_rate=" + str(response_rate)
2660
+ full_url = furl(url_schema)
2661
+
2662
+ async with websockets.connect(full_url.url, open_timeout=10, additional_headers=headers) as websocket:
2663
+ try:
2664
+ async for response in websocket:
2665
+ response_data = json.loads(response)
2666
+ if "result" not in response_data:
2667
+ raise Exception(response_data)
2668
+ yield RobotControllerState.from_dict(response_data["result"])
2669
+ except websockets.exceptions.ConnectionClosed:
2670
+ return
2671
+ finally:
2672
+ await websocket.close()
2673
+
2674
+ @validate_call
2675
+ async def update_robot_controller(
2676
+ self,
2677
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2678
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2679
+ robot_controller: RobotController,
2680
+ completion_timeout: Optional[Annotated[int, Field(strict=True, ge=1)]] = None,
2681
+ _request_timeout: Union[
2682
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2683
+ ] = None,
2684
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2685
+ _content_type: Optional[StrictStr] = None,
2686
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2687
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2688
+ ) -> None:
2689
+ """Update Robot Controller Configuration
2690
+
2691
+ **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Update the configuration of a robot controller. Reconfigure certain options of a robot controller, or deploy a specific container image of a robot controller. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior. To update a virtual controller, the previous controller will be deleted and a new one created. Changes to the configuration, e.g., TCPs, coordinate systems, mounting, are **not** transferred to the new robot. <!-- theme: info --> > **NOTE** > > An update is not a reset. To do a reset: > 1. Get the current configuration via [getRobotController](#/operations/getRobotController). > 2. Delete the existing virtual robot controller via [deleteRobotController](#/operations/deleteRobotController). > 3. Add a virtual robot controller with [addRobotController](#/operations/addRobotController).
2692
+
2693
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2694
+ :type cell: str
2695
+ :param controller: Unique identifier to address a controller in the cell. (required)
2696
+ :type controller: str
2697
+ :param robot_controller: (required)
2698
+ :type robot_controller: RobotController
2699
+ :param completion_timeout:
2700
+ :type completion_timeout: int
2701
+ :param _request_timeout: timeout setting for this request. If one
2702
+ number provided, it will be total request
2703
+ timeout. It can also be a pair (tuple) of
2704
+ (connection, read) timeouts.
2705
+ :type _request_timeout: int, tuple(int, int), optional
2706
+ :param _request_auth: set to override the auth_settings for an a single
2707
+ request; this effectively ignores the
2708
+ authentication in the spec for a single request.
2709
+ :type _request_auth: dict, optional
2710
+ :param _content_type: force content-type for the request.
2711
+ :type _content_type: str, Optional
2712
+ :param _headers: set to override the headers for a single
2713
+ request; this effectively ignores the headers
2714
+ in the spec for a single request.
2715
+ :type _headers: dict, optional
2716
+ :param _host_index: set to override the host_index for a single
2717
+ request; this effectively ignores the host_index
2718
+ in the spec for a single request.
2719
+ :type _host_index: int, optional
2720
+ :return: Returns the result object.
2721
+ """ # noqa: E501
2722
+
2723
+ _param = self._update_robot_controller_serialize(
2724
+ cell=cell,
2725
+ controller=controller,
2726
+ robot_controller=robot_controller,
2727
+ completion_timeout=completion_timeout,
2728
+ _request_auth=_request_auth,
2729
+ _content_type=_content_type,
2730
+ _headers=_headers,
2731
+ _host_index=_host_index,
2732
+ )
2733
+
2734
+ _response_types_map: Dict[str, Optional[str]] = {
2735
+ "200": None,
2736
+ "202": None,
2737
+ "404": "Error",
2738
+ }
2739
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2740
+ await response_data.read()
2741
+ return self.api_client.response_deserialize(
2742
+ response_data=response_data,
2743
+ response_types_map=_response_types_map,
2744
+ ).data
2745
+
2746
+ @validate_call
2747
+ async def update_robot_controller_with_http_info(
2748
+ self,
2749
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2750
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2751
+ robot_controller: RobotController,
2752
+ completion_timeout: Optional[Annotated[int, Field(strict=True, ge=1)]] = None,
2753
+ _request_timeout: Union[
2754
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2755
+ ] = None,
2756
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2757
+ _content_type: Optional[StrictStr] = None,
2758
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2759
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2760
+ ) -> ApiResponse[None]:
2761
+ """Update Robot Controller Configuration
2762
+
2763
+ **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Update the configuration of a robot controller. Reconfigure certain options of a robot controller, or deploy a specific container image of a robot controller. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior. To update a virtual controller, the previous controller will be deleted and a new one created. Changes to the configuration, e.g., TCPs, coordinate systems, mounting, are **not** transferred to the new robot. <!-- theme: info --> > **NOTE** > > An update is not a reset. To do a reset: > 1. Get the current configuration via [getRobotController](#/operations/getRobotController). > 2. Delete the existing virtual robot controller via [deleteRobotController](#/operations/deleteRobotController). > 3. Add a virtual robot controller with [addRobotController](#/operations/addRobotController).
2764
+
2765
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2766
+ :type cell: str
2767
+ :param controller: Unique identifier to address a controller in the cell. (required)
2768
+ :type controller: str
2769
+ :param robot_controller: (required)
2770
+ :type robot_controller: RobotController
2771
+ :param completion_timeout:
2772
+ :type completion_timeout: int
2773
+ :param _request_timeout: timeout setting for this request. If one
2774
+ number provided, it will be total request
2775
+ timeout. It can also be a pair (tuple) of
2776
+ (connection, read) timeouts.
2777
+ :type _request_timeout: int, tuple(int, int), optional
2778
+ :param _request_auth: set to override the auth_settings for an a single
2779
+ request; this effectively ignores the
2780
+ authentication in the spec for a single request.
2781
+ :type _request_auth: dict, optional
2782
+ :param _content_type: force content-type for the request.
2783
+ :type _content_type: str, Optional
2784
+ :param _headers: set to override the headers for a single
2785
+ request; this effectively ignores the headers
2786
+ in the spec for a single request.
2787
+ :type _headers: dict, optional
2788
+ :param _host_index: set to override the host_index for a single
2789
+ request; this effectively ignores the host_index
2790
+ in the spec for a single request.
2791
+ :type _host_index: int, optional
2792
+ :return: Returns the result object.
2793
+ """ # noqa: E501
2794
+
2795
+ _param = self._update_robot_controller_serialize(
2796
+ cell=cell,
2797
+ controller=controller,
2798
+ robot_controller=robot_controller,
2799
+ completion_timeout=completion_timeout,
2800
+ _request_auth=_request_auth,
2801
+ _content_type=_content_type,
2802
+ _headers=_headers,
2803
+ _host_index=_host_index,
2804
+ )
2805
+
2806
+ _response_types_map: Dict[str, Optional[str]] = {
2807
+ "200": None,
2808
+ "202": None,
2809
+ "404": "Error",
2810
+ }
2811
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2812
+ await response_data.read()
2813
+ return self.api_client.response_deserialize(
2814
+ response_data=response_data,
2815
+ response_types_map=_response_types_map,
2816
+ )
2817
+
2818
+ @validate_call
2819
+ async def update_robot_controller_without_preload_content(
2820
+ self,
2821
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2822
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2823
+ robot_controller: RobotController,
2824
+ completion_timeout: Optional[Annotated[int, Field(strict=True, ge=1)]] = None,
2825
+ _request_timeout: Union[
2826
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2827
+ ] = None,
2828
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2829
+ _content_type: Optional[StrictStr] = None,
2830
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2831
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2832
+ ) -> RESTResponseType:
2833
+ """Update Robot Controller Configuration
2834
+
2835
+ **Required permissions:** `can_manage_controllers` - Create, update, or delete robot controllers ___ Update the configuration of a robot controller. Reconfigure certain options of a robot controller, or deploy a specific container image of a robot controller. <!-- theme: warning --> > **WARNING** > > Using it in conjunction with the settings app may lead to unpredictable behavior. To update a virtual controller, the previous controller will be deleted and a new one created. Changes to the configuration, e.g., TCPs, coordinate systems, mounting, are **not** transferred to the new robot. <!-- theme: info --> > **NOTE** > > An update is not a reset. To do a reset: > 1. Get the current configuration via [getRobotController](#/operations/getRobotController). > 2. Delete the existing virtual robot controller via [deleteRobotController](#/operations/deleteRobotController). > 3. Add a virtual robot controller with [addRobotController](#/operations/addRobotController).
2836
+
2837
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2838
+ :type cell: str
2839
+ :param controller: Unique identifier to address a controller in the cell. (required)
2840
+ :type controller: str
2841
+ :param robot_controller: (required)
2842
+ :type robot_controller: RobotController
2843
+ :param completion_timeout:
2844
+ :type completion_timeout: int
2845
+ :param _request_timeout: timeout setting for this request. If one
2846
+ number provided, it will be total request
2847
+ timeout. It can also be a pair (tuple) of
2848
+ (connection, read) timeouts.
2849
+ :type _request_timeout: int, tuple(int, int), optional
2850
+ :param _request_auth: set to override the auth_settings for an a single
2851
+ request; this effectively ignores the
2852
+ authentication in the spec for a single request.
2853
+ :type _request_auth: dict, optional
2854
+ :param _content_type: force content-type for the request.
2855
+ :type _content_type: str, Optional
2856
+ :param _headers: set to override the headers for a single
2857
+ request; this effectively ignores the headers
2858
+ in the spec for a single request.
2859
+ :type _headers: dict, optional
2860
+ :param _host_index: set to override the host_index for a single
2861
+ request; this effectively ignores the host_index
2862
+ in the spec for a single request.
2863
+ :type _host_index: int, optional
2864
+ :return: Returns the result object.
2865
+ """ # noqa: E501
2866
+
2867
+ _param = self._update_robot_controller_serialize(
2868
+ cell=cell,
2869
+ controller=controller,
2870
+ robot_controller=robot_controller,
2871
+ completion_timeout=completion_timeout,
2872
+ _request_auth=_request_auth,
2873
+ _content_type=_content_type,
2874
+ _headers=_headers,
2875
+ _host_index=_host_index,
2876
+ )
2877
+
2878
+ _response_types_map: Dict[str, Optional[str]] = {
2879
+ "200": None,
2880
+ "202": None,
2881
+ "404": "Error",
2882
+ }
2883
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2884
+ return response_data.response
2885
+
2886
+ def _update_robot_controller_serialize(
2887
+ self,
2888
+ cell,
2889
+ controller,
2890
+ robot_controller,
2891
+ completion_timeout,
2892
+ _request_auth,
2893
+ _content_type,
2894
+ _headers,
2895
+ _host_index,
2896
+ ) -> RequestSerialized:
2897
+
2898
+ _host = None
2899
+
2900
+ _collection_formats: Dict[str, str] = {}
2901
+
2902
+ _path_params: Dict[str, str] = {}
2903
+ _query_params: List[Tuple[str, str]] = []
2904
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2905
+ _form_params: List[Tuple[str, str]] = []
2906
+ _files: Dict[str, Union[str, bytes]] = {}
2907
+ _body_params: Optional[bytes] = None
2908
+
2909
+ # process the path parameters
2910
+ if cell is not None:
2911
+ _path_params["cell"] = cell
2912
+ if controller is not None:
2913
+ _path_params["controller"] = controller
2914
+ # process the query parameters
2915
+ if completion_timeout is not None:
2916
+ _query_params.append(("completionTimeout", completion_timeout))
2917
+
2918
+ # process the header parameters
2919
+ # process the form parameters
2920
+ # process the body parameter
2921
+ if robot_controller is not None:
2922
+ _body_params = robot_controller
2923
+
2924
+ # set the HTTP header `Accept`
2925
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2926
+
2927
+ # set the HTTP header `Content-Type`
2928
+ if _content_type:
2929
+ _header_params["Content-Type"] = _content_type
2930
+ else:
2931
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
2932
+ if _default_content_type is not None:
2933
+ _header_params["Content-Type"] = _default_content_type
2934
+
2935
+ # authentication setting
2936
+ _auth_settings: List[str] = ["BearerAuth"]
2937
+
2938
+ return self.api_client.param_serialize(
2939
+ method="PUT",
2940
+ resource_path="/cells/{cell}/controllers/{controller}",
2941
+ path_params=_path_params,
2942
+ query_params=_query_params,
2943
+ header_params=_header_params,
2944
+ body=_body_params,
2945
+ post_params=_form_params,
2946
+ files=_files,
2947
+ auth_settings=_auth_settings,
2948
+ collection_formats=_collection_formats,
2949
+ _host=_host,
2950
+ _request_auth=_request_auth,
2951
+ )