wandelbots_api_client 26.3.0.dev29__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 (693) 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 +555 -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 +811 -0
  352. wandelbots_api_client/v2/api/version_api.py +240 -0
  353. wandelbots_api_client/v2/api/virtual_controller_api.py +4534 -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 +317 -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_setup.py +130 -0
  425. wandelbots_api_client/v2/models/comparator.py +38 -0
  426. wandelbots_api_client/v2/models/configuration_archive_status.py +197 -0
  427. wandelbots_api_client/v2/models/configuration_archive_status_creating.py +94 -0
  428. wandelbots_api_client/v2/models/configuration_archive_status_error.py +91 -0
  429. wandelbots_api_client/v2/models/configuration_archive_status_success.py +90 -0
  430. wandelbots_api_client/v2/models/configuration_resource.py +104 -0
  431. wandelbots_api_client/v2/models/container_environment_inner.py +84 -0
  432. wandelbots_api_client/v2/models/container_image.py +110 -0
  433. wandelbots_api_client/v2/models/container_image_secrets_inner.py +83 -0
  434. wandelbots_api_client/v2/models/container_resources.py +87 -0
  435. wandelbots_api_client/v2/models/container_storage.py +94 -0
  436. wandelbots_api_client/v2/models/controller_description.py +97 -0
  437. wandelbots_api_client/v2/models/convex_hull.py +94 -0
  438. wandelbots_api_client/v2/models/coordinate_system.py +115 -0
  439. wandelbots_api_client/v2/models/coordinate_system_data.py +106 -0
  440. wandelbots_api_client/v2/models/cubic_spline_parameter.py +90 -0
  441. wandelbots_api_client/v2/models/cycle_time.py +86 -0
  442. wandelbots_api_client/v2/models/cylinder.py +92 -0
  443. wandelbots_api_client/v2/models/dh_parameter.py +98 -0
  444. wandelbots_api_client/v2/models/direction.py +34 -0
  445. wandelbots_api_client/v2/models/error.py +84 -0
  446. wandelbots_api_client/v2/models/error_invalid_joint_count.py +98 -0
  447. wandelbots_api_client/v2/models/error_joint_limit_exceeded.py +103 -0
  448. wandelbots_api_client/v2/models/error_joint_position_collision.py +106 -0
  449. wandelbots_api_client/v2/models/error_max_iterations_exceeded.py +91 -0
  450. wandelbots_api_client/v2/models/execute.py +95 -0
  451. wandelbots_api_client/v2/models/execute_details.py +164 -0
  452. wandelbots_api_client/v2/models/execute_jogging_request.py +204 -0
  453. wandelbots_api_client/v2/models/execute_jogging_response.py +246 -0
  454. wandelbots_api_client/v2/models/execute_trajectory_request.py +209 -0
  455. wandelbots_api_client/v2/models/execute_trajectory_response.py +246 -0
  456. wandelbots_api_client/v2/models/external_joint_stream_datapoint.py +93 -0
  457. wandelbots_api_client/v2/models/external_joint_stream_request.py +97 -0
  458. wandelbots_api_client/v2/models/fanuc_controller.py +91 -0
  459. wandelbots_api_client/v2/models/feedback_collision.py +112 -0
  460. wandelbots_api_client/v2/models/feedback_joint_limit_exceeded.py +99 -0
  461. wandelbots_api_client/v2/models/feedback_no_solution_in_current_configuration.py +100 -0
  462. wandelbots_api_client/v2/models/feedback_out_of_workspace.py +100 -0
  463. wandelbots_api_client/v2/models/feedback_singularity.py +99 -0
  464. wandelbots_api_client/v2/models/flag.py +83 -0
  465. wandelbots_api_client/v2/models/flange_payload.py +98 -0
  466. wandelbots_api_client/v2/models/float_value.py +91 -0
  467. wandelbots_api_client/v2/models/forward_kinematics422_response.py +97 -0
  468. wandelbots_api_client/v2/models/forward_kinematics_request.py +104 -0
  469. wandelbots_api_client/v2/models/forward_kinematics_response.py +93 -0
  470. wandelbots_api_client/v2/models/forward_kinematics_validation_error.py +107 -0
  471. wandelbots_api_client/v2/models/get_trajectory_response.py +97 -0
  472. wandelbots_api_client/v2/models/http_validation_error.py +93 -0
  473. wandelbots_api_client/v2/models/image_credentials.py +85 -0
  474. wandelbots_api_client/v2/models/inconsistent_trajectory_size_error.py +106 -0
  475. wandelbots_api_client/v2/models/inconsistent_trajectory_size_error_inconsistent_trajectory_size.py +91 -0
  476. wandelbots_api_client/v2/models/initialize_jogging_request.py +95 -0
  477. wandelbots_api_client/v2/models/initialize_jogging_response.py +91 -0
  478. wandelbots_api_client/v2/models/initialize_movement_request.py +112 -0
  479. wandelbots_api_client/v2/models/initialize_movement_request_trajectory.py +164 -0
  480. wandelbots_api_client/v2/models/initialize_movement_response.py +107 -0
  481. wandelbots_api_client/v2/models/integer_value.py +91 -0
  482. wandelbots_api_client/v2/models/invalid_dof_error.py +100 -0
  483. wandelbots_api_client/v2/models/invalid_dof_error_invalid_dof.py +86 -0
  484. wandelbots_api_client/v2/models/inverse_kinematics422_response.py +97 -0
  485. wandelbots_api_client/v2/models/inverse_kinematics_request.py +152 -0
  486. wandelbots_api_client/v2/models/inverse_kinematics_response.py +83 -0
  487. wandelbots_api_client/v2/models/inverse_kinematics_validation_error.py +107 -0
  488. wandelbots_api_client/v2/models/inverse_kinematics_validation_error_all_of_data.py +164 -0
  489. wandelbots_api_client/v2/models/io_boolean_value.py +92 -0
  490. wandelbots_api_client/v2/models/io_boundary.py +183 -0
  491. wandelbots_api_client/v2/models/io_description.py +116 -0
  492. wandelbots_api_client/v2/models/io_direction.py +34 -0
  493. wandelbots_api_client/v2/models/io_float_value.py +92 -0
  494. wandelbots_api_client/v2/models/io_integer_value.py +94 -0
  495. wandelbots_api_client/v2/models/io_origin.py +34 -0
  496. wandelbots_api_client/v2/models/io_value.py +183 -0
  497. wandelbots_api_client/v2/models/io_value_type.py +35 -0
  498. wandelbots_api_client/v2/models/jogging_details.py +97 -0
  499. wandelbots_api_client/v2/models/jogging_details_state.py +275 -0
  500. wandelbots_api_client/v2/models/jogging_paused_by_user.py +90 -0
  501. wandelbots_api_client/v2/models/jogging_paused_near_collision.py +91 -0
  502. wandelbots_api_client/v2/models/jogging_paused_near_joint_limit.py +92 -0
  503. wandelbots_api_client/v2/models/jogging_paused_near_singularity.py +91 -0
  504. wandelbots_api_client/v2/models/jogging_paused_on_io.py +90 -0
  505. wandelbots_api_client/v2/models/jogging_running.py +90 -0
  506. wandelbots_api_client/v2/models/joint_limit_exceeded_error.py +102 -0
  507. wandelbots_api_client/v2/models/joint_limits.py +101 -0
  508. wandelbots_api_client/v2/models/joint_trajectory.py +89 -0
  509. wandelbots_api_client/v2/models/joint_type_enum.py +34 -0
  510. wandelbots_api_client/v2/models/joint_velocity_request.py +91 -0
  511. wandelbots_api_client/v2/models/joint_velocity_response.py +91 -0
  512. wandelbots_api_client/v2/models/kinematic_model.py +118 -0
  513. wandelbots_api_client/v2/models/kuka_controller.py +106 -0
  514. wandelbots_api_client/v2/models/kuka_controller_rsi_server.py +89 -0
  515. wandelbots_api_client/v2/models/license.py +121 -0
  516. wandelbots_api_client/v2/models/license_status.py +85 -0
  517. wandelbots_api_client/v2/models/license_status_enum.py +37 -0
  518. wandelbots_api_client/v2/models/limit_range.py +84 -0
  519. wandelbots_api_client/v2/models/limit_set.py +118 -0
  520. wandelbots_api_client/v2/models/limits_override.py +136 -0
  521. wandelbots_api_client/v2/models/list_trajectories_response.py +86 -0
  522. wandelbots_api_client/v2/models/location1_inner.py +153 -0
  523. wandelbots_api_client/v2/models/manufacturer.py +37 -0
  524. wandelbots_api_client/v2/models/merge_trajectories422_response.py +97 -0
  525. wandelbots_api_client/v2/models/merge_trajectories_error.py +97 -0
  526. wandelbots_api_client/v2/models/merge_trajectories_error_error_feedback.py +209 -0
  527. wandelbots_api_client/v2/models/merge_trajectories_request.py +107 -0
  528. wandelbots_api_client/v2/models/merge_trajectories_response.py +109 -0
  529. wandelbots_api_client/v2/models/merge_trajectories_response_feedback_inner.py +147 -0
  530. wandelbots_api_client/v2/models/merge_trajectories_segment.py +126 -0
  531. wandelbots_api_client/v2/models/merge_trajectories_validation_error.py +109 -0
  532. wandelbots_api_client/v2/models/midpoint_insertion_algorithm.py +102 -0
  533. wandelbots_api_client/v2/models/modbus_io.py +109 -0
  534. wandelbots_api_client/v2/models/modbus_io_area.py +37 -0
  535. wandelbots_api_client/v2/models/modbus_io_byte_order.py +37 -0
  536. wandelbots_api_client/v2/models/modbus_io_data.py +105 -0
  537. wandelbots_api_client/v2/models/modbus_io_type_enum.py +36 -0
  538. wandelbots_api_client/v2/models/motion_command.py +106 -0
  539. wandelbots_api_client/v2/models/motion_command_blending.py +164 -0
  540. wandelbots_api_client/v2/models/motion_command_path.py +221 -0
  541. wandelbots_api_client/v2/models/motion_group_description.py +235 -0
  542. wandelbots_api_client/v2/models/motion_group_from_json.py +100 -0
  543. wandelbots_api_client/v2/models/motion_group_from_type.py +96 -0
  544. wandelbots_api_client/v2/models/motion_group_info.py +90 -0
  545. wandelbots_api_client/v2/models/motion_group_joints.py +97 -0
  546. wandelbots_api_client/v2/models/motion_group_setup.py +140 -0
  547. wandelbots_api_client/v2/models/motion_group_state.py +182 -0
  548. wandelbots_api_client/v2/models/motion_group_state_joint_limit_reached.py +83 -0
  549. wandelbots_api_client/v2/models/movement_error_response.py +91 -0
  550. wandelbots_api_client/v2/models/nan_value_error.py +100 -0
  551. wandelbots_api_client/v2/models/nan_value_error_nan_value.py +85 -0
  552. wandelbots_api_client/v2/models/network_device.py +85 -0
  553. wandelbots_api_client/v2/models/network_interface.py +86 -0
  554. wandelbots_api_client/v2/models/network_state.py +125 -0
  555. wandelbots_api_client/v2/models/op_mode.py +84 -0
  556. wandelbots_api_client/v2/models/operating_state.py +34 -0
  557. wandelbots_api_client/v2/models/operation_limits.py +106 -0
  558. wandelbots_api_client/v2/models/operation_mode.py +42 -0
  559. wandelbots_api_client/v2/models/orientation_type.py +58 -0
  560. wandelbots_api_client/v2/models/path_cartesian_ptp.py +100 -0
  561. wandelbots_api_client/v2/models/path_circle.py +105 -0
  562. wandelbots_api_client/v2/models/path_cubic_spline.py +106 -0
  563. wandelbots_api_client/v2/models/path_joint_ptp.py +93 -0
  564. wandelbots_api_client/v2/models/path_line.py +100 -0
  565. wandelbots_api_client/v2/models/pause_jogging_request.py +90 -0
  566. wandelbots_api_client/v2/models/pause_jogging_response.py +91 -0
  567. wandelbots_api_client/v2/models/pause_movement_request.py +90 -0
  568. wandelbots_api_client/v2/models/pause_movement_response.py +91 -0
  569. wandelbots_api_client/v2/models/pause_on_io.py +99 -0
  570. wandelbots_api_client/v2/models/payload.py +98 -0
  571. wandelbots_api_client/v2/models/plan422_response.py +93 -0
  572. wandelbots_api_client/v2/models/plan_collision_free_failed_response.py +93 -0
  573. wandelbots_api_client/v2/models/plan_collision_free_request.py +109 -0
  574. wandelbots_api_client/v2/models/plan_collision_free_response.py +89 -0
  575. wandelbots_api_client/v2/models/plan_collision_free_response_response.py +147 -0
  576. wandelbots_api_client/v2/models/plan_trajectory_failed_response.py +105 -0
  577. wandelbots_api_client/v2/models/plan_trajectory_failed_response_error_feedback.py +252 -0
  578. wandelbots_api_client/v2/models/plan_trajectory_request.py +113 -0
  579. wandelbots_api_client/v2/models/plan_trajectory_response.py +89 -0
  580. wandelbots_api_client/v2/models/plan_trajectory_response_response.py +147 -0
  581. wandelbots_api_client/v2/models/plan_validation_error.py +107 -0
  582. wandelbots_api_client/v2/models/plan_validation_error_all_of_data.py +183 -0
  583. wandelbots_api_client/v2/models/plane.py +90 -0
  584. wandelbots_api_client/v2/models/playback_speed_request.py +96 -0
  585. wandelbots_api_client/v2/models/playback_speed_response.py +91 -0
  586. wandelbots_api_client/v2/models/pose.py +90 -0
  587. wandelbots_api_client/v2/models/profinet_description.py +112 -0
  588. wandelbots_api_client/v2/models/profinet_input_output_config.py +98 -0
  589. wandelbots_api_client/v2/models/profinet_io.py +109 -0
  590. wandelbots_api_client/v2/models/profinet_io_data.py +105 -0
  591. wandelbots_api_client/v2/models/profinet_io_direction.py +35 -0
  592. wandelbots_api_client/v2/models/profinet_io_type_enum.py +42 -0
  593. wandelbots_api_client/v2/models/profinet_slot_description.py +106 -0
  594. wandelbots_api_client/v2/models/profinet_sub_slot_description.py +92 -0
  595. wandelbots_api_client/v2/models/program.py +105 -0
  596. wandelbots_api_client/v2/models/program_run.py +124 -0
  597. wandelbots_api_client/v2/models/program_run_state.py +37 -0
  598. wandelbots_api_client/v2/models/program_start_request.py +83 -0
  599. wandelbots_api_client/v2/models/rectangle.py +92 -0
  600. wandelbots_api_client/v2/models/rectangular_capsule.py +100 -0
  601. wandelbots_api_client/v2/models/release_channel.py +34 -0
  602. wandelbots_api_client/v2/models/robot_controller.py +105 -0
  603. wandelbots_api_client/v2/models/robot_controller_configuration.py +262 -0
  604. wandelbots_api_client/v2/models/robot_controller_configuration_request.py +99 -0
  605. wandelbots_api_client/v2/models/robot_controller_state.py +138 -0
  606. wandelbots_api_client/v2/models/robot_system_mode.py +37 -0
  607. wandelbots_api_client/v2/models/robot_tcp.py +110 -0
  608. wandelbots_api_client/v2/models/robot_tcp_data.py +108 -0
  609. wandelbots_api_client/v2/models/rrt_connect_algorithm.py +127 -0
  610. wandelbots_api_client/v2/models/safety_state_type.py +48 -0
  611. wandelbots_api_client/v2/models/service_group.py +36 -0
  612. wandelbots_api_client/v2/models/service_status.py +96 -0
  613. wandelbots_api_client/v2/models/service_status_phase.py +46 -0
  614. wandelbots_api_client/v2/models/service_status_response.py +100 -0
  615. wandelbots_api_client/v2/models/service_status_severity.py +35 -0
  616. wandelbots_api_client/v2/models/service_status_status.py +87 -0
  617. wandelbots_api_client/v2/models/set_io.py +96 -0
  618. wandelbots_api_client/v2/models/settable_robot_system_mode.py +36 -0
  619. wandelbots_api_client/v2/models/singularity_type_enum.py +35 -0
  620. wandelbots_api_client/v2/models/sphere.py +91 -0
  621. wandelbots_api_client/v2/models/start_movement_request.py +133 -0
  622. wandelbots_api_client/v2/models/start_movement_response.py +91 -0
  623. wandelbots_api_client/v2/models/start_on_io.py +99 -0
  624. wandelbots_api_client/v2/models/stream_io_values_response.py +103 -0
  625. wandelbots_api_client/v2/models/tcp_offset.py +88 -0
  626. wandelbots_api_client/v2/models/tcp_required_error.py +96 -0
  627. wandelbots_api_client/v2/models/tcp_velocity_request.py +110 -0
  628. wandelbots_api_client/v2/models/tcp_velocity_response.py +91 -0
  629. wandelbots_api_client/v2/models/torque_exceeded_error.py +102 -0
  630. wandelbots_api_client/v2/models/torque_exceeded_error_torque_exceeded.py +86 -0
  631. wandelbots_api_client/v2/models/trajectory_data.py +106 -0
  632. wandelbots_api_client/v2/models/trajectory_details.py +106 -0
  633. wandelbots_api_client/v2/models/trajectory_details_state.py +239 -0
  634. wandelbots_api_client/v2/models/trajectory_ended.py +90 -0
  635. wandelbots_api_client/v2/models/trajectory_id.py +93 -0
  636. wandelbots_api_client/v2/models/trajectory_paused_by_user.py +90 -0
  637. wandelbots_api_client/v2/models/trajectory_paused_on_io.py +90 -0
  638. wandelbots_api_client/v2/models/trajectory_running.py +94 -0
  639. wandelbots_api_client/v2/models/trajectory_section.py +84 -0
  640. wandelbots_api_client/v2/models/trajectory_wait_for_io.py +90 -0
  641. wandelbots_api_client/v2/models/unit_type.py +42 -0
  642. wandelbots_api_client/v2/models/universalrobots_controller.py +91 -0
  643. wandelbots_api_client/v2/models/update_cell_version_request.py +84 -0
  644. wandelbots_api_client/v2/models/update_nova_version_request.py +90 -0
  645. wandelbots_api_client/v2/models/validation_error.py +101 -0
  646. wandelbots_api_client/v2/models/validation_error2.py +85 -0
  647. wandelbots_api_client/v2/models/virtual_controller.py +113 -0
  648. wandelbots_api_client/v2/models/virtual_robot_configuration.py +88 -0
  649. wandelbots_api_client/v2/models/wait_for_io_event_request.py +93 -0
  650. wandelbots_api_client/v2/models/yaskawa_controller.py +91 -0
  651. wandelbots_api_client/v2/models/zod_validation_error.py +87 -0
  652. wandelbots_api_client/v2/models/zod_validation_error_error.py +108 -0
  653. wandelbots_api_client/v2/models/zod_validation_error_error_details_inner.py +101 -0
  654. wandelbots_api_client/v2/models/zod_validation_error_error_details_inner_path_inner.py +153 -0
  655. wandelbots_api_client/v2/py.typed +0 -0
  656. wandelbots_api_client/v2/rest.py +188 -0
  657. wandelbots_api_client/v2_pydantic/__init__.py +49 -0
  658. wandelbots_api_client/v2_pydantic/api/__init__.py +55 -0
  659. wandelbots_api_client/v2_pydantic/api/application_api.py +1532 -0
  660. wandelbots_api_client/v2_pydantic/api/bus_inputs_outputs_api.py +4534 -0
  661. wandelbots_api_client/v2_pydantic/api/cell_api.py +2163 -0
  662. wandelbots_api_client/v2_pydantic/api/controller_api.py +3238 -0
  663. wandelbots_api_client/v2_pydantic/api/controller_inputs_outputs_api.py +1244 -0
  664. wandelbots_api_client/v2_pydantic/api/jogging_api.py +113 -0
  665. wandelbots_api_client/v2_pydantic/api/kinematics_api.py +555 -0
  666. wandelbots_api_client/v2_pydantic/api/license_api.py +877 -0
  667. wandelbots_api_client/v2_pydantic/api/motion_group_api.py +689 -0
  668. wandelbots_api_client/v2_pydantic/api/motion_group_models_api.py +1222 -0
  669. wandelbots_api_client/v2_pydantic/api/nova_cloud_api.py +760 -0
  670. wandelbots_api_client/v2_pydantic/api/program_api.py +988 -0
  671. wandelbots_api_client/v2_pydantic/api/robot_configurations_api.py +485 -0
  672. wandelbots_api_client/v2_pydantic/api/store_collision_components_api.py +3479 -0
  673. wandelbots_api_client/v2_pydantic/api/store_collision_setups_api.py +1169 -0
  674. wandelbots_api_client/v2_pydantic/api/store_object_api.py +1414 -0
  675. wandelbots_api_client/v2_pydantic/api/system_api.py +2696 -0
  676. wandelbots_api_client/v2_pydantic/api/trajectory_caching_api.py +1339 -0
  677. wandelbots_api_client/v2_pydantic/api/trajectory_execution_api.py +115 -0
  678. wandelbots_api_client/v2_pydantic/api/trajectory_planning_api.py +811 -0
  679. wandelbots_api_client/v2_pydantic/api/version_api.py +240 -0
  680. wandelbots_api_client/v2_pydantic/api/virtual_controller_api.py +4534 -0
  681. wandelbots_api_client/v2_pydantic/api/virtual_controller_behavior_api.py +863 -0
  682. wandelbots_api_client/v2_pydantic/api/virtual_controller_inputs_outputs_api.py +895 -0
  683. wandelbots_api_client/v2_pydantic/api_client.py +692 -0
  684. wandelbots_api_client/v2_pydantic/api_response.py +20 -0
  685. wandelbots_api_client/v2_pydantic/configuration.py +579 -0
  686. wandelbots_api_client/v2_pydantic/exceptions.py +216 -0
  687. wandelbots_api_client/v2_pydantic/models/__init__.py +642 -0
  688. wandelbots_api_client/v2_pydantic/models/models.py +5090 -0
  689. wandelbots_api_client/v2_pydantic/py.typed +0 -0
  690. wandelbots_api_client/v2_pydantic/rest.py +188 -0
  691. wandelbots_api_client-26.3.0.dev29.dist-info/METADATA +241 -0
  692. wandelbots_api_client-26.3.0.dev29.dist-info/RECORD +693 -0
  693. wandelbots_api_client-26.3.0.dev29.dist-info/WHEEL +4 -0
@@ -0,0 +1,4534 @@
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: 2.3.0 dev
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, StrictBool, StrictStr
26
+ from typing import List, Optional
27
+ from typing_extensions import Annotated
28
+ from wandelbots_api_client.v2.models.add_virtual_controller_motion_group_request import AddVirtualControllerMotionGroupRequest
29
+ from wandelbots_api_client.v2.models.coordinate_system import CoordinateSystem
30
+ from wandelbots_api_client.v2.models.coordinate_system_data import CoordinateSystemData
31
+ from wandelbots_api_client.v2.models.flag import Flag
32
+ from wandelbots_api_client.v2.models.motion_group_info import MotionGroupInfo
33
+ from wandelbots_api_client.v2.models.motion_group_joints import MotionGroupJoints
34
+ from wandelbots_api_client.v2.models.op_mode import OpMode
35
+ from wandelbots_api_client.v2.models.operation_mode import OperationMode
36
+ from wandelbots_api_client.v2.models.robot_tcp import RobotTcp
37
+ from wandelbots_api_client.v2.models.robot_tcp_data import RobotTcpData
38
+
39
+ from wandelbots_api_client.v2.api_client import ApiClient, RequestSerialized
40
+ from wandelbots_api_client.v2.api_response import ApiResponse
41
+ from wandelbots_api_client.v2.rest import RESTResponseType
42
+
43
+
44
+ class VirtualControllerApi:
45
+ """NOTE: This class is auto generated by OpenAPI Generator
46
+ Ref: https://openapi-generator.tech
47
+
48
+ Do not edit the class manually.
49
+ """
50
+
51
+ def __init__(self, api_client=None) -> None:
52
+ if api_client is None:
53
+ api_client = ApiClient.get_default()
54
+ self.api_client = api_client
55
+
56
+ @validate_call
57
+ async def add_virtual_controller_coordinate_system(
58
+ self,
59
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
60
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
61
+ coordinate_system: Annotated[StrictStr, Field(description="Unique identifier addressing a coordinate system.")],
62
+ coordinate_system_data: CoordinateSystemData,
63
+ _request_timeout: Union[
64
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
65
+ ] = None,
66
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
67
+ _content_type: Optional[StrictStr] = None,
68
+ _headers: Optional[Dict[StrictStr, Any]] = None,
69
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
70
+ ) -> None:
71
+ """Add Coordinate Systems
72
+
73
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a coordinate system to the robot controller. <!-- theme: info --> > #### NOTE > > When a new coordinate system is added, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
74
+
75
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
76
+ :type cell: str
77
+ :param controller: Unique identifier to address a controller in the cell. (required)
78
+ :type controller: str
79
+ :param coordinate_system: Unique identifier addressing a coordinate system. (required)
80
+ :type coordinate_system: str
81
+ :param coordinate_system_data: (required)
82
+ :type coordinate_system_data: CoordinateSystemData
83
+ :param _request_timeout: timeout setting for this request. If one
84
+ number provided, it will be total request
85
+ timeout. It can also be a pair (tuple) of
86
+ (connection, read) timeouts.
87
+ :type _request_timeout: int, tuple(int, int), optional
88
+ :param _request_auth: set to override the auth_settings for an a single
89
+ request; this effectively ignores the
90
+ authentication in the spec for a single request.
91
+ :type _request_auth: dict, optional
92
+ :param _content_type: force content-type for the request.
93
+ :type _content_type: str, Optional
94
+ :param _headers: set to override the headers for a single
95
+ request; this effectively ignores the headers
96
+ in the spec for a single request.
97
+ :type _headers: dict, optional
98
+ :param _host_index: set to override the host_index for a single
99
+ request; this effectively ignores the host_index
100
+ in the spec for a single request.
101
+ :type _host_index: int, optional
102
+ :return: Returns the result object.
103
+ """ # noqa: E501
104
+
105
+ _param = self._add_virtual_controller_coordinate_system_serialize(
106
+ cell=cell,
107
+ controller=controller,
108
+ coordinate_system=coordinate_system,
109
+ coordinate_system_data=coordinate_system_data,
110
+ _request_auth=_request_auth,
111
+ _content_type=_content_type,
112
+ _headers=_headers,
113
+ _host_index=_host_index,
114
+ )
115
+
116
+ _response_types_map: Dict[str, Optional[str]] = {
117
+ "200": None,
118
+ "400": "Error",
119
+ "404": "Error",
120
+ }
121
+
122
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
123
+ await response_data.read()
124
+ return self.api_client.response_deserialize(
125
+ response_data=response_data,
126
+ response_types_map=_response_types_map,
127
+ ).data
128
+
129
+ @validate_call
130
+ async def add_virtual_controller_coordinate_system_with_http_info(
131
+ self,
132
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
133
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
134
+ coordinate_system: Annotated[StrictStr, Field(description="Unique identifier addressing a coordinate system.")],
135
+ coordinate_system_data: CoordinateSystemData,
136
+ _request_timeout: Union[
137
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
138
+ ] = None,
139
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
140
+ _content_type: Optional[StrictStr] = None,
141
+ _headers: Optional[Dict[StrictStr, Any]] = None,
142
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
143
+ ) -> ApiResponse[None]:
144
+ """Add Coordinate Systems
145
+
146
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a coordinate system to the robot controller. <!-- theme: info --> > #### NOTE > > When a new coordinate system is added, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
147
+
148
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
149
+ :type cell: str
150
+ :param controller: Unique identifier to address a controller in the cell. (required)
151
+ :type controller: str
152
+ :param coordinate_system: Unique identifier addressing a coordinate system. (required)
153
+ :type coordinate_system: str
154
+ :param coordinate_system_data: (required)
155
+ :type coordinate_system_data: CoordinateSystemData
156
+ :param _request_timeout: timeout setting for this request. If one
157
+ number provided, it will be total request
158
+ timeout. It can also be a pair (tuple) of
159
+ (connection, read) timeouts.
160
+ :type _request_timeout: int, tuple(int, int), optional
161
+ :param _request_auth: set to override the auth_settings for an a single
162
+ request; this effectively ignores the
163
+ authentication in the spec for a single request.
164
+ :type _request_auth: dict, optional
165
+ :param _content_type: force content-type for the request.
166
+ :type _content_type: str, Optional
167
+ :param _headers: set to override the headers for a single
168
+ request; this effectively ignores the headers
169
+ in the spec for a single request.
170
+ :type _headers: dict, optional
171
+ :param _host_index: set to override the host_index for a single
172
+ request; this effectively ignores the host_index
173
+ in the spec for a single request.
174
+ :type _host_index: int, optional
175
+ :return: Returns the result object.
176
+ """ # noqa: E501
177
+
178
+ _param = self._add_virtual_controller_coordinate_system_serialize(
179
+ cell=cell,
180
+ controller=controller,
181
+ coordinate_system=coordinate_system,
182
+ coordinate_system_data=coordinate_system_data,
183
+ _request_auth=_request_auth,
184
+ _content_type=_content_type,
185
+ _headers=_headers,
186
+ _host_index=_host_index,
187
+ )
188
+
189
+ _response_types_map: Dict[str, Optional[str]] = {
190
+ "200": None,
191
+ "400": "Error",
192
+ "404": "Error",
193
+ }
194
+
195
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
196
+ await response_data.read()
197
+ return self.api_client.response_deserialize(
198
+ response_data=response_data,
199
+ response_types_map=_response_types_map,
200
+ )
201
+
202
+ @validate_call
203
+ async def add_virtual_controller_coordinate_system_without_preload_content(
204
+ self,
205
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
206
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
207
+ coordinate_system: Annotated[StrictStr, Field(description="Unique identifier addressing a coordinate system.")],
208
+ coordinate_system_data: CoordinateSystemData,
209
+ _request_timeout: Union[
210
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
211
+ ] = None,
212
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
213
+ _content_type: Optional[StrictStr] = None,
214
+ _headers: Optional[Dict[StrictStr, Any]] = None,
215
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
216
+ ) -> RESTResponseType:
217
+ """Add Coordinate Systems
218
+
219
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a coordinate system to the robot controller. <!-- theme: info --> > #### NOTE > > When a new coordinate system is added, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
220
+
221
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
222
+ :type cell: str
223
+ :param controller: Unique identifier to address a controller in the cell. (required)
224
+ :type controller: str
225
+ :param coordinate_system: Unique identifier addressing a coordinate system. (required)
226
+ :type coordinate_system: str
227
+ :param coordinate_system_data: (required)
228
+ :type coordinate_system_data: CoordinateSystemData
229
+ :param _request_timeout: timeout setting for this request. If one
230
+ number provided, it will be total request
231
+ timeout. It can also be a pair (tuple) of
232
+ (connection, read) timeouts.
233
+ :type _request_timeout: int, tuple(int, int), optional
234
+ :param _request_auth: set to override the auth_settings for an a single
235
+ request; this effectively ignores the
236
+ authentication in the spec for a single request.
237
+ :type _request_auth: dict, optional
238
+ :param _content_type: force content-type for the request.
239
+ :type _content_type: str, Optional
240
+ :param _headers: set to override the headers for a single
241
+ request; this effectively ignores the headers
242
+ in the spec for a single request.
243
+ :type _headers: dict, optional
244
+ :param _host_index: set to override the host_index for a single
245
+ request; this effectively ignores the host_index
246
+ in the spec for a single request.
247
+ :type _host_index: int, optional
248
+ :return: Returns the result object.
249
+ """ # noqa: E501
250
+
251
+ _param = self._add_virtual_controller_coordinate_system_serialize(
252
+ cell=cell,
253
+ controller=controller,
254
+ coordinate_system=coordinate_system,
255
+ coordinate_system_data=coordinate_system_data,
256
+ _request_auth=_request_auth,
257
+ _content_type=_content_type,
258
+ _headers=_headers,
259
+ _host_index=_host_index,
260
+ )
261
+
262
+ _response_types_map: Dict[str, Optional[str]] = {
263
+ "200": None,
264
+ "400": "Error",
265
+ "404": "Error",
266
+ }
267
+
268
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
269
+ return response_data.response
270
+
271
+ def _add_virtual_controller_coordinate_system_serialize(
272
+ self,
273
+ cell,
274
+ controller,
275
+ coordinate_system,
276
+ coordinate_system_data,
277
+ _request_auth,
278
+ _content_type,
279
+ _headers,
280
+ _host_index,
281
+ ) -> RequestSerialized:
282
+
283
+ _host = None
284
+
285
+ _collection_formats: Dict[str, str] = {}
286
+
287
+ _path_params: Dict[str, str] = {}
288
+ _query_params: List[Tuple[str, str]] = []
289
+ _header_params: Dict[str, Optional[str]] = _headers or {}
290
+ _form_params: List[Tuple[str, str]] = []
291
+ _files: Dict[str, Union[str, bytes]] = {}
292
+ _body_params: Optional[bytes] = None
293
+
294
+ # process the path parameters
295
+ if cell is not None:
296
+ _path_params["cell"] = cell
297
+ if controller is not None:
298
+ _path_params["controller"] = controller
299
+ if coordinate_system is not None:
300
+ _path_params["coordinate-system"] = coordinate_system
301
+ # process the query parameters
302
+ # process the header parameters
303
+ # process the form parameters
304
+ # process the body parameter
305
+ if coordinate_system_data is not None:
306
+ _body_params = coordinate_system_data
307
+
308
+ # set the HTTP header `Accept`
309
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
310
+
311
+ # set the HTTP header `Content-Type`
312
+ if _content_type:
313
+ _header_params["Content-Type"] = _content_type
314
+ else:
315
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
316
+ if _default_content_type is not None:
317
+ _header_params["Content-Type"] = _default_content_type
318
+
319
+ # authentication setting
320
+ _auth_settings: List[str] = ["BearerAuth"]
321
+
322
+ return self.api_client.param_serialize(
323
+ method="PUT",
324
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/coordinate-systems/{coordinate-system}",
325
+ path_params=_path_params,
326
+ query_params=_query_params,
327
+ header_params=_header_params,
328
+ body=_body_params,
329
+ post_params=_form_params,
330
+ files=_files,
331
+ auth_settings=_auth_settings,
332
+ collection_formats=_collection_formats,
333
+ _host=_host,
334
+ _request_auth=_request_auth,
335
+ )
336
+
337
+ @validate_call
338
+ async def add_virtual_controller_motion_group(
339
+ self,
340
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
341
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
342
+ add_virtual_controller_motion_group_request: AddVirtualControllerMotionGroupRequest,
343
+ _request_timeout: Union[
344
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
345
+ ] = None,
346
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
347
+ _content_type: Optional[StrictStr] = None,
348
+ _headers: Optional[Dict[StrictStr, Any]] = None,
349
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
350
+ ) -> None:
351
+ """Add Motion Group
352
+
353
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **json_data** should be set. - **motion_group_model**: Identifies a single motion group. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types. - **json_data**: Full JSON configuration of the virtual robot controller. This can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration). - **extracted_motion_group_id** (required when using json_data): The motion group identifier to extract from the provided JSON configuration. - **motion_group**: Unique identifier for the motion group to be added. - **initial_joint_position**: Specifies the initial joint position for the added motion group. <!-- theme: info --> > #### NOTE > > When a motion group is added, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new motion group may not yet be available for use.
354
+
355
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
356
+ :type cell: str
357
+ :param controller: Unique identifier to address a controller in the cell. (required)
358
+ :type controller: str
359
+ :param add_virtual_controller_motion_group_request: (required)
360
+ :type add_virtual_controller_motion_group_request: AddVirtualControllerMotionGroupRequest
361
+ :param _request_timeout: timeout setting for this request. If one
362
+ number provided, it will be total request
363
+ timeout. It can also be a pair (tuple) of
364
+ (connection, read) timeouts.
365
+ :type _request_timeout: int, tuple(int, int), optional
366
+ :param _request_auth: set to override the auth_settings for an a single
367
+ request; this effectively ignores the
368
+ authentication in the spec for a single request.
369
+ :type _request_auth: dict, optional
370
+ :param _content_type: force content-type for the request.
371
+ :type _content_type: str, Optional
372
+ :param _headers: set to override the headers for a single
373
+ request; this effectively ignores the headers
374
+ in the spec for a single request.
375
+ :type _headers: dict, optional
376
+ :param _host_index: set to override the host_index for a single
377
+ request; this effectively ignores the host_index
378
+ in the spec for a single request.
379
+ :type _host_index: int, optional
380
+ :return: Returns the result object.
381
+ """ # noqa: E501
382
+
383
+ _param = self._add_virtual_controller_motion_group_serialize(
384
+ cell=cell,
385
+ controller=controller,
386
+ add_virtual_controller_motion_group_request=add_virtual_controller_motion_group_request,
387
+ _request_auth=_request_auth,
388
+ _content_type=_content_type,
389
+ _headers=_headers,
390
+ _host_index=_host_index,
391
+ )
392
+
393
+ _response_types_map: Dict[str, Optional[str]] = {
394
+ "200": None,
395
+ "400": "Error",
396
+ "404": "Error",
397
+ }
398
+
399
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
400
+ await response_data.read()
401
+ return self.api_client.response_deserialize(
402
+ response_data=response_data,
403
+ response_types_map=_response_types_map,
404
+ ).data
405
+
406
+ @validate_call
407
+ async def add_virtual_controller_motion_group_with_http_info(
408
+ self,
409
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
410
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
411
+ add_virtual_controller_motion_group_request: AddVirtualControllerMotionGroupRequest,
412
+ _request_timeout: Union[
413
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
414
+ ] = None,
415
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
416
+ _content_type: Optional[StrictStr] = None,
417
+ _headers: Optional[Dict[StrictStr, Any]] = None,
418
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
419
+ ) -> ApiResponse[None]:
420
+ """Add Motion Group
421
+
422
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **json_data** should be set. - **motion_group_model**: Identifies a single motion group. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types. - **json_data**: Full JSON configuration of the virtual robot controller. This can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration). - **extracted_motion_group_id** (required when using json_data): The motion group identifier to extract from the provided JSON configuration. - **motion_group**: Unique identifier for the motion group to be added. - **initial_joint_position**: Specifies the initial joint position for the added motion group. <!-- theme: info --> > #### NOTE > > When a motion group is added, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new motion group may not yet be available for use.
423
+
424
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
425
+ :type cell: str
426
+ :param controller: Unique identifier to address a controller in the cell. (required)
427
+ :type controller: str
428
+ :param add_virtual_controller_motion_group_request: (required)
429
+ :type add_virtual_controller_motion_group_request: AddVirtualControllerMotionGroupRequest
430
+ :param _request_timeout: timeout setting for this request. If one
431
+ number provided, it will be total request
432
+ timeout. It can also be a pair (tuple) of
433
+ (connection, read) timeouts.
434
+ :type _request_timeout: int, tuple(int, int), optional
435
+ :param _request_auth: set to override the auth_settings for an a single
436
+ request; this effectively ignores the
437
+ authentication in the spec for a single request.
438
+ :type _request_auth: dict, optional
439
+ :param _content_type: force content-type for the request.
440
+ :type _content_type: str, Optional
441
+ :param _headers: set to override the headers for a single
442
+ request; this effectively ignores the headers
443
+ in the spec for a single request.
444
+ :type _headers: dict, optional
445
+ :param _host_index: set to override the host_index for a single
446
+ request; this effectively ignores the host_index
447
+ in the spec for a single request.
448
+ :type _host_index: int, optional
449
+ :return: Returns the result object.
450
+ """ # noqa: E501
451
+
452
+ _param = self._add_virtual_controller_motion_group_serialize(
453
+ cell=cell,
454
+ controller=controller,
455
+ add_virtual_controller_motion_group_request=add_virtual_controller_motion_group_request,
456
+ _request_auth=_request_auth,
457
+ _content_type=_content_type,
458
+ _headers=_headers,
459
+ _host_index=_host_index,
460
+ )
461
+
462
+ _response_types_map: Dict[str, Optional[str]] = {
463
+ "200": None,
464
+ "400": "Error",
465
+ "404": "Error",
466
+ }
467
+
468
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
469
+ await response_data.read()
470
+ return self.api_client.response_deserialize(
471
+ response_data=response_data,
472
+ response_types_map=_response_types_map,
473
+ )
474
+
475
+ @validate_call
476
+ async def add_virtual_controller_motion_group_without_preload_content(
477
+ self,
478
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
479
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
480
+ add_virtual_controller_motion_group_request: AddVirtualControllerMotionGroupRequest,
481
+ _request_timeout: Union[
482
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
483
+ ] = None,
484
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
485
+ _content_type: Optional[StrictStr] = None,
486
+ _headers: Optional[Dict[StrictStr, Any]] = None,
487
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
488
+ ) -> RESTResponseType:
489
+ """Add Motion Group
490
+
491
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a motion group configuration for the virtual robot controller. Fields: - Only one of **motion_group_model** or **json_data** should be set. - **motion_group_model**: Identifies a single motion group. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types. - **json_data**: Full JSON configuration of the virtual robot controller. This can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration). - **extracted_motion_group_id** (required when using json_data): The motion group identifier to extract from the provided JSON configuration. - **motion_group**: Unique identifier for the motion group to be added. - **initial_joint_position**: Specifies the initial joint position for the added motion group. <!-- theme: info --> > #### NOTE > > When a motion group is added, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new motion group may not yet be available for use.
492
+
493
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
494
+ :type cell: str
495
+ :param controller: Unique identifier to address a controller in the cell. (required)
496
+ :type controller: str
497
+ :param add_virtual_controller_motion_group_request: (required)
498
+ :type add_virtual_controller_motion_group_request: AddVirtualControllerMotionGroupRequest
499
+ :param _request_timeout: timeout setting for this request. If one
500
+ number provided, it will be total request
501
+ timeout. It can also be a pair (tuple) of
502
+ (connection, read) timeouts.
503
+ :type _request_timeout: int, tuple(int, int), optional
504
+ :param _request_auth: set to override the auth_settings for an a single
505
+ request; this effectively ignores the
506
+ authentication in the spec for a single request.
507
+ :type _request_auth: dict, optional
508
+ :param _content_type: force content-type for the request.
509
+ :type _content_type: str, Optional
510
+ :param _headers: set to override the headers for a single
511
+ request; this effectively ignores the headers
512
+ in the spec for a single request.
513
+ :type _headers: dict, optional
514
+ :param _host_index: set to override the host_index for a single
515
+ request; this effectively ignores the host_index
516
+ in the spec for a single request.
517
+ :type _host_index: int, optional
518
+ :return: Returns the result object.
519
+ """ # noqa: E501
520
+
521
+ _param = self._add_virtual_controller_motion_group_serialize(
522
+ cell=cell,
523
+ controller=controller,
524
+ add_virtual_controller_motion_group_request=add_virtual_controller_motion_group_request,
525
+ _request_auth=_request_auth,
526
+ _content_type=_content_type,
527
+ _headers=_headers,
528
+ _host_index=_host_index,
529
+ )
530
+
531
+ _response_types_map: Dict[str, Optional[str]] = {
532
+ "200": None,
533
+ "400": "Error",
534
+ "404": "Error",
535
+ }
536
+
537
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
538
+ return response_data.response
539
+
540
+ def _add_virtual_controller_motion_group_serialize(
541
+ self,
542
+ cell,
543
+ controller,
544
+ add_virtual_controller_motion_group_request,
545
+ _request_auth,
546
+ _content_type,
547
+ _headers,
548
+ _host_index,
549
+ ) -> RequestSerialized:
550
+
551
+ _host = None
552
+
553
+ _collection_formats: Dict[str, str] = {}
554
+
555
+ _path_params: Dict[str, str] = {}
556
+ _query_params: List[Tuple[str, str]] = []
557
+ _header_params: Dict[str, Optional[str]] = _headers or {}
558
+ _form_params: List[Tuple[str, str]] = []
559
+ _files: Dict[str, Union[str, bytes]] = {}
560
+ _body_params: Optional[bytes] = None
561
+
562
+ # process the path parameters
563
+ if cell is not None:
564
+ _path_params["cell"] = cell
565
+ if controller is not None:
566
+ _path_params["controller"] = controller
567
+ # process the query parameters
568
+ # process the header parameters
569
+ # process the form parameters
570
+ # process the body parameter
571
+ if add_virtual_controller_motion_group_request is not None:
572
+ _body_params = add_virtual_controller_motion_group_request
573
+
574
+ # set the HTTP header `Accept`
575
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
576
+
577
+ # set the HTTP header `Content-Type`
578
+ if _content_type:
579
+ _header_params["Content-Type"] = _content_type
580
+ else:
581
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
582
+ if _default_content_type is not None:
583
+ _header_params["Content-Type"] = _default_content_type
584
+
585
+ # authentication setting
586
+ _auth_settings: List[str] = ["BearerAuth"]
587
+
588
+ return self.api_client.param_serialize(
589
+ method="POST",
590
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/motion-groups",
591
+ path_params=_path_params,
592
+ query_params=_query_params,
593
+ header_params=_header_params,
594
+ body=_body_params,
595
+ post_params=_form_params,
596
+ files=_files,
597
+ auth_settings=_auth_settings,
598
+ collection_formats=_collection_formats,
599
+ _host=_host,
600
+ _request_auth=_request_auth,
601
+ )
602
+
603
+ @validate_call
604
+ async def add_virtual_controller_tcp(
605
+ self,
606
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
607
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
608
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
609
+ tcp: Annotated[StrictStr, Field(description="The unique identifier of a TCP.")],
610
+ robot_tcp_data: RobotTcpData,
611
+ _request_timeout: Union[
612
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
613
+ ] = None,
614
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
615
+ _content_type: Optional[StrictStr] = None,
616
+ _headers: Optional[Dict[StrictStr, Any]] = None,
617
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
618
+ ) -> None:
619
+ """Add TCP
620
+
621
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a new TCP or updates an existing TCP in the motion group. The position and rotation values in the request body are defined within the flange's coordinate system. > **NOTE** > > Ensure the TCP's position is within the robot's reach. Refer to the robot's documentation or data sheet for details like joint limits or reach. <!-- theme: info --> > #### NOTE > > When adding or updating a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the TCP is available for operation. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the TCP may not yet be visible nor usable.
622
+
623
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
624
+ :type cell: str
625
+ :param controller: Unique identifier to address a controller in the cell. (required)
626
+ :type controller: str
627
+ :param motion_group: The motion-group identifier. (required)
628
+ :type motion_group: str
629
+ :param tcp: The unique identifier of a TCP. (required)
630
+ :type tcp: str
631
+ :param robot_tcp_data: (required)
632
+ :type robot_tcp_data: RobotTcpData
633
+ :param _request_timeout: timeout setting for this request. If one
634
+ number provided, it will be total request
635
+ timeout. It can also be a pair (tuple) of
636
+ (connection, read) timeouts.
637
+ :type _request_timeout: int, tuple(int, int), optional
638
+ :param _request_auth: set to override the auth_settings for an a single
639
+ request; this effectively ignores the
640
+ authentication in the spec for a single request.
641
+ :type _request_auth: dict, optional
642
+ :param _content_type: force content-type for the request.
643
+ :type _content_type: str, Optional
644
+ :param _headers: set to override the headers for a single
645
+ request; this effectively ignores the headers
646
+ in the spec for a single request.
647
+ :type _headers: dict, optional
648
+ :param _host_index: set to override the host_index for a single
649
+ request; this effectively ignores the host_index
650
+ in the spec for a single request.
651
+ :type _host_index: int, optional
652
+ :return: Returns the result object.
653
+ """ # noqa: E501
654
+
655
+ _param = self._add_virtual_controller_tcp_serialize(
656
+ cell=cell,
657
+ controller=controller,
658
+ motion_group=motion_group,
659
+ tcp=tcp,
660
+ robot_tcp_data=robot_tcp_data,
661
+ _request_auth=_request_auth,
662
+ _content_type=_content_type,
663
+ _headers=_headers,
664
+ _host_index=_host_index,
665
+ )
666
+
667
+ _response_types_map: Dict[str, Optional[str]] = {
668
+ "200": None,
669
+ "400": "Error",
670
+ "404": "Error",
671
+ }
672
+
673
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
674
+ await response_data.read()
675
+ return self.api_client.response_deserialize(
676
+ response_data=response_data,
677
+ response_types_map=_response_types_map,
678
+ ).data
679
+
680
+ @validate_call
681
+ async def add_virtual_controller_tcp_with_http_info(
682
+ self,
683
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
684
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
685
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
686
+ tcp: Annotated[StrictStr, Field(description="The unique identifier of a TCP.")],
687
+ robot_tcp_data: RobotTcpData,
688
+ _request_timeout: Union[
689
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
690
+ ] = None,
691
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
692
+ _content_type: Optional[StrictStr] = None,
693
+ _headers: Optional[Dict[StrictStr, Any]] = None,
694
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
695
+ ) -> ApiResponse[None]:
696
+ """Add TCP
697
+
698
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a new TCP or updates an existing TCP in the motion group. The position and rotation values in the request body are defined within the flange's coordinate system. > **NOTE** > > Ensure the TCP's position is within the robot's reach. Refer to the robot's documentation or data sheet for details like joint limits or reach. <!-- theme: info --> > #### NOTE > > When adding or updating a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the TCP is available for operation. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the TCP may not yet be visible nor usable.
699
+
700
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
701
+ :type cell: str
702
+ :param controller: Unique identifier to address a controller in the cell. (required)
703
+ :type controller: str
704
+ :param motion_group: The motion-group identifier. (required)
705
+ :type motion_group: str
706
+ :param tcp: The unique identifier of a TCP. (required)
707
+ :type tcp: str
708
+ :param robot_tcp_data: (required)
709
+ :type robot_tcp_data: RobotTcpData
710
+ :param _request_timeout: timeout setting for this request. If one
711
+ number provided, it will be total request
712
+ timeout. It can also be a pair (tuple) of
713
+ (connection, read) timeouts.
714
+ :type _request_timeout: int, tuple(int, int), optional
715
+ :param _request_auth: set to override the auth_settings for an a single
716
+ request; this effectively ignores the
717
+ authentication in the spec for a single request.
718
+ :type _request_auth: dict, optional
719
+ :param _content_type: force content-type for the request.
720
+ :type _content_type: str, Optional
721
+ :param _headers: set to override the headers for a single
722
+ request; this effectively ignores the headers
723
+ in the spec for a single request.
724
+ :type _headers: dict, optional
725
+ :param _host_index: set to override the host_index for a single
726
+ request; this effectively ignores the host_index
727
+ in the spec for a single request.
728
+ :type _host_index: int, optional
729
+ :return: Returns the result object.
730
+ """ # noqa: E501
731
+
732
+ _param = self._add_virtual_controller_tcp_serialize(
733
+ cell=cell,
734
+ controller=controller,
735
+ motion_group=motion_group,
736
+ tcp=tcp,
737
+ robot_tcp_data=robot_tcp_data,
738
+ _request_auth=_request_auth,
739
+ _content_type=_content_type,
740
+ _headers=_headers,
741
+ _host_index=_host_index,
742
+ )
743
+
744
+ _response_types_map: Dict[str, Optional[str]] = {
745
+ "200": None,
746
+ "400": "Error",
747
+ "404": "Error",
748
+ }
749
+
750
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
751
+ await response_data.read()
752
+ return self.api_client.response_deserialize(
753
+ response_data=response_data,
754
+ response_types_map=_response_types_map,
755
+ )
756
+
757
+ @validate_call
758
+ async def add_virtual_controller_tcp_without_preload_content(
759
+ self,
760
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
761
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
762
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
763
+ tcp: Annotated[StrictStr, Field(description="The unique identifier of a TCP.")],
764
+ robot_tcp_data: RobotTcpData,
765
+ _request_timeout: Union[
766
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
767
+ ] = None,
768
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
769
+ _content_type: Optional[StrictStr] = None,
770
+ _headers: Optional[Dict[StrictStr, Any]] = None,
771
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
772
+ ) -> RESTResponseType:
773
+ """Add TCP
774
+
775
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a new TCP or updates an existing TCP in the motion group. The position and rotation values in the request body are defined within the flange's coordinate system. > **NOTE** > > Ensure the TCP's position is within the robot's reach. Refer to the robot's documentation or data sheet for details like joint limits or reach. <!-- theme: info --> > #### NOTE > > When adding or updating a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the TCP is available for operation. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the TCP may not yet be visible nor usable.
776
+
777
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
778
+ :type cell: str
779
+ :param controller: Unique identifier to address a controller in the cell. (required)
780
+ :type controller: str
781
+ :param motion_group: The motion-group identifier. (required)
782
+ :type motion_group: str
783
+ :param tcp: The unique identifier of a TCP. (required)
784
+ :type tcp: str
785
+ :param robot_tcp_data: (required)
786
+ :type robot_tcp_data: RobotTcpData
787
+ :param _request_timeout: timeout setting for this request. If one
788
+ number provided, it will be total request
789
+ timeout. It can also be a pair (tuple) of
790
+ (connection, read) timeouts.
791
+ :type _request_timeout: int, tuple(int, int), optional
792
+ :param _request_auth: set to override the auth_settings for an a single
793
+ request; this effectively ignores the
794
+ authentication in the spec for a single request.
795
+ :type _request_auth: dict, optional
796
+ :param _content_type: force content-type for the request.
797
+ :type _content_type: str, Optional
798
+ :param _headers: set to override the headers for a single
799
+ request; this effectively ignores the headers
800
+ in the spec for a single request.
801
+ :type _headers: dict, optional
802
+ :param _host_index: set to override the host_index for a single
803
+ request; this effectively ignores the host_index
804
+ in the spec for a single request.
805
+ :type _host_index: int, optional
806
+ :return: Returns the result object.
807
+ """ # noqa: E501
808
+
809
+ _param = self._add_virtual_controller_tcp_serialize(
810
+ cell=cell,
811
+ controller=controller,
812
+ motion_group=motion_group,
813
+ tcp=tcp,
814
+ robot_tcp_data=robot_tcp_data,
815
+ _request_auth=_request_auth,
816
+ _content_type=_content_type,
817
+ _headers=_headers,
818
+ _host_index=_host_index,
819
+ )
820
+
821
+ _response_types_map: Dict[str, Optional[str]] = {
822
+ "200": None,
823
+ "400": "Error",
824
+ "404": "Error",
825
+ }
826
+
827
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
828
+ return response_data.response
829
+
830
+ def _add_virtual_controller_tcp_serialize(
831
+ self,
832
+ cell,
833
+ controller,
834
+ motion_group,
835
+ tcp,
836
+ robot_tcp_data,
837
+ _request_auth,
838
+ _content_type,
839
+ _headers,
840
+ _host_index,
841
+ ) -> RequestSerialized:
842
+
843
+ _host = None
844
+
845
+ _collection_formats: Dict[str, str] = {}
846
+
847
+ _path_params: Dict[str, str] = {}
848
+ _query_params: List[Tuple[str, str]] = []
849
+ _header_params: Dict[str, Optional[str]] = _headers or {}
850
+ _form_params: List[Tuple[str, str]] = []
851
+ _files: Dict[str, Union[str, bytes]] = {}
852
+ _body_params: Optional[bytes] = None
853
+
854
+ # process the path parameters
855
+ if cell is not None:
856
+ _path_params["cell"] = cell
857
+ if controller is not None:
858
+ _path_params["controller"] = controller
859
+ if motion_group is not None:
860
+ _path_params["motion-group"] = motion_group
861
+ if tcp is not None:
862
+ _path_params["tcp"] = tcp
863
+ # process the query parameters
864
+ # process the header parameters
865
+ # process the form parameters
866
+ # process the body parameter
867
+ if robot_tcp_data is not None:
868
+ _body_params = robot_tcp_data
869
+
870
+ # set the HTTP header `Accept`
871
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
872
+
873
+ # set the HTTP header `Content-Type`
874
+ if _content_type:
875
+ _header_params["Content-Type"] = _content_type
876
+ else:
877
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
878
+ if _default_content_type is not None:
879
+ _header_params["Content-Type"] = _default_content_type
880
+
881
+ # authentication setting
882
+ _auth_settings: List[str] = ["BearerAuth"]
883
+
884
+ return self.api_client.param_serialize(
885
+ method="PUT",
886
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/tcps/{tcp}",
887
+ path_params=_path_params,
888
+ query_params=_query_params,
889
+ header_params=_header_params,
890
+ body=_body_params,
891
+ post_params=_form_params,
892
+ files=_files,
893
+ auth_settings=_auth_settings,
894
+ collection_formats=_collection_formats,
895
+ _host=_host,
896
+ _request_auth=_request_auth,
897
+ )
898
+
899
+ @validate_call
900
+ async def delete_virtual_controller_coordinate_system(
901
+ self,
902
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
903
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
904
+ coordinate_system: Annotated[StrictStr, Field(description="Unique identifier addressing a coordinate system.")],
905
+ delete_dependent: Annotated[
906
+ Optional[StrictBool], Field(description="If true, all dependent coordinate systems will be deleted as well.")
907
+ ] = None,
908
+ _request_timeout: Union[
909
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
910
+ ] = None,
911
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
912
+ _content_type: Optional[StrictStr] = None,
913
+ _headers: Optional[Dict[StrictStr, Any]] = None,
914
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
915
+ ) -> None:
916
+ """Delete Coordinate System
917
+
918
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Deletes a coordinate system from the virtual controller. This will remove the coordinate system from the list of coordinate systems and also remove all dependent coordinate systems that use the deleted coordinate system as reference. <!-- theme: info --> > #### NOTE > > When a new coordinate system is removed, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
919
+
920
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
921
+ :type cell: str
922
+ :param controller: Unique identifier to address a controller in the cell. (required)
923
+ :type controller: str
924
+ :param coordinate_system: Unique identifier addressing a coordinate system. (required)
925
+ :type coordinate_system: str
926
+ :param delete_dependent: If true, all dependent coordinate systems will be deleted as well.
927
+ :type delete_dependent: bool
928
+ :param _request_timeout: timeout setting for this request. If one
929
+ number provided, it will be total request
930
+ timeout. It can also be a pair (tuple) of
931
+ (connection, read) timeouts.
932
+ :type _request_timeout: int, tuple(int, int), optional
933
+ :param _request_auth: set to override the auth_settings for an a single
934
+ request; this effectively ignores the
935
+ authentication in the spec for a single request.
936
+ :type _request_auth: dict, optional
937
+ :param _content_type: force content-type for the request.
938
+ :type _content_type: str, Optional
939
+ :param _headers: set to override the headers for a single
940
+ request; this effectively ignores the headers
941
+ in the spec for a single request.
942
+ :type _headers: dict, optional
943
+ :param _host_index: set to override the host_index for a single
944
+ request; this effectively ignores the host_index
945
+ in the spec for a single request.
946
+ :type _host_index: int, optional
947
+ :return: Returns the result object.
948
+ """ # noqa: E501
949
+
950
+ _param = self._delete_virtual_controller_coordinate_system_serialize(
951
+ cell=cell,
952
+ controller=controller,
953
+ coordinate_system=coordinate_system,
954
+ delete_dependent=delete_dependent,
955
+ _request_auth=_request_auth,
956
+ _content_type=_content_type,
957
+ _headers=_headers,
958
+ _host_index=_host_index,
959
+ )
960
+
961
+ _response_types_map: Dict[str, Optional[str]] = {
962
+ "200": None,
963
+ "400": "Error",
964
+ "404": "Error",
965
+ }
966
+
967
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
968
+ await response_data.read()
969
+ return self.api_client.response_deserialize(
970
+ response_data=response_data,
971
+ response_types_map=_response_types_map,
972
+ ).data
973
+
974
+ @validate_call
975
+ async def delete_virtual_controller_coordinate_system_with_http_info(
976
+ self,
977
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
978
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
979
+ coordinate_system: Annotated[StrictStr, Field(description="Unique identifier addressing a coordinate system.")],
980
+ delete_dependent: Annotated[
981
+ Optional[StrictBool], Field(description="If true, all dependent coordinate systems will be deleted as well.")
982
+ ] = None,
983
+ _request_timeout: Union[
984
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
985
+ ] = None,
986
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
987
+ _content_type: Optional[StrictStr] = None,
988
+ _headers: Optional[Dict[StrictStr, Any]] = None,
989
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
990
+ ) -> ApiResponse[None]:
991
+ """Delete Coordinate System
992
+
993
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Deletes a coordinate system from the virtual controller. This will remove the coordinate system from the list of coordinate systems and also remove all dependent coordinate systems that use the deleted coordinate system as reference. <!-- theme: info --> > #### NOTE > > When a new coordinate system is removed, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
994
+
995
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
996
+ :type cell: str
997
+ :param controller: Unique identifier to address a controller in the cell. (required)
998
+ :type controller: str
999
+ :param coordinate_system: Unique identifier addressing a coordinate system. (required)
1000
+ :type coordinate_system: str
1001
+ :param delete_dependent: If true, all dependent coordinate systems will be deleted as well.
1002
+ :type delete_dependent: bool
1003
+ :param _request_timeout: timeout setting for this request. If one
1004
+ number provided, it will be total request
1005
+ timeout. It can also be a pair (tuple) of
1006
+ (connection, read) timeouts.
1007
+ :type _request_timeout: int, tuple(int, int), optional
1008
+ :param _request_auth: set to override the auth_settings for an a single
1009
+ request; this effectively ignores the
1010
+ authentication in the spec for a single request.
1011
+ :type _request_auth: dict, optional
1012
+ :param _content_type: force content-type for the request.
1013
+ :type _content_type: str, Optional
1014
+ :param _headers: set to override the headers for a single
1015
+ request; this effectively ignores the headers
1016
+ in the spec for a single request.
1017
+ :type _headers: dict, optional
1018
+ :param _host_index: set to override the host_index for a single
1019
+ request; this effectively ignores the host_index
1020
+ in the spec for a single request.
1021
+ :type _host_index: int, optional
1022
+ :return: Returns the result object.
1023
+ """ # noqa: E501
1024
+
1025
+ _param = self._delete_virtual_controller_coordinate_system_serialize(
1026
+ cell=cell,
1027
+ controller=controller,
1028
+ coordinate_system=coordinate_system,
1029
+ delete_dependent=delete_dependent,
1030
+ _request_auth=_request_auth,
1031
+ _content_type=_content_type,
1032
+ _headers=_headers,
1033
+ _host_index=_host_index,
1034
+ )
1035
+
1036
+ _response_types_map: Dict[str, Optional[str]] = {
1037
+ "200": None,
1038
+ "400": "Error",
1039
+ "404": "Error",
1040
+ }
1041
+
1042
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1043
+ await response_data.read()
1044
+ return self.api_client.response_deserialize(
1045
+ response_data=response_data,
1046
+ response_types_map=_response_types_map,
1047
+ )
1048
+
1049
+ @validate_call
1050
+ async def delete_virtual_controller_coordinate_system_without_preload_content(
1051
+ self,
1052
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1053
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1054
+ coordinate_system: Annotated[StrictStr, Field(description="Unique identifier addressing a coordinate system.")],
1055
+ delete_dependent: Annotated[
1056
+ Optional[StrictBool], Field(description="If true, all dependent coordinate systems will be deleted as well.")
1057
+ ] = None,
1058
+ _request_timeout: Union[
1059
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1060
+ ] = None,
1061
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1062
+ _content_type: Optional[StrictStr] = None,
1063
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1064
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1065
+ ) -> RESTResponseType:
1066
+ """Delete Coordinate System
1067
+
1068
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Deletes a coordinate system from the virtual controller. This will remove the coordinate system from the list of coordinate systems and also remove all dependent coordinate systems that use the deleted coordinate system as reference. <!-- theme: info --> > #### NOTE > > When a new coordinate system is removed, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
1069
+
1070
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1071
+ :type cell: str
1072
+ :param controller: Unique identifier to address a controller in the cell. (required)
1073
+ :type controller: str
1074
+ :param coordinate_system: Unique identifier addressing a coordinate system. (required)
1075
+ :type coordinate_system: str
1076
+ :param delete_dependent: If true, all dependent coordinate systems will be deleted as well.
1077
+ :type delete_dependent: bool
1078
+ :param _request_timeout: timeout setting for this request. If one
1079
+ number provided, it will be total request
1080
+ timeout. It can also be a pair (tuple) of
1081
+ (connection, read) timeouts.
1082
+ :type _request_timeout: int, tuple(int, int), optional
1083
+ :param _request_auth: set to override the auth_settings for an a single
1084
+ request; this effectively ignores the
1085
+ authentication in the spec for a single request.
1086
+ :type _request_auth: dict, optional
1087
+ :param _content_type: force content-type for the request.
1088
+ :type _content_type: str, Optional
1089
+ :param _headers: set to override the headers for a single
1090
+ request; this effectively ignores the headers
1091
+ in the spec for a single request.
1092
+ :type _headers: dict, optional
1093
+ :param _host_index: set to override the host_index for a single
1094
+ request; this effectively ignores the host_index
1095
+ in the spec for a single request.
1096
+ :type _host_index: int, optional
1097
+ :return: Returns the result object.
1098
+ """ # noqa: E501
1099
+
1100
+ _param = self._delete_virtual_controller_coordinate_system_serialize(
1101
+ cell=cell,
1102
+ controller=controller,
1103
+ coordinate_system=coordinate_system,
1104
+ delete_dependent=delete_dependent,
1105
+ _request_auth=_request_auth,
1106
+ _content_type=_content_type,
1107
+ _headers=_headers,
1108
+ _host_index=_host_index,
1109
+ )
1110
+
1111
+ _response_types_map: Dict[str, Optional[str]] = {
1112
+ "200": None,
1113
+ "400": "Error",
1114
+ "404": "Error",
1115
+ }
1116
+
1117
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1118
+ return response_data.response
1119
+
1120
+ def _delete_virtual_controller_coordinate_system_serialize(
1121
+ self,
1122
+ cell,
1123
+ controller,
1124
+ coordinate_system,
1125
+ delete_dependent,
1126
+ _request_auth,
1127
+ _content_type,
1128
+ _headers,
1129
+ _host_index,
1130
+ ) -> RequestSerialized:
1131
+
1132
+ _host = None
1133
+
1134
+ _collection_formats: Dict[str, str] = {}
1135
+
1136
+ _path_params: Dict[str, str] = {}
1137
+ _query_params: List[Tuple[str, str]] = []
1138
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1139
+ _form_params: List[Tuple[str, str]] = []
1140
+ _files: Dict[str, Union[str, bytes]] = {}
1141
+ _body_params: Optional[bytes] = None
1142
+
1143
+ # process the path parameters
1144
+ if cell is not None:
1145
+ _path_params["cell"] = cell
1146
+ if controller is not None:
1147
+ _path_params["controller"] = controller
1148
+ if coordinate_system is not None:
1149
+ _path_params["coordinate-system"] = coordinate_system
1150
+ # process the query parameters
1151
+ if delete_dependent is not None:
1152
+ _query_params.append(("delete_dependent", delete_dependent))
1153
+
1154
+ # process the header parameters
1155
+ # process the form parameters
1156
+ # process the body parameter
1157
+
1158
+ # set the HTTP header `Accept`
1159
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1160
+
1161
+ # authentication setting
1162
+ _auth_settings: List[str] = ["BearerAuth"]
1163
+
1164
+ return self.api_client.param_serialize(
1165
+ method="DELETE",
1166
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/coordinate-systems/{coordinate-system}",
1167
+ path_params=_path_params,
1168
+ query_params=_query_params,
1169
+ header_params=_header_params,
1170
+ body=_body_params,
1171
+ post_params=_form_params,
1172
+ files=_files,
1173
+ auth_settings=_auth_settings,
1174
+ collection_formats=_collection_formats,
1175
+ _host=_host,
1176
+ _request_auth=_request_auth,
1177
+ )
1178
+
1179
+ @validate_call
1180
+ async def delete_virtual_controller_motion_group(
1181
+ self,
1182
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1183
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1184
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
1185
+ _request_timeout: Union[
1186
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1187
+ ] = None,
1188
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1189
+ _content_type: Optional[StrictStr] = None,
1190
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1191
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1192
+ ) -> None:
1193
+ """Delete Motion Group
1194
+
1195
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Removes a motion group configuration from the virtual controller. <!-- theme: info --> > #### NOTE > > When a motion group is removed, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**.
1196
+
1197
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1198
+ :type cell: str
1199
+ :param controller: Unique identifier to address a controller in the cell. (required)
1200
+ :type controller: str
1201
+ :param motion_group: The motion-group identifier. (required)
1202
+ :type motion_group: str
1203
+ :param _request_timeout: timeout setting for this request. If one
1204
+ number provided, it will be total request
1205
+ timeout. It can also be a pair (tuple) of
1206
+ (connection, read) timeouts.
1207
+ :type _request_timeout: int, tuple(int, int), optional
1208
+ :param _request_auth: set to override the auth_settings for an a single
1209
+ request; this effectively ignores the
1210
+ authentication in the spec for a single request.
1211
+ :type _request_auth: dict, optional
1212
+ :param _content_type: force content-type for the request.
1213
+ :type _content_type: str, Optional
1214
+ :param _headers: set to override the headers for a single
1215
+ request; this effectively ignores the headers
1216
+ in the spec for a single request.
1217
+ :type _headers: dict, optional
1218
+ :param _host_index: set to override the host_index for a single
1219
+ request; this effectively ignores the host_index
1220
+ in the spec for a single request.
1221
+ :type _host_index: int, optional
1222
+ :return: Returns the result object.
1223
+ """ # noqa: E501
1224
+
1225
+ _param = self._delete_virtual_controller_motion_group_serialize(
1226
+ cell=cell,
1227
+ controller=controller,
1228
+ motion_group=motion_group,
1229
+ _request_auth=_request_auth,
1230
+ _content_type=_content_type,
1231
+ _headers=_headers,
1232
+ _host_index=_host_index,
1233
+ )
1234
+
1235
+ _response_types_map: Dict[str, Optional[str]] = {
1236
+ "200": None,
1237
+ "400": "Error",
1238
+ "404": "Error",
1239
+ }
1240
+
1241
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1242
+ await response_data.read()
1243
+ return self.api_client.response_deserialize(
1244
+ response_data=response_data,
1245
+ response_types_map=_response_types_map,
1246
+ ).data
1247
+
1248
+ @validate_call
1249
+ async def delete_virtual_controller_motion_group_with_http_info(
1250
+ self,
1251
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1252
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1253
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
1254
+ _request_timeout: Union[
1255
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1256
+ ] = None,
1257
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1258
+ _content_type: Optional[StrictStr] = None,
1259
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1260
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1261
+ ) -> ApiResponse[None]:
1262
+ """Delete Motion Group
1263
+
1264
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Removes a motion group configuration from the virtual controller. <!-- theme: info --> > #### NOTE > > When a motion group is removed, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**.
1265
+
1266
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1267
+ :type cell: str
1268
+ :param controller: Unique identifier to address a controller in the cell. (required)
1269
+ :type controller: str
1270
+ :param motion_group: The motion-group identifier. (required)
1271
+ :type motion_group: str
1272
+ :param _request_timeout: timeout setting for this request. If one
1273
+ number provided, it will be total request
1274
+ timeout. It can also be a pair (tuple) of
1275
+ (connection, read) timeouts.
1276
+ :type _request_timeout: int, tuple(int, int), optional
1277
+ :param _request_auth: set to override the auth_settings for an a single
1278
+ request; this effectively ignores the
1279
+ authentication in the spec for a single request.
1280
+ :type _request_auth: dict, optional
1281
+ :param _content_type: force content-type for the request.
1282
+ :type _content_type: str, Optional
1283
+ :param _headers: set to override the headers for a single
1284
+ request; this effectively ignores the headers
1285
+ in the spec for a single request.
1286
+ :type _headers: dict, optional
1287
+ :param _host_index: set to override the host_index for a single
1288
+ request; this effectively ignores the host_index
1289
+ in the spec for a single request.
1290
+ :type _host_index: int, optional
1291
+ :return: Returns the result object.
1292
+ """ # noqa: E501
1293
+
1294
+ _param = self._delete_virtual_controller_motion_group_serialize(
1295
+ cell=cell,
1296
+ controller=controller,
1297
+ motion_group=motion_group,
1298
+ _request_auth=_request_auth,
1299
+ _content_type=_content_type,
1300
+ _headers=_headers,
1301
+ _host_index=_host_index,
1302
+ )
1303
+
1304
+ _response_types_map: Dict[str, Optional[str]] = {
1305
+ "200": None,
1306
+ "400": "Error",
1307
+ "404": "Error",
1308
+ }
1309
+
1310
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1311
+ await response_data.read()
1312
+ return self.api_client.response_deserialize(
1313
+ response_data=response_data,
1314
+ response_types_map=_response_types_map,
1315
+ )
1316
+
1317
+ @validate_call
1318
+ async def delete_virtual_controller_motion_group_without_preload_content(
1319
+ self,
1320
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1321
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1322
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
1323
+ _request_timeout: Union[
1324
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1325
+ ] = None,
1326
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1327
+ _content_type: Optional[StrictStr] = None,
1328
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1329
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1330
+ ) -> RESTResponseType:
1331
+ """Delete Motion Group
1332
+
1333
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Removes a motion group configuration from the virtual controller. <!-- theme: info --> > #### NOTE > > When a motion group is removed, **the virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Motion group changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself **does not wait until the restart and re-synchronization are complete**.
1334
+
1335
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1336
+ :type cell: str
1337
+ :param controller: Unique identifier to address a controller in the cell. (required)
1338
+ :type controller: str
1339
+ :param motion_group: The motion-group identifier. (required)
1340
+ :type motion_group: str
1341
+ :param _request_timeout: timeout setting for this request. If one
1342
+ number provided, it will be total request
1343
+ timeout. It can also be a pair (tuple) of
1344
+ (connection, read) timeouts.
1345
+ :type _request_timeout: int, tuple(int, int), optional
1346
+ :param _request_auth: set to override the auth_settings for an a single
1347
+ request; this effectively ignores the
1348
+ authentication in the spec for a single request.
1349
+ :type _request_auth: dict, optional
1350
+ :param _content_type: force content-type for the request.
1351
+ :type _content_type: str, Optional
1352
+ :param _headers: set to override the headers for a single
1353
+ request; this effectively ignores the headers
1354
+ in the spec for a single request.
1355
+ :type _headers: dict, optional
1356
+ :param _host_index: set to override the host_index for a single
1357
+ request; this effectively ignores the host_index
1358
+ in the spec for a single request.
1359
+ :type _host_index: int, optional
1360
+ :return: Returns the result object.
1361
+ """ # noqa: E501
1362
+
1363
+ _param = self._delete_virtual_controller_motion_group_serialize(
1364
+ cell=cell,
1365
+ controller=controller,
1366
+ motion_group=motion_group,
1367
+ _request_auth=_request_auth,
1368
+ _content_type=_content_type,
1369
+ _headers=_headers,
1370
+ _host_index=_host_index,
1371
+ )
1372
+
1373
+ _response_types_map: Dict[str, Optional[str]] = {
1374
+ "200": None,
1375
+ "400": "Error",
1376
+ "404": "Error",
1377
+ }
1378
+
1379
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1380
+ return response_data.response
1381
+
1382
+ def _delete_virtual_controller_motion_group_serialize(
1383
+ self,
1384
+ cell,
1385
+ controller,
1386
+ motion_group,
1387
+ _request_auth,
1388
+ _content_type,
1389
+ _headers,
1390
+ _host_index,
1391
+ ) -> RequestSerialized:
1392
+
1393
+ _host = None
1394
+
1395
+ _collection_formats: Dict[str, str] = {}
1396
+
1397
+ _path_params: Dict[str, str] = {}
1398
+ _query_params: List[Tuple[str, str]] = []
1399
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1400
+ _form_params: List[Tuple[str, str]] = []
1401
+ _files: Dict[str, Union[str, bytes]] = {}
1402
+ _body_params: Optional[bytes] = None
1403
+
1404
+ # process the path parameters
1405
+ if cell is not None:
1406
+ _path_params["cell"] = cell
1407
+ if controller is not None:
1408
+ _path_params["controller"] = controller
1409
+ if motion_group is not None:
1410
+ _path_params["motion-group"] = motion_group
1411
+ # process the query parameters
1412
+ # process the header parameters
1413
+ # process the form parameters
1414
+ # process the body parameter
1415
+
1416
+ # set the HTTP header `Accept`
1417
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1418
+
1419
+ # authentication setting
1420
+ _auth_settings: List[str] = ["BearerAuth"]
1421
+
1422
+ return self.api_client.param_serialize(
1423
+ method="DELETE",
1424
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}",
1425
+ path_params=_path_params,
1426
+ query_params=_query_params,
1427
+ header_params=_header_params,
1428
+ body=_body_params,
1429
+ post_params=_form_params,
1430
+ files=_files,
1431
+ auth_settings=_auth_settings,
1432
+ collection_formats=_collection_formats,
1433
+ _host=_host,
1434
+ _request_auth=_request_auth,
1435
+ )
1436
+
1437
+ @validate_call
1438
+ async def delete_virtual_controller_tcp(
1439
+ self,
1440
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1441
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1442
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
1443
+ tcp: Annotated[StrictStr, Field(description="The unique identifier of a TCP.")],
1444
+ _request_timeout: Union[
1445
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1446
+ ] = None,
1447
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1448
+ _content_type: Optional[StrictStr] = None,
1449
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1450
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1451
+ ) -> None:
1452
+ """Remove TCP
1453
+
1454
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Removes the TCP (Tool Center Point) from the motion group. An unknown TCP is a valid input and will simply be ignored. <!-- theme: info --> > #### NOTE > > When removing a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The removal of the TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the then used TCP may not yet be visible nor usable.
1455
+
1456
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1457
+ :type cell: str
1458
+ :param controller: Unique identifier to address a controller in the cell. (required)
1459
+ :type controller: str
1460
+ :param motion_group: The motion-group identifier. (required)
1461
+ :type motion_group: str
1462
+ :param tcp: The unique identifier of a TCP. (required)
1463
+ :type tcp: str
1464
+ :param _request_timeout: timeout setting for this request. If one
1465
+ number provided, it will be total request
1466
+ timeout. It can also be a pair (tuple) of
1467
+ (connection, read) timeouts.
1468
+ :type _request_timeout: int, tuple(int, int), optional
1469
+ :param _request_auth: set to override the auth_settings for an a single
1470
+ request; this effectively ignores the
1471
+ authentication in the spec for a single request.
1472
+ :type _request_auth: dict, optional
1473
+ :param _content_type: force content-type for the request.
1474
+ :type _content_type: str, Optional
1475
+ :param _headers: set to override the headers for a single
1476
+ request; this effectively ignores the headers
1477
+ in the spec for a single request.
1478
+ :type _headers: dict, optional
1479
+ :param _host_index: set to override the host_index for a single
1480
+ request; this effectively ignores the host_index
1481
+ in the spec for a single request.
1482
+ :type _host_index: int, optional
1483
+ :return: Returns the result object.
1484
+ """ # noqa: E501
1485
+
1486
+ _param = self._delete_virtual_controller_tcp_serialize(
1487
+ cell=cell,
1488
+ controller=controller,
1489
+ motion_group=motion_group,
1490
+ tcp=tcp,
1491
+ _request_auth=_request_auth,
1492
+ _content_type=_content_type,
1493
+ _headers=_headers,
1494
+ _host_index=_host_index,
1495
+ )
1496
+
1497
+ _response_types_map: Dict[str, Optional[str]] = {
1498
+ "200": None,
1499
+ "400": "Error",
1500
+ "404": "Error",
1501
+ }
1502
+
1503
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1504
+ await response_data.read()
1505
+ return self.api_client.response_deserialize(
1506
+ response_data=response_data,
1507
+ response_types_map=_response_types_map,
1508
+ ).data
1509
+
1510
+ @validate_call
1511
+ async def delete_virtual_controller_tcp_with_http_info(
1512
+ self,
1513
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1514
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1515
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
1516
+ tcp: Annotated[StrictStr, Field(description="The unique identifier of a TCP.")],
1517
+ _request_timeout: Union[
1518
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1519
+ ] = None,
1520
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1521
+ _content_type: Optional[StrictStr] = None,
1522
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1523
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1524
+ ) -> ApiResponse[None]:
1525
+ """Remove TCP
1526
+
1527
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Removes the TCP (Tool Center Point) from the motion group. An unknown TCP is a valid input and will simply be ignored. <!-- theme: info --> > #### NOTE > > When removing a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The removal of the TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the then used TCP may not yet be visible nor usable.
1528
+
1529
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1530
+ :type cell: str
1531
+ :param controller: Unique identifier to address a controller in the cell. (required)
1532
+ :type controller: str
1533
+ :param motion_group: The motion-group identifier. (required)
1534
+ :type motion_group: str
1535
+ :param tcp: The unique identifier of a TCP. (required)
1536
+ :type tcp: str
1537
+ :param _request_timeout: timeout setting for this request. If one
1538
+ number provided, it will be total request
1539
+ timeout. It can also be a pair (tuple) of
1540
+ (connection, read) timeouts.
1541
+ :type _request_timeout: int, tuple(int, int), optional
1542
+ :param _request_auth: set to override the auth_settings for an a single
1543
+ request; this effectively ignores the
1544
+ authentication in the spec for a single request.
1545
+ :type _request_auth: dict, optional
1546
+ :param _content_type: force content-type for the request.
1547
+ :type _content_type: str, Optional
1548
+ :param _headers: set to override the headers for a single
1549
+ request; this effectively ignores the headers
1550
+ in the spec for a single request.
1551
+ :type _headers: dict, optional
1552
+ :param _host_index: set to override the host_index for a single
1553
+ request; this effectively ignores the host_index
1554
+ in the spec for a single request.
1555
+ :type _host_index: int, optional
1556
+ :return: Returns the result object.
1557
+ """ # noqa: E501
1558
+
1559
+ _param = self._delete_virtual_controller_tcp_serialize(
1560
+ cell=cell,
1561
+ controller=controller,
1562
+ motion_group=motion_group,
1563
+ tcp=tcp,
1564
+ _request_auth=_request_auth,
1565
+ _content_type=_content_type,
1566
+ _headers=_headers,
1567
+ _host_index=_host_index,
1568
+ )
1569
+
1570
+ _response_types_map: Dict[str, Optional[str]] = {
1571
+ "200": None,
1572
+ "400": "Error",
1573
+ "404": "Error",
1574
+ }
1575
+
1576
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1577
+ await response_data.read()
1578
+ return self.api_client.response_deserialize(
1579
+ response_data=response_data,
1580
+ response_types_map=_response_types_map,
1581
+ )
1582
+
1583
+ @validate_call
1584
+ async def delete_virtual_controller_tcp_without_preload_content(
1585
+ self,
1586
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1587
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1588
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
1589
+ tcp: Annotated[StrictStr, Field(description="The unique identifier of a TCP.")],
1590
+ _request_timeout: Union[
1591
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1592
+ ] = None,
1593
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1594
+ _content_type: Optional[StrictStr] = None,
1595
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1596
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1597
+ ) -> RESTResponseType:
1598
+ """Remove TCP
1599
+
1600
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Removes the TCP (Tool Center Point) from the motion group. An unknown TCP is a valid input and will simply be ignored. <!-- theme: info --> > #### NOTE > > When removing a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The removal of the TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the then used TCP may not yet be visible nor usable.
1601
+
1602
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1603
+ :type cell: str
1604
+ :param controller: Unique identifier to address a controller in the cell. (required)
1605
+ :type controller: str
1606
+ :param motion_group: The motion-group identifier. (required)
1607
+ :type motion_group: str
1608
+ :param tcp: The unique identifier of a TCP. (required)
1609
+ :type tcp: str
1610
+ :param _request_timeout: timeout setting for this request. If one
1611
+ number provided, it will be total request
1612
+ timeout. It can also be a pair (tuple) of
1613
+ (connection, read) timeouts.
1614
+ :type _request_timeout: int, tuple(int, int), optional
1615
+ :param _request_auth: set to override the auth_settings for an a single
1616
+ request; this effectively ignores the
1617
+ authentication in the spec for a single request.
1618
+ :type _request_auth: dict, optional
1619
+ :param _content_type: force content-type for the request.
1620
+ :type _content_type: str, Optional
1621
+ :param _headers: set to override the headers for a single
1622
+ request; this effectively ignores the headers
1623
+ in the spec for a single request.
1624
+ :type _headers: dict, optional
1625
+ :param _host_index: set to override the host_index for a single
1626
+ request; this effectively ignores the host_index
1627
+ in the spec for a single request.
1628
+ :type _host_index: int, optional
1629
+ :return: Returns the result object.
1630
+ """ # noqa: E501
1631
+
1632
+ _param = self._delete_virtual_controller_tcp_serialize(
1633
+ cell=cell,
1634
+ controller=controller,
1635
+ motion_group=motion_group,
1636
+ tcp=tcp,
1637
+ _request_auth=_request_auth,
1638
+ _content_type=_content_type,
1639
+ _headers=_headers,
1640
+ _host_index=_host_index,
1641
+ )
1642
+
1643
+ _response_types_map: Dict[str, Optional[str]] = {
1644
+ "200": None,
1645
+ "400": "Error",
1646
+ "404": "Error",
1647
+ }
1648
+
1649
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1650
+ return response_data.response
1651
+
1652
+ def _delete_virtual_controller_tcp_serialize(
1653
+ self,
1654
+ cell,
1655
+ controller,
1656
+ motion_group,
1657
+ tcp,
1658
+ _request_auth,
1659
+ _content_type,
1660
+ _headers,
1661
+ _host_index,
1662
+ ) -> RequestSerialized:
1663
+
1664
+ _host = None
1665
+
1666
+ _collection_formats: Dict[str, str] = {}
1667
+
1668
+ _path_params: Dict[str, str] = {}
1669
+ _query_params: List[Tuple[str, str]] = []
1670
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1671
+ _form_params: List[Tuple[str, str]] = []
1672
+ _files: Dict[str, Union[str, bytes]] = {}
1673
+ _body_params: Optional[bytes] = None
1674
+
1675
+ # process the path parameters
1676
+ if cell is not None:
1677
+ _path_params["cell"] = cell
1678
+ if controller is not None:
1679
+ _path_params["controller"] = controller
1680
+ if motion_group is not None:
1681
+ _path_params["motion-group"] = motion_group
1682
+ if tcp is not None:
1683
+ _path_params["tcp"] = tcp
1684
+ # process the query parameters
1685
+ # process the header parameters
1686
+ # process the form parameters
1687
+ # process the body parameter
1688
+
1689
+ # set the HTTP header `Accept`
1690
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1691
+
1692
+ # authentication setting
1693
+ _auth_settings: List[str] = ["BearerAuth"]
1694
+
1695
+ return self.api_client.param_serialize(
1696
+ method="DELETE",
1697
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/tcps/{tcp}",
1698
+ path_params=_path_params,
1699
+ query_params=_query_params,
1700
+ header_params=_header_params,
1701
+ body=_body_params,
1702
+ post_params=_form_params,
1703
+ files=_files,
1704
+ auth_settings=_auth_settings,
1705
+ collection_formats=_collection_formats,
1706
+ _host=_host,
1707
+ _request_auth=_request_auth,
1708
+ )
1709
+
1710
+ @validate_call
1711
+ async def get_emergency_stop(
1712
+ self,
1713
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1714
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1715
+ _request_timeout: Union[
1716
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1717
+ ] = None,
1718
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1719
+ _content_type: Optional[StrictStr] = None,
1720
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1721
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1722
+ ) -> Flag:
1723
+ """Get Emergency Stop State
1724
+
1725
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Requests the Emergency Stop state of the virtual robot controller. Use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed when using virtual robot controllers.
1726
+
1727
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1728
+ :type cell: str
1729
+ :param controller: Unique identifier to address a controller in the cell. (required)
1730
+ :type controller: str
1731
+ :param _request_timeout: timeout setting for this request. If one
1732
+ number provided, it will be total request
1733
+ timeout. It can also be a pair (tuple) of
1734
+ (connection, read) timeouts.
1735
+ :type _request_timeout: int, tuple(int, int), optional
1736
+ :param _request_auth: set to override the auth_settings for an a single
1737
+ request; this effectively ignores the
1738
+ authentication in the spec for a single request.
1739
+ :type _request_auth: dict, optional
1740
+ :param _content_type: force content-type for the request.
1741
+ :type _content_type: str, Optional
1742
+ :param _headers: set to override the headers for a single
1743
+ request; this effectively ignores the headers
1744
+ in the spec for a single request.
1745
+ :type _headers: dict, optional
1746
+ :param _host_index: set to override the host_index for a single
1747
+ request; this effectively ignores the host_index
1748
+ in the spec for a single request.
1749
+ :type _host_index: int, optional
1750
+ :return: Returns the result object.
1751
+ """ # noqa: E501
1752
+
1753
+ _param = self._get_emergency_stop_serialize(
1754
+ cell=cell,
1755
+ controller=controller,
1756
+ _request_auth=_request_auth,
1757
+ _content_type=_content_type,
1758
+ _headers=_headers,
1759
+ _host_index=_host_index,
1760
+ )
1761
+
1762
+ _response_types_map: Dict[str, Optional[str]] = {
1763
+ "200": "Flag",
1764
+ "400": "Error",
1765
+ "404": "Error",
1766
+ }
1767
+
1768
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1769
+ await response_data.read()
1770
+ return self.api_client.response_deserialize(
1771
+ response_data=response_data,
1772
+ response_types_map=_response_types_map,
1773
+ ).data
1774
+
1775
+ @validate_call
1776
+ async def get_emergency_stop_with_http_info(
1777
+ self,
1778
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1779
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1780
+ _request_timeout: Union[
1781
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1782
+ ] = None,
1783
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1784
+ _content_type: Optional[StrictStr] = None,
1785
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1786
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1787
+ ) -> ApiResponse[Flag]:
1788
+ """Get Emergency Stop State
1789
+
1790
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Requests the Emergency Stop state of the virtual robot controller. Use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed when using virtual robot controllers.
1791
+
1792
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1793
+ :type cell: str
1794
+ :param controller: Unique identifier to address a controller in the cell. (required)
1795
+ :type controller: str
1796
+ :param _request_timeout: timeout setting for this request. If one
1797
+ number provided, it will be total request
1798
+ timeout. It can also be a pair (tuple) of
1799
+ (connection, read) timeouts.
1800
+ :type _request_timeout: int, tuple(int, int), optional
1801
+ :param _request_auth: set to override the auth_settings for an a single
1802
+ request; this effectively ignores the
1803
+ authentication in the spec for a single request.
1804
+ :type _request_auth: dict, optional
1805
+ :param _content_type: force content-type for the request.
1806
+ :type _content_type: str, Optional
1807
+ :param _headers: set to override the headers for a single
1808
+ request; this effectively ignores the headers
1809
+ in the spec for a single request.
1810
+ :type _headers: dict, optional
1811
+ :param _host_index: set to override the host_index for a single
1812
+ request; this effectively ignores the host_index
1813
+ in the spec for a single request.
1814
+ :type _host_index: int, optional
1815
+ :return: Returns the result object.
1816
+ """ # noqa: E501
1817
+
1818
+ _param = self._get_emergency_stop_serialize(
1819
+ cell=cell,
1820
+ controller=controller,
1821
+ _request_auth=_request_auth,
1822
+ _content_type=_content_type,
1823
+ _headers=_headers,
1824
+ _host_index=_host_index,
1825
+ )
1826
+
1827
+ _response_types_map: Dict[str, Optional[str]] = {
1828
+ "200": "Flag",
1829
+ "400": "Error",
1830
+ "404": "Error",
1831
+ }
1832
+
1833
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1834
+ await response_data.read()
1835
+ return self.api_client.response_deserialize(
1836
+ response_data=response_data,
1837
+ response_types_map=_response_types_map,
1838
+ )
1839
+
1840
+ @validate_call
1841
+ async def get_emergency_stop_without_preload_content(
1842
+ self,
1843
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1844
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1845
+ _request_timeout: Union[
1846
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1847
+ ] = None,
1848
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1849
+ _content_type: Optional[StrictStr] = None,
1850
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1851
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1852
+ ) -> RESTResponseType:
1853
+ """Get Emergency Stop State
1854
+
1855
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Requests the Emergency Stop state of the virtual robot controller. Use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed when using virtual robot controllers.
1856
+
1857
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1858
+ :type cell: str
1859
+ :param controller: Unique identifier to address a controller in the cell. (required)
1860
+ :type controller: str
1861
+ :param _request_timeout: timeout setting for this request. If one
1862
+ number provided, it will be total request
1863
+ timeout. It can also be a pair (tuple) of
1864
+ (connection, read) timeouts.
1865
+ :type _request_timeout: int, tuple(int, int), optional
1866
+ :param _request_auth: set to override the auth_settings for an a single
1867
+ request; this effectively ignores the
1868
+ authentication in the spec for a single request.
1869
+ :type _request_auth: dict, optional
1870
+ :param _content_type: force content-type for the request.
1871
+ :type _content_type: str, Optional
1872
+ :param _headers: set to override the headers for a single
1873
+ request; this effectively ignores the headers
1874
+ in the spec for a single request.
1875
+ :type _headers: dict, optional
1876
+ :param _host_index: set to override the host_index for a single
1877
+ request; this effectively ignores the host_index
1878
+ in the spec for a single request.
1879
+ :type _host_index: int, optional
1880
+ :return: Returns the result object.
1881
+ """ # noqa: E501
1882
+
1883
+ _param = self._get_emergency_stop_serialize(
1884
+ cell=cell,
1885
+ controller=controller,
1886
+ _request_auth=_request_auth,
1887
+ _content_type=_content_type,
1888
+ _headers=_headers,
1889
+ _host_index=_host_index,
1890
+ )
1891
+
1892
+ _response_types_map: Dict[str, Optional[str]] = {
1893
+ "200": "Flag",
1894
+ "400": "Error",
1895
+ "404": "Error",
1896
+ }
1897
+
1898
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1899
+ return response_data.response
1900
+
1901
+ def _get_emergency_stop_serialize(
1902
+ self,
1903
+ cell,
1904
+ controller,
1905
+ _request_auth,
1906
+ _content_type,
1907
+ _headers,
1908
+ _host_index,
1909
+ ) -> RequestSerialized:
1910
+
1911
+ _host = None
1912
+
1913
+ _collection_formats: Dict[str, str] = {}
1914
+
1915
+ _path_params: Dict[str, str] = {}
1916
+ _query_params: List[Tuple[str, str]] = []
1917
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1918
+ _form_params: List[Tuple[str, str]] = []
1919
+ _files: Dict[str, Union[str, bytes]] = {}
1920
+ _body_params: Optional[bytes] = None
1921
+
1922
+ # process the path parameters
1923
+ if cell is not None:
1924
+ _path_params["cell"] = cell
1925
+ if controller is not None:
1926
+ _path_params["controller"] = controller
1927
+ # process the query parameters
1928
+ # process the header parameters
1929
+ # process the form parameters
1930
+ # process the body parameter
1931
+
1932
+ # set the HTTP header `Accept`
1933
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1934
+
1935
+ # authentication setting
1936
+ _auth_settings: List[str] = ["BearerAuth"]
1937
+
1938
+ return self.api_client.param_serialize(
1939
+ method="GET",
1940
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/emergency-stop",
1941
+ path_params=_path_params,
1942
+ query_params=_query_params,
1943
+ header_params=_header_params,
1944
+ body=_body_params,
1945
+ post_params=_form_params,
1946
+ files=_files,
1947
+ auth_settings=_auth_settings,
1948
+ collection_formats=_collection_formats,
1949
+ _host=_host,
1950
+ _request_auth=_request_auth,
1951
+ )
1952
+
1953
+ @validate_call
1954
+ async def get_motion_group_state(
1955
+ self,
1956
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1957
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1958
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
1959
+ _request_timeout: Union[
1960
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1961
+ ] = None,
1962
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1963
+ _content_type: Optional[StrictStr] = None,
1964
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1965
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1966
+ ) -> MotionGroupJoints:
1967
+ """Get Motion Group State
1968
+
1969
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Get the current motion group state which provides values for the joints' position, velocity and acceleration.
1970
+
1971
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1972
+ :type cell: str
1973
+ :param controller: Unique identifier to address a controller in the cell. (required)
1974
+ :type controller: str
1975
+ :param motion_group: The motion-group identifier. (required)
1976
+ :type motion_group: str
1977
+ :param _request_timeout: timeout setting for this request. If one
1978
+ number provided, it will be total request
1979
+ timeout. It can also be a pair (tuple) of
1980
+ (connection, read) timeouts.
1981
+ :type _request_timeout: int, tuple(int, int), optional
1982
+ :param _request_auth: set to override the auth_settings for an a single
1983
+ request; this effectively ignores the
1984
+ authentication in the spec for a single request.
1985
+ :type _request_auth: dict, optional
1986
+ :param _content_type: force content-type for the request.
1987
+ :type _content_type: str, Optional
1988
+ :param _headers: set to override the headers for a single
1989
+ request; this effectively ignores the headers
1990
+ in the spec for a single request.
1991
+ :type _headers: dict, optional
1992
+ :param _host_index: set to override the host_index for a single
1993
+ request; this effectively ignores the host_index
1994
+ in the spec for a single request.
1995
+ :type _host_index: int, optional
1996
+ :return: Returns the result object.
1997
+ """ # noqa: E501
1998
+
1999
+ _param = self._get_motion_group_state_serialize(
2000
+ cell=cell,
2001
+ controller=controller,
2002
+ motion_group=motion_group,
2003
+ _request_auth=_request_auth,
2004
+ _content_type=_content_type,
2005
+ _headers=_headers,
2006
+ _host_index=_host_index,
2007
+ )
2008
+
2009
+ _response_types_map: Dict[str, Optional[str]] = {
2010
+ "200": "MotionGroupJoints",
2011
+ "400": "Error",
2012
+ "404": "Error",
2013
+ }
2014
+
2015
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2016
+ await response_data.read()
2017
+ return self.api_client.response_deserialize(
2018
+ response_data=response_data,
2019
+ response_types_map=_response_types_map,
2020
+ ).data
2021
+
2022
+ @validate_call
2023
+ async def get_motion_group_state_with_http_info(
2024
+ self,
2025
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2026
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2027
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
2028
+ _request_timeout: Union[
2029
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2030
+ ] = None,
2031
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2032
+ _content_type: Optional[StrictStr] = None,
2033
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2034
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2035
+ ) -> ApiResponse[MotionGroupJoints]:
2036
+ """Get Motion Group State
2037
+
2038
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Get the current motion group state which provides values for the joints' position, velocity and acceleration.
2039
+
2040
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2041
+ :type cell: str
2042
+ :param controller: Unique identifier to address a controller in the cell. (required)
2043
+ :type controller: str
2044
+ :param motion_group: The motion-group identifier. (required)
2045
+ :type motion_group: str
2046
+ :param _request_timeout: timeout setting for this request. If one
2047
+ number provided, it will be total request
2048
+ timeout. It can also be a pair (tuple) of
2049
+ (connection, read) timeouts.
2050
+ :type _request_timeout: int, tuple(int, int), optional
2051
+ :param _request_auth: set to override the auth_settings for an a single
2052
+ request; this effectively ignores the
2053
+ authentication in the spec for a single request.
2054
+ :type _request_auth: dict, optional
2055
+ :param _content_type: force content-type for the request.
2056
+ :type _content_type: str, Optional
2057
+ :param _headers: set to override the headers for a single
2058
+ request; this effectively ignores the headers
2059
+ in the spec for a single request.
2060
+ :type _headers: dict, optional
2061
+ :param _host_index: set to override the host_index for a single
2062
+ request; this effectively ignores the host_index
2063
+ in the spec for a single request.
2064
+ :type _host_index: int, optional
2065
+ :return: Returns the result object.
2066
+ """ # noqa: E501
2067
+
2068
+ _param = self._get_motion_group_state_serialize(
2069
+ cell=cell,
2070
+ controller=controller,
2071
+ motion_group=motion_group,
2072
+ _request_auth=_request_auth,
2073
+ _content_type=_content_type,
2074
+ _headers=_headers,
2075
+ _host_index=_host_index,
2076
+ )
2077
+
2078
+ _response_types_map: Dict[str, Optional[str]] = {
2079
+ "200": "MotionGroupJoints",
2080
+ "400": "Error",
2081
+ "404": "Error",
2082
+ }
2083
+
2084
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2085
+ await response_data.read()
2086
+ return self.api_client.response_deserialize(
2087
+ response_data=response_data,
2088
+ response_types_map=_response_types_map,
2089
+ )
2090
+
2091
+ @validate_call
2092
+ async def get_motion_group_state_without_preload_content(
2093
+ self,
2094
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2095
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2096
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
2097
+ _request_timeout: Union[
2098
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2099
+ ] = None,
2100
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2101
+ _content_type: Optional[StrictStr] = None,
2102
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2103
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2104
+ ) -> RESTResponseType:
2105
+ """Get Motion Group State
2106
+
2107
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Get the current motion group state which provides values for the joints' position, velocity and acceleration.
2108
+
2109
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2110
+ :type cell: str
2111
+ :param controller: Unique identifier to address a controller in the cell. (required)
2112
+ :type controller: str
2113
+ :param motion_group: The motion-group identifier. (required)
2114
+ :type motion_group: str
2115
+ :param _request_timeout: timeout setting for this request. If one
2116
+ number provided, it will be total request
2117
+ timeout. It can also be a pair (tuple) of
2118
+ (connection, read) timeouts.
2119
+ :type _request_timeout: int, tuple(int, int), optional
2120
+ :param _request_auth: set to override the auth_settings for an a single
2121
+ request; this effectively ignores the
2122
+ authentication in the spec for a single request.
2123
+ :type _request_auth: dict, optional
2124
+ :param _content_type: force content-type for the request.
2125
+ :type _content_type: str, Optional
2126
+ :param _headers: set to override the headers for a single
2127
+ request; this effectively ignores the headers
2128
+ in the spec for a single request.
2129
+ :type _headers: dict, optional
2130
+ :param _host_index: set to override the host_index for a single
2131
+ request; this effectively ignores the host_index
2132
+ in the spec for a single request.
2133
+ :type _host_index: int, optional
2134
+ :return: Returns the result object.
2135
+ """ # noqa: E501
2136
+
2137
+ _param = self._get_motion_group_state_serialize(
2138
+ cell=cell,
2139
+ controller=controller,
2140
+ motion_group=motion_group,
2141
+ _request_auth=_request_auth,
2142
+ _content_type=_content_type,
2143
+ _headers=_headers,
2144
+ _host_index=_host_index,
2145
+ )
2146
+
2147
+ _response_types_map: Dict[str, Optional[str]] = {
2148
+ "200": "MotionGroupJoints",
2149
+ "400": "Error",
2150
+ "404": "Error",
2151
+ }
2152
+
2153
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2154
+ return response_data.response
2155
+
2156
+ def _get_motion_group_state_serialize(
2157
+ self,
2158
+ cell,
2159
+ controller,
2160
+ motion_group,
2161
+ _request_auth,
2162
+ _content_type,
2163
+ _headers,
2164
+ _host_index,
2165
+ ) -> RequestSerialized:
2166
+
2167
+ _host = None
2168
+
2169
+ _collection_formats: Dict[str, str] = {}
2170
+
2171
+ _path_params: Dict[str, str] = {}
2172
+ _query_params: List[Tuple[str, str]] = []
2173
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2174
+ _form_params: List[Tuple[str, str]] = []
2175
+ _files: Dict[str, Union[str, bytes]] = {}
2176
+ _body_params: Optional[bytes] = None
2177
+
2178
+ # process the path parameters
2179
+ if cell is not None:
2180
+ _path_params["cell"] = cell
2181
+ if controller is not None:
2182
+ _path_params["controller"] = controller
2183
+ if motion_group is not None:
2184
+ _path_params["motion-group"] = motion_group
2185
+ # process the query parameters
2186
+ # process the header parameters
2187
+ # process the form parameters
2188
+ # process the body parameter
2189
+
2190
+ # set the HTTP header `Accept`
2191
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2192
+
2193
+ # authentication setting
2194
+ _auth_settings: List[str] = ["BearerAuth"]
2195
+
2196
+ return self.api_client.param_serialize(
2197
+ method="GET",
2198
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/state",
2199
+ path_params=_path_params,
2200
+ query_params=_query_params,
2201
+ header_params=_header_params,
2202
+ body=_body_params,
2203
+ post_params=_form_params,
2204
+ files=_files,
2205
+ auth_settings=_auth_settings,
2206
+ collection_formats=_collection_formats,
2207
+ _host=_host,
2208
+ _request_auth=_request_auth,
2209
+ )
2210
+
2211
+ @validate_call
2212
+ async def get_motion_groups(
2213
+ self,
2214
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2215
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2216
+ _request_timeout: Union[
2217
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2218
+ ] = None,
2219
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2220
+ _content_type: Optional[StrictStr] = None,
2221
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2222
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2223
+ ) -> List[MotionGroupInfo]:
2224
+ """Motion Group Description
2225
+
2226
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Gets information on the motion group.
2227
+
2228
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2229
+ :type cell: str
2230
+ :param controller: Unique identifier to address a controller in the cell. (required)
2231
+ :type controller: str
2232
+ :param _request_timeout: timeout setting for this request. If one
2233
+ number provided, it will be total request
2234
+ timeout. It can also be a pair (tuple) of
2235
+ (connection, read) timeouts.
2236
+ :type _request_timeout: int, tuple(int, int), optional
2237
+ :param _request_auth: set to override the auth_settings for an a single
2238
+ request; this effectively ignores the
2239
+ authentication in the spec for a single request.
2240
+ :type _request_auth: dict, optional
2241
+ :param _content_type: force content-type for the request.
2242
+ :type _content_type: str, Optional
2243
+ :param _headers: set to override the headers for a single
2244
+ request; this effectively ignores the headers
2245
+ in the spec for a single request.
2246
+ :type _headers: dict, optional
2247
+ :param _host_index: set to override the host_index for a single
2248
+ request; this effectively ignores the host_index
2249
+ in the spec for a single request.
2250
+ :type _host_index: int, optional
2251
+ :return: Returns the result object.
2252
+ """ # noqa: E501
2253
+
2254
+ _param = self._get_motion_groups_serialize(
2255
+ cell=cell,
2256
+ controller=controller,
2257
+ _request_auth=_request_auth,
2258
+ _content_type=_content_type,
2259
+ _headers=_headers,
2260
+ _host_index=_host_index,
2261
+ )
2262
+
2263
+ _response_types_map: Dict[str, Optional[str]] = {
2264
+ "200": "List[MotionGroupInfo]",
2265
+ "400": "Error",
2266
+ "404": "Error",
2267
+ }
2268
+
2269
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2270
+ await response_data.read()
2271
+ return self.api_client.response_deserialize(
2272
+ response_data=response_data,
2273
+ response_types_map=_response_types_map,
2274
+ ).data
2275
+
2276
+ @validate_call
2277
+ async def get_motion_groups_with_http_info(
2278
+ self,
2279
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2280
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2281
+ _request_timeout: Union[
2282
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2283
+ ] = None,
2284
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2285
+ _content_type: Optional[StrictStr] = None,
2286
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2287
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2288
+ ) -> ApiResponse[List[MotionGroupInfo]]:
2289
+ """Motion Group Description
2290
+
2291
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Gets information on the motion group.
2292
+
2293
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2294
+ :type cell: str
2295
+ :param controller: Unique identifier to address a controller in the cell. (required)
2296
+ :type controller: str
2297
+ :param _request_timeout: timeout setting for this request. If one
2298
+ number provided, it will be total request
2299
+ timeout. It can also be a pair (tuple) of
2300
+ (connection, read) timeouts.
2301
+ :type _request_timeout: int, tuple(int, int), optional
2302
+ :param _request_auth: set to override the auth_settings for an a single
2303
+ request; this effectively ignores the
2304
+ authentication in the spec for a single request.
2305
+ :type _request_auth: dict, optional
2306
+ :param _content_type: force content-type for the request.
2307
+ :type _content_type: str, Optional
2308
+ :param _headers: set to override the headers for a single
2309
+ request; this effectively ignores the headers
2310
+ in the spec for a single request.
2311
+ :type _headers: dict, optional
2312
+ :param _host_index: set to override the host_index for a single
2313
+ request; this effectively ignores the host_index
2314
+ in the spec for a single request.
2315
+ :type _host_index: int, optional
2316
+ :return: Returns the result object.
2317
+ """ # noqa: E501
2318
+
2319
+ _param = self._get_motion_groups_serialize(
2320
+ cell=cell,
2321
+ controller=controller,
2322
+ _request_auth=_request_auth,
2323
+ _content_type=_content_type,
2324
+ _headers=_headers,
2325
+ _host_index=_host_index,
2326
+ )
2327
+
2328
+ _response_types_map: Dict[str, Optional[str]] = {
2329
+ "200": "List[MotionGroupInfo]",
2330
+ "400": "Error",
2331
+ "404": "Error",
2332
+ }
2333
+
2334
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2335
+ await response_data.read()
2336
+ return self.api_client.response_deserialize(
2337
+ response_data=response_data,
2338
+ response_types_map=_response_types_map,
2339
+ )
2340
+
2341
+ @validate_call
2342
+ async def get_motion_groups_without_preload_content(
2343
+ self,
2344
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2345
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2346
+ _request_timeout: Union[
2347
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2348
+ ] = None,
2349
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2350
+ _content_type: Optional[StrictStr] = None,
2351
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2352
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2353
+ ) -> RESTResponseType:
2354
+ """Motion Group Description
2355
+
2356
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Gets information on the motion group.
2357
+
2358
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2359
+ :type cell: str
2360
+ :param controller: Unique identifier to address a controller in the cell. (required)
2361
+ :type controller: str
2362
+ :param _request_timeout: timeout setting for this request. If one
2363
+ number provided, it will be total request
2364
+ timeout. It can also be a pair (tuple) of
2365
+ (connection, read) timeouts.
2366
+ :type _request_timeout: int, tuple(int, int), optional
2367
+ :param _request_auth: set to override the auth_settings for an a single
2368
+ request; this effectively ignores the
2369
+ authentication in the spec for a single request.
2370
+ :type _request_auth: dict, optional
2371
+ :param _content_type: force content-type for the request.
2372
+ :type _content_type: str, Optional
2373
+ :param _headers: set to override the headers for a single
2374
+ request; this effectively ignores the headers
2375
+ in the spec for a single request.
2376
+ :type _headers: dict, optional
2377
+ :param _host_index: set to override the host_index for a single
2378
+ request; this effectively ignores the host_index
2379
+ in the spec for a single request.
2380
+ :type _host_index: int, optional
2381
+ :return: Returns the result object.
2382
+ """ # noqa: E501
2383
+
2384
+ _param = self._get_motion_groups_serialize(
2385
+ cell=cell,
2386
+ controller=controller,
2387
+ _request_auth=_request_auth,
2388
+ _content_type=_content_type,
2389
+ _headers=_headers,
2390
+ _host_index=_host_index,
2391
+ )
2392
+
2393
+ _response_types_map: Dict[str, Optional[str]] = {
2394
+ "200": "List[MotionGroupInfo]",
2395
+ "400": "Error",
2396
+ "404": "Error",
2397
+ }
2398
+
2399
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2400
+ return response_data.response
2401
+
2402
+ def _get_motion_groups_serialize(
2403
+ self,
2404
+ cell,
2405
+ controller,
2406
+ _request_auth,
2407
+ _content_type,
2408
+ _headers,
2409
+ _host_index,
2410
+ ) -> RequestSerialized:
2411
+
2412
+ _host = None
2413
+
2414
+ _collection_formats: Dict[str, str] = {}
2415
+
2416
+ _path_params: Dict[str, str] = {}
2417
+ _query_params: List[Tuple[str, str]] = []
2418
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2419
+ _form_params: List[Tuple[str, str]] = []
2420
+ _files: Dict[str, Union[str, bytes]] = {}
2421
+ _body_params: Optional[bytes] = None
2422
+
2423
+ # process the path parameters
2424
+ if cell is not None:
2425
+ _path_params["cell"] = cell
2426
+ if controller is not None:
2427
+ _path_params["controller"] = controller
2428
+ # process the query parameters
2429
+ # process the header parameters
2430
+ # process the form parameters
2431
+ # process the body parameter
2432
+
2433
+ # set the HTTP header `Accept`
2434
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2435
+
2436
+ # authentication setting
2437
+ _auth_settings: List[str] = ["BearerAuth"]
2438
+
2439
+ return self.api_client.param_serialize(
2440
+ method="GET",
2441
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/motion-groups",
2442
+ path_params=_path_params,
2443
+ query_params=_query_params,
2444
+ header_params=_header_params,
2445
+ body=_body_params,
2446
+ post_params=_form_params,
2447
+ files=_files,
2448
+ auth_settings=_auth_settings,
2449
+ collection_formats=_collection_formats,
2450
+ _host=_host,
2451
+ _request_auth=_request_auth,
2452
+ )
2453
+
2454
+ @validate_call
2455
+ async def get_operation_mode(
2456
+ self,
2457
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2458
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2459
+ _request_timeout: Union[
2460
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2461
+ ] = None,
2462
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2463
+ _content_type: Optional[StrictStr] = None,
2464
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2465
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2466
+ ) -> OpMode:
2467
+ """Get Operation Mode
2468
+
2469
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Requests the operation mode of the virtual robot controller. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers.
2470
+
2471
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2472
+ :type cell: str
2473
+ :param controller: Unique identifier to address a controller in the cell. (required)
2474
+ :type controller: str
2475
+ :param _request_timeout: timeout setting for this request. If one
2476
+ number provided, it will be total request
2477
+ timeout. It can also be a pair (tuple) of
2478
+ (connection, read) timeouts.
2479
+ :type _request_timeout: int, tuple(int, int), optional
2480
+ :param _request_auth: set to override the auth_settings for an a single
2481
+ request; this effectively ignores the
2482
+ authentication in the spec for a single request.
2483
+ :type _request_auth: dict, optional
2484
+ :param _content_type: force content-type for the request.
2485
+ :type _content_type: str, Optional
2486
+ :param _headers: set to override the headers for a single
2487
+ request; this effectively ignores the headers
2488
+ in the spec for a single request.
2489
+ :type _headers: dict, optional
2490
+ :param _host_index: set to override the host_index for a single
2491
+ request; this effectively ignores the host_index
2492
+ in the spec for a single request.
2493
+ :type _host_index: int, optional
2494
+ :return: Returns the result object.
2495
+ """ # noqa: E501
2496
+
2497
+ _param = self._get_operation_mode_serialize(
2498
+ cell=cell,
2499
+ controller=controller,
2500
+ _request_auth=_request_auth,
2501
+ _content_type=_content_type,
2502
+ _headers=_headers,
2503
+ _host_index=_host_index,
2504
+ )
2505
+
2506
+ _response_types_map: Dict[str, Optional[str]] = {
2507
+ "200": "OpMode",
2508
+ "400": "Error",
2509
+ "404": "Error",
2510
+ }
2511
+
2512
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2513
+ await response_data.read()
2514
+ return self.api_client.response_deserialize(
2515
+ response_data=response_data,
2516
+ response_types_map=_response_types_map,
2517
+ ).data
2518
+
2519
+ @validate_call
2520
+ async def get_operation_mode_with_http_info(
2521
+ self,
2522
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2523
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2524
+ _request_timeout: Union[
2525
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2526
+ ] = None,
2527
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2528
+ _content_type: Optional[StrictStr] = None,
2529
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2530
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2531
+ ) -> ApiResponse[OpMode]:
2532
+ """Get Operation Mode
2533
+
2534
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Requests the operation mode of the virtual robot controller. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers.
2535
+
2536
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2537
+ :type cell: str
2538
+ :param controller: Unique identifier to address a controller in the cell. (required)
2539
+ :type controller: str
2540
+ :param _request_timeout: timeout setting for this request. If one
2541
+ number provided, it will be total request
2542
+ timeout. It can also be a pair (tuple) of
2543
+ (connection, read) timeouts.
2544
+ :type _request_timeout: int, tuple(int, int), optional
2545
+ :param _request_auth: set to override the auth_settings for an a single
2546
+ request; this effectively ignores the
2547
+ authentication in the spec for a single request.
2548
+ :type _request_auth: dict, optional
2549
+ :param _content_type: force content-type for the request.
2550
+ :type _content_type: str, Optional
2551
+ :param _headers: set to override the headers for a single
2552
+ request; this effectively ignores the headers
2553
+ in the spec for a single request.
2554
+ :type _headers: dict, optional
2555
+ :param _host_index: set to override the host_index for a single
2556
+ request; this effectively ignores the host_index
2557
+ in the spec for a single request.
2558
+ :type _host_index: int, optional
2559
+ :return: Returns the result object.
2560
+ """ # noqa: E501
2561
+
2562
+ _param = self._get_operation_mode_serialize(
2563
+ cell=cell,
2564
+ controller=controller,
2565
+ _request_auth=_request_auth,
2566
+ _content_type=_content_type,
2567
+ _headers=_headers,
2568
+ _host_index=_host_index,
2569
+ )
2570
+
2571
+ _response_types_map: Dict[str, Optional[str]] = {
2572
+ "200": "OpMode",
2573
+ "400": "Error",
2574
+ "404": "Error",
2575
+ }
2576
+
2577
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2578
+ await response_data.read()
2579
+ return self.api_client.response_deserialize(
2580
+ response_data=response_data,
2581
+ response_types_map=_response_types_map,
2582
+ )
2583
+
2584
+ @validate_call
2585
+ async def get_operation_mode_without_preload_content(
2586
+ self,
2587
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2588
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2589
+ _request_timeout: Union[
2590
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2591
+ ] = None,
2592
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2593
+ _content_type: Optional[StrictStr] = None,
2594
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2595
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2596
+ ) -> RESTResponseType:
2597
+ """Get Operation Mode
2598
+
2599
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Requests the operation mode of the virtual robot controller. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers.
2600
+
2601
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2602
+ :type cell: str
2603
+ :param controller: Unique identifier to address a controller in the cell. (required)
2604
+ :type controller: str
2605
+ :param _request_timeout: timeout setting for this request. If one
2606
+ number provided, it will be total request
2607
+ timeout. It can also be a pair (tuple) of
2608
+ (connection, read) timeouts.
2609
+ :type _request_timeout: int, tuple(int, int), optional
2610
+ :param _request_auth: set to override the auth_settings for an a single
2611
+ request; this effectively ignores the
2612
+ authentication in the spec for a single request.
2613
+ :type _request_auth: dict, optional
2614
+ :param _content_type: force content-type for the request.
2615
+ :type _content_type: str, Optional
2616
+ :param _headers: set to override the headers for a single
2617
+ request; this effectively ignores the headers
2618
+ in the spec for a single request.
2619
+ :type _headers: dict, optional
2620
+ :param _host_index: set to override the host_index for a single
2621
+ request; this effectively ignores the host_index
2622
+ in the spec for a single request.
2623
+ :type _host_index: int, optional
2624
+ :return: Returns the result object.
2625
+ """ # noqa: E501
2626
+
2627
+ _param = self._get_operation_mode_serialize(
2628
+ cell=cell,
2629
+ controller=controller,
2630
+ _request_auth=_request_auth,
2631
+ _content_type=_content_type,
2632
+ _headers=_headers,
2633
+ _host_index=_host_index,
2634
+ )
2635
+
2636
+ _response_types_map: Dict[str, Optional[str]] = {
2637
+ "200": "OpMode",
2638
+ "400": "Error",
2639
+ "404": "Error",
2640
+ }
2641
+
2642
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2643
+ return response_data.response
2644
+
2645
+ def _get_operation_mode_serialize(
2646
+ self,
2647
+ cell,
2648
+ controller,
2649
+ _request_auth,
2650
+ _content_type,
2651
+ _headers,
2652
+ _host_index,
2653
+ ) -> RequestSerialized:
2654
+
2655
+ _host = None
2656
+
2657
+ _collection_formats: Dict[str, str] = {}
2658
+
2659
+ _path_params: Dict[str, str] = {}
2660
+ _query_params: List[Tuple[str, str]] = []
2661
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2662
+ _form_params: List[Tuple[str, str]] = []
2663
+ _files: Dict[str, Union[str, bytes]] = {}
2664
+ _body_params: Optional[bytes] = None
2665
+
2666
+ # process the path parameters
2667
+ if cell is not None:
2668
+ _path_params["cell"] = cell
2669
+ if controller is not None:
2670
+ _path_params["controller"] = controller
2671
+ # process the query parameters
2672
+ # process the header parameters
2673
+ # process the form parameters
2674
+ # process the body parameter
2675
+
2676
+ # set the HTTP header `Accept`
2677
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2678
+
2679
+ # authentication setting
2680
+ _auth_settings: List[str] = ["BearerAuth"]
2681
+
2682
+ return self.api_client.param_serialize(
2683
+ method="GET",
2684
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/operationmode",
2685
+ path_params=_path_params,
2686
+ query_params=_query_params,
2687
+ header_params=_header_params,
2688
+ body=_body_params,
2689
+ post_params=_form_params,
2690
+ files=_files,
2691
+ auth_settings=_auth_settings,
2692
+ collection_formats=_collection_formats,
2693
+ _host=_host,
2694
+ _request_auth=_request_auth,
2695
+ )
2696
+
2697
+ @validate_call
2698
+ async def get_virtual_controller_mounting(
2699
+ self,
2700
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2701
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2702
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
2703
+ _request_timeout: Union[
2704
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2705
+ ] = None,
2706
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2707
+ _content_type: Optional[StrictStr] = None,
2708
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2709
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2710
+ ) -> CoordinateSystem:
2711
+ """Get Mounting
2712
+
2713
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Gets motion group mounting. The motion group is based on the origin of the returned coordinate system.
2714
+
2715
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2716
+ :type cell: str
2717
+ :param controller: Unique identifier to address a controller in the cell. (required)
2718
+ :type controller: str
2719
+ :param motion_group: The motion-group identifier. (required)
2720
+ :type motion_group: str
2721
+ :param _request_timeout: timeout setting for this request. If one
2722
+ number provided, it will be total request
2723
+ timeout. It can also be a pair (tuple) of
2724
+ (connection, read) timeouts.
2725
+ :type _request_timeout: int, tuple(int, int), optional
2726
+ :param _request_auth: set to override the auth_settings for an a single
2727
+ request; this effectively ignores the
2728
+ authentication in the spec for a single request.
2729
+ :type _request_auth: dict, optional
2730
+ :param _content_type: force content-type for the request.
2731
+ :type _content_type: str, Optional
2732
+ :param _headers: set to override the headers for a single
2733
+ request; this effectively ignores the headers
2734
+ in the spec for a single request.
2735
+ :type _headers: dict, optional
2736
+ :param _host_index: set to override the host_index for a single
2737
+ request; this effectively ignores the host_index
2738
+ in the spec for a single request.
2739
+ :type _host_index: int, optional
2740
+ :return: Returns the result object.
2741
+ """ # noqa: E501
2742
+
2743
+ _param = self._get_virtual_controller_mounting_serialize(
2744
+ cell=cell,
2745
+ controller=controller,
2746
+ motion_group=motion_group,
2747
+ _request_auth=_request_auth,
2748
+ _content_type=_content_type,
2749
+ _headers=_headers,
2750
+ _host_index=_host_index,
2751
+ )
2752
+
2753
+ _response_types_map: Dict[str, Optional[str]] = {
2754
+ "200": "CoordinateSystem",
2755
+ "400": "Error",
2756
+ "404": "Error",
2757
+ }
2758
+
2759
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2760
+ await response_data.read()
2761
+ return self.api_client.response_deserialize(
2762
+ response_data=response_data,
2763
+ response_types_map=_response_types_map,
2764
+ ).data
2765
+
2766
+ @validate_call
2767
+ async def get_virtual_controller_mounting_with_http_info(
2768
+ self,
2769
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2770
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2771
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
2772
+ _request_timeout: Union[
2773
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2774
+ ] = None,
2775
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2776
+ _content_type: Optional[StrictStr] = None,
2777
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2778
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2779
+ ) -> ApiResponse[CoordinateSystem]:
2780
+ """Get Mounting
2781
+
2782
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Gets motion group mounting. The motion group is based on the origin of the returned coordinate system.
2783
+
2784
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2785
+ :type cell: str
2786
+ :param controller: Unique identifier to address a controller in the cell. (required)
2787
+ :type controller: str
2788
+ :param motion_group: The motion-group identifier. (required)
2789
+ :type motion_group: str
2790
+ :param _request_timeout: timeout setting for this request. If one
2791
+ number provided, it will be total request
2792
+ timeout. It can also be a pair (tuple) of
2793
+ (connection, read) timeouts.
2794
+ :type _request_timeout: int, tuple(int, int), optional
2795
+ :param _request_auth: set to override the auth_settings for an a single
2796
+ request; this effectively ignores the
2797
+ authentication in the spec for a single request.
2798
+ :type _request_auth: dict, optional
2799
+ :param _content_type: force content-type for the request.
2800
+ :type _content_type: str, Optional
2801
+ :param _headers: set to override the headers for a single
2802
+ request; this effectively ignores the headers
2803
+ in the spec for a single request.
2804
+ :type _headers: dict, optional
2805
+ :param _host_index: set to override the host_index for a single
2806
+ request; this effectively ignores the host_index
2807
+ in the spec for a single request.
2808
+ :type _host_index: int, optional
2809
+ :return: Returns the result object.
2810
+ """ # noqa: E501
2811
+
2812
+ _param = self._get_virtual_controller_mounting_serialize(
2813
+ cell=cell,
2814
+ controller=controller,
2815
+ motion_group=motion_group,
2816
+ _request_auth=_request_auth,
2817
+ _content_type=_content_type,
2818
+ _headers=_headers,
2819
+ _host_index=_host_index,
2820
+ )
2821
+
2822
+ _response_types_map: Dict[str, Optional[str]] = {
2823
+ "200": "CoordinateSystem",
2824
+ "400": "Error",
2825
+ "404": "Error",
2826
+ }
2827
+
2828
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2829
+ await response_data.read()
2830
+ return self.api_client.response_deserialize(
2831
+ response_data=response_data,
2832
+ response_types_map=_response_types_map,
2833
+ )
2834
+
2835
+ @validate_call
2836
+ async def get_virtual_controller_mounting_without_preload_content(
2837
+ self,
2838
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2839
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2840
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
2841
+ _request_timeout: Union[
2842
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2843
+ ] = None,
2844
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2845
+ _content_type: Optional[StrictStr] = None,
2846
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2847
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2848
+ ) -> RESTResponseType:
2849
+ """Get Mounting
2850
+
2851
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Gets motion group mounting. The motion group is based on the origin of the returned coordinate system.
2852
+
2853
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2854
+ :type cell: str
2855
+ :param controller: Unique identifier to address a controller in the cell. (required)
2856
+ :type controller: str
2857
+ :param motion_group: The motion-group identifier. (required)
2858
+ :type motion_group: str
2859
+ :param _request_timeout: timeout setting for this request. If one
2860
+ number provided, it will be total request
2861
+ timeout. It can also be a pair (tuple) of
2862
+ (connection, read) timeouts.
2863
+ :type _request_timeout: int, tuple(int, int), optional
2864
+ :param _request_auth: set to override the auth_settings for an a single
2865
+ request; this effectively ignores the
2866
+ authentication in the spec for a single request.
2867
+ :type _request_auth: dict, optional
2868
+ :param _content_type: force content-type for the request.
2869
+ :type _content_type: str, Optional
2870
+ :param _headers: set to override the headers for a single
2871
+ request; this effectively ignores the headers
2872
+ in the spec for a single request.
2873
+ :type _headers: dict, optional
2874
+ :param _host_index: set to override the host_index for a single
2875
+ request; this effectively ignores the host_index
2876
+ in the spec for a single request.
2877
+ :type _host_index: int, optional
2878
+ :return: Returns the result object.
2879
+ """ # noqa: E501
2880
+
2881
+ _param = self._get_virtual_controller_mounting_serialize(
2882
+ cell=cell,
2883
+ controller=controller,
2884
+ motion_group=motion_group,
2885
+ _request_auth=_request_auth,
2886
+ _content_type=_content_type,
2887
+ _headers=_headers,
2888
+ _host_index=_host_index,
2889
+ )
2890
+
2891
+ _response_types_map: Dict[str, Optional[str]] = {
2892
+ "200": "CoordinateSystem",
2893
+ "400": "Error",
2894
+ "404": "Error",
2895
+ }
2896
+
2897
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2898
+ return response_data.response
2899
+
2900
+ def _get_virtual_controller_mounting_serialize(
2901
+ self,
2902
+ cell,
2903
+ controller,
2904
+ motion_group,
2905
+ _request_auth,
2906
+ _content_type,
2907
+ _headers,
2908
+ _host_index,
2909
+ ) -> RequestSerialized:
2910
+
2911
+ _host = None
2912
+
2913
+ _collection_formats: Dict[str, str] = {}
2914
+
2915
+ _path_params: Dict[str, str] = {}
2916
+ _query_params: List[Tuple[str, str]] = []
2917
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2918
+ _form_params: List[Tuple[str, str]] = []
2919
+ _files: Dict[str, Union[str, bytes]] = {}
2920
+ _body_params: Optional[bytes] = None
2921
+
2922
+ # process the path parameters
2923
+ if cell is not None:
2924
+ _path_params["cell"] = cell
2925
+ if controller is not None:
2926
+ _path_params["controller"] = controller
2927
+ if motion_group is not None:
2928
+ _path_params["motion-group"] = motion_group
2929
+ # process the query parameters
2930
+ # process the header parameters
2931
+ # process the form parameters
2932
+ # process the body parameter
2933
+
2934
+ # set the HTTP header `Accept`
2935
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2936
+
2937
+ # authentication setting
2938
+ _auth_settings: List[str] = ["BearerAuth"]
2939
+
2940
+ return self.api_client.param_serialize(
2941
+ method="GET",
2942
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/mounting",
2943
+ path_params=_path_params,
2944
+ query_params=_query_params,
2945
+ header_params=_header_params,
2946
+ body=_body_params,
2947
+ post_params=_form_params,
2948
+ files=_files,
2949
+ auth_settings=_auth_settings,
2950
+ collection_formats=_collection_formats,
2951
+ _host=_host,
2952
+ _request_auth=_request_auth,
2953
+ )
2954
+
2955
+ @validate_call
2956
+ async def list_virtual_controller_coordinate_systems(
2957
+ self,
2958
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2959
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2960
+ _request_timeout: Union[
2961
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2962
+ ] = None,
2963
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2964
+ _content_type: Optional[StrictStr] = None,
2965
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2966
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2967
+ ) -> List[CoordinateSystem]:
2968
+ """List Coordinate Systems
2969
+
2970
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Lists all coordinate systems on the robot controller.
2971
+
2972
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2973
+ :type cell: str
2974
+ :param controller: Unique identifier to address a controller in the cell. (required)
2975
+ :type controller: str
2976
+ :param _request_timeout: timeout setting for this request. If one
2977
+ number provided, it will be total request
2978
+ timeout. It can also be a pair (tuple) of
2979
+ (connection, read) timeouts.
2980
+ :type _request_timeout: int, tuple(int, int), optional
2981
+ :param _request_auth: set to override the auth_settings for an a single
2982
+ request; this effectively ignores the
2983
+ authentication in the spec for a single request.
2984
+ :type _request_auth: dict, optional
2985
+ :param _content_type: force content-type for the request.
2986
+ :type _content_type: str, Optional
2987
+ :param _headers: set to override the headers for a single
2988
+ request; this effectively ignores the headers
2989
+ in the spec for a single request.
2990
+ :type _headers: dict, optional
2991
+ :param _host_index: set to override the host_index for a single
2992
+ request; this effectively ignores the host_index
2993
+ in the spec for a single request.
2994
+ :type _host_index: int, optional
2995
+ :return: Returns the result object.
2996
+ """ # noqa: E501
2997
+
2998
+ _param = self._list_virtual_controller_coordinate_systems_serialize(
2999
+ cell=cell,
3000
+ controller=controller,
3001
+ _request_auth=_request_auth,
3002
+ _content_type=_content_type,
3003
+ _headers=_headers,
3004
+ _host_index=_host_index,
3005
+ )
3006
+
3007
+ _response_types_map: Dict[str, Optional[str]] = {
3008
+ "200": "List[CoordinateSystem]",
3009
+ "400": "Error",
3010
+ "404": "Error",
3011
+ }
3012
+
3013
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3014
+ await response_data.read()
3015
+ return self.api_client.response_deserialize(
3016
+ response_data=response_data,
3017
+ response_types_map=_response_types_map,
3018
+ ).data
3019
+
3020
+ @validate_call
3021
+ async def list_virtual_controller_coordinate_systems_with_http_info(
3022
+ self,
3023
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3024
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3025
+ _request_timeout: Union[
3026
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
3027
+ ] = None,
3028
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3029
+ _content_type: Optional[StrictStr] = None,
3030
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3031
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3032
+ ) -> ApiResponse[List[CoordinateSystem]]:
3033
+ """List Coordinate Systems
3034
+
3035
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Lists all coordinate systems on the robot controller.
3036
+
3037
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3038
+ :type cell: str
3039
+ :param controller: Unique identifier to address a controller in the cell. (required)
3040
+ :type controller: str
3041
+ :param _request_timeout: timeout setting for this request. If one
3042
+ number provided, it will be total request
3043
+ timeout. It can also be a pair (tuple) of
3044
+ (connection, read) timeouts.
3045
+ :type _request_timeout: int, tuple(int, int), optional
3046
+ :param _request_auth: set to override the auth_settings for an a single
3047
+ request; this effectively ignores the
3048
+ authentication in the spec for a single request.
3049
+ :type _request_auth: dict, optional
3050
+ :param _content_type: force content-type for the request.
3051
+ :type _content_type: str, Optional
3052
+ :param _headers: set to override the headers for a single
3053
+ request; this effectively ignores the headers
3054
+ in the spec for a single request.
3055
+ :type _headers: dict, optional
3056
+ :param _host_index: set to override the host_index for a single
3057
+ request; this effectively ignores the host_index
3058
+ in the spec for a single request.
3059
+ :type _host_index: int, optional
3060
+ :return: Returns the result object.
3061
+ """ # noqa: E501
3062
+
3063
+ _param = self._list_virtual_controller_coordinate_systems_serialize(
3064
+ cell=cell,
3065
+ controller=controller,
3066
+ _request_auth=_request_auth,
3067
+ _content_type=_content_type,
3068
+ _headers=_headers,
3069
+ _host_index=_host_index,
3070
+ )
3071
+
3072
+ _response_types_map: Dict[str, Optional[str]] = {
3073
+ "200": "List[CoordinateSystem]",
3074
+ "400": "Error",
3075
+ "404": "Error",
3076
+ }
3077
+
3078
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3079
+ await response_data.read()
3080
+ return self.api_client.response_deserialize(
3081
+ response_data=response_data,
3082
+ response_types_map=_response_types_map,
3083
+ )
3084
+
3085
+ @validate_call
3086
+ async def list_virtual_controller_coordinate_systems_without_preload_content(
3087
+ self,
3088
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3089
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3090
+ _request_timeout: Union[
3091
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
3092
+ ] = None,
3093
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3094
+ _content_type: Optional[StrictStr] = None,
3095
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3096
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3097
+ ) -> RESTResponseType:
3098
+ """List Coordinate Systems
3099
+
3100
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Lists all coordinate systems on the robot controller.
3101
+
3102
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3103
+ :type cell: str
3104
+ :param controller: Unique identifier to address a controller in the cell. (required)
3105
+ :type controller: str
3106
+ :param _request_timeout: timeout setting for this request. If one
3107
+ number provided, it will be total request
3108
+ timeout. It can also be a pair (tuple) of
3109
+ (connection, read) timeouts.
3110
+ :type _request_timeout: int, tuple(int, int), optional
3111
+ :param _request_auth: set to override the auth_settings for an a single
3112
+ request; this effectively ignores the
3113
+ authentication in the spec for a single request.
3114
+ :type _request_auth: dict, optional
3115
+ :param _content_type: force content-type for the request.
3116
+ :type _content_type: str, Optional
3117
+ :param _headers: set to override the headers for a single
3118
+ request; this effectively ignores the headers
3119
+ in the spec for a single request.
3120
+ :type _headers: dict, optional
3121
+ :param _host_index: set to override the host_index for a single
3122
+ request; this effectively ignores the host_index
3123
+ in the spec for a single request.
3124
+ :type _host_index: int, optional
3125
+ :return: Returns the result object.
3126
+ """ # noqa: E501
3127
+
3128
+ _param = self._list_virtual_controller_coordinate_systems_serialize(
3129
+ cell=cell,
3130
+ controller=controller,
3131
+ _request_auth=_request_auth,
3132
+ _content_type=_content_type,
3133
+ _headers=_headers,
3134
+ _host_index=_host_index,
3135
+ )
3136
+
3137
+ _response_types_map: Dict[str, Optional[str]] = {
3138
+ "200": "List[CoordinateSystem]",
3139
+ "400": "Error",
3140
+ "404": "Error",
3141
+ }
3142
+
3143
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3144
+ return response_data.response
3145
+
3146
+ def _list_virtual_controller_coordinate_systems_serialize(
3147
+ self,
3148
+ cell,
3149
+ controller,
3150
+ _request_auth,
3151
+ _content_type,
3152
+ _headers,
3153
+ _host_index,
3154
+ ) -> RequestSerialized:
3155
+
3156
+ _host = None
3157
+
3158
+ _collection_formats: Dict[str, str] = {}
3159
+
3160
+ _path_params: Dict[str, str] = {}
3161
+ _query_params: List[Tuple[str, str]] = []
3162
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3163
+ _form_params: List[Tuple[str, str]] = []
3164
+ _files: Dict[str, Union[str, bytes]] = {}
3165
+ _body_params: Optional[bytes] = None
3166
+
3167
+ # process the path parameters
3168
+ if cell is not None:
3169
+ _path_params["cell"] = cell
3170
+ if controller is not None:
3171
+ _path_params["controller"] = controller
3172
+ # process the query parameters
3173
+ # process the header parameters
3174
+ # process the form parameters
3175
+ # process the body parameter
3176
+
3177
+ # set the HTTP header `Accept`
3178
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
3179
+
3180
+ # authentication setting
3181
+ _auth_settings: List[str] = ["BearerAuth"]
3182
+
3183
+ return self.api_client.param_serialize(
3184
+ method="GET",
3185
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/coordinate-systems",
3186
+ path_params=_path_params,
3187
+ query_params=_query_params,
3188
+ header_params=_header_params,
3189
+ body=_body_params,
3190
+ post_params=_form_params,
3191
+ files=_files,
3192
+ auth_settings=_auth_settings,
3193
+ collection_formats=_collection_formats,
3194
+ _host=_host,
3195
+ _request_auth=_request_auth,
3196
+ )
3197
+
3198
+ @validate_call
3199
+ async def list_virtual_controller_tcps(
3200
+ self,
3201
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3202
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3203
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
3204
+ _request_timeout: Union[
3205
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
3206
+ ] = None,
3207
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3208
+ _content_type: Optional[StrictStr] = None,
3209
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3210
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3211
+ ) -> List[RobotTcp]:
3212
+ """List TCPs
3213
+
3214
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Lists TCPs of the motion group. An empty TCP list is valid, e.g., for external axes.
3215
+
3216
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3217
+ :type cell: str
3218
+ :param controller: Unique identifier to address a controller in the cell. (required)
3219
+ :type controller: str
3220
+ :param motion_group: The motion-group identifier. (required)
3221
+ :type motion_group: str
3222
+ :param _request_timeout: timeout setting for this request. If one
3223
+ number provided, it will be total request
3224
+ timeout. It can also be a pair (tuple) of
3225
+ (connection, read) timeouts.
3226
+ :type _request_timeout: int, tuple(int, int), optional
3227
+ :param _request_auth: set to override the auth_settings for an a single
3228
+ request; this effectively ignores the
3229
+ authentication in the spec for a single request.
3230
+ :type _request_auth: dict, optional
3231
+ :param _content_type: force content-type for the request.
3232
+ :type _content_type: str, Optional
3233
+ :param _headers: set to override the headers for a single
3234
+ request; this effectively ignores the headers
3235
+ in the spec for a single request.
3236
+ :type _headers: dict, optional
3237
+ :param _host_index: set to override the host_index for a single
3238
+ request; this effectively ignores the host_index
3239
+ in the spec for a single request.
3240
+ :type _host_index: int, optional
3241
+ :return: Returns the result object.
3242
+ """ # noqa: E501
3243
+
3244
+ _param = self._list_virtual_controller_tcps_serialize(
3245
+ cell=cell,
3246
+ controller=controller,
3247
+ motion_group=motion_group,
3248
+ _request_auth=_request_auth,
3249
+ _content_type=_content_type,
3250
+ _headers=_headers,
3251
+ _host_index=_host_index,
3252
+ )
3253
+
3254
+ _response_types_map: Dict[str, Optional[str]] = {
3255
+ "200": "List[RobotTcp]",
3256
+ "400": "Error",
3257
+ "404": "Error",
3258
+ }
3259
+
3260
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3261
+ await response_data.read()
3262
+ return self.api_client.response_deserialize(
3263
+ response_data=response_data,
3264
+ response_types_map=_response_types_map,
3265
+ ).data
3266
+
3267
+ @validate_call
3268
+ async def list_virtual_controller_tcps_with_http_info(
3269
+ self,
3270
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3271
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3272
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
3273
+ _request_timeout: Union[
3274
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
3275
+ ] = None,
3276
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3277
+ _content_type: Optional[StrictStr] = None,
3278
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3279
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3280
+ ) -> ApiResponse[List[RobotTcp]]:
3281
+ """List TCPs
3282
+
3283
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Lists TCPs of the motion group. An empty TCP list is valid, e.g., for external axes.
3284
+
3285
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3286
+ :type cell: str
3287
+ :param controller: Unique identifier to address a controller in the cell. (required)
3288
+ :type controller: str
3289
+ :param motion_group: The motion-group identifier. (required)
3290
+ :type motion_group: str
3291
+ :param _request_timeout: timeout setting for this request. If one
3292
+ number provided, it will be total request
3293
+ timeout. It can also be a pair (tuple) of
3294
+ (connection, read) timeouts.
3295
+ :type _request_timeout: int, tuple(int, int), optional
3296
+ :param _request_auth: set to override the auth_settings for an a single
3297
+ request; this effectively ignores the
3298
+ authentication in the spec for a single request.
3299
+ :type _request_auth: dict, optional
3300
+ :param _content_type: force content-type for the request.
3301
+ :type _content_type: str, Optional
3302
+ :param _headers: set to override the headers for a single
3303
+ request; this effectively ignores the headers
3304
+ in the spec for a single request.
3305
+ :type _headers: dict, optional
3306
+ :param _host_index: set to override the host_index for a single
3307
+ request; this effectively ignores the host_index
3308
+ in the spec for a single request.
3309
+ :type _host_index: int, optional
3310
+ :return: Returns the result object.
3311
+ """ # noqa: E501
3312
+
3313
+ _param = self._list_virtual_controller_tcps_serialize(
3314
+ cell=cell,
3315
+ controller=controller,
3316
+ motion_group=motion_group,
3317
+ _request_auth=_request_auth,
3318
+ _content_type=_content_type,
3319
+ _headers=_headers,
3320
+ _host_index=_host_index,
3321
+ )
3322
+
3323
+ _response_types_map: Dict[str, Optional[str]] = {
3324
+ "200": "List[RobotTcp]",
3325
+ "400": "Error",
3326
+ "404": "Error",
3327
+ }
3328
+
3329
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3330
+ await response_data.read()
3331
+ return self.api_client.response_deserialize(
3332
+ response_data=response_data,
3333
+ response_types_map=_response_types_map,
3334
+ )
3335
+
3336
+ @validate_call
3337
+ async def list_virtual_controller_tcps_without_preload_content(
3338
+ self,
3339
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3340
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3341
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
3342
+ _request_timeout: Union[
3343
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
3344
+ ] = None,
3345
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3346
+ _content_type: Optional[StrictStr] = None,
3347
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3348
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3349
+ ) -> RESTResponseType:
3350
+ """List TCPs
3351
+
3352
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Lists TCPs of the motion group. An empty TCP list is valid, e.g., for external axes.
3353
+
3354
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3355
+ :type cell: str
3356
+ :param controller: Unique identifier to address a controller in the cell. (required)
3357
+ :type controller: str
3358
+ :param motion_group: The motion-group identifier. (required)
3359
+ :type motion_group: str
3360
+ :param _request_timeout: timeout setting for this request. If one
3361
+ number provided, it will be total request
3362
+ timeout. It can also be a pair (tuple) of
3363
+ (connection, read) timeouts.
3364
+ :type _request_timeout: int, tuple(int, int), optional
3365
+ :param _request_auth: set to override the auth_settings for an a single
3366
+ request; this effectively ignores the
3367
+ authentication in the spec for a single request.
3368
+ :type _request_auth: dict, optional
3369
+ :param _content_type: force content-type for the request.
3370
+ :type _content_type: str, Optional
3371
+ :param _headers: set to override the headers for a single
3372
+ request; this effectively ignores the headers
3373
+ in the spec for a single request.
3374
+ :type _headers: dict, optional
3375
+ :param _host_index: set to override the host_index for a single
3376
+ request; this effectively ignores the host_index
3377
+ in the spec for a single request.
3378
+ :type _host_index: int, optional
3379
+ :return: Returns the result object.
3380
+ """ # noqa: E501
3381
+
3382
+ _param = self._list_virtual_controller_tcps_serialize(
3383
+ cell=cell,
3384
+ controller=controller,
3385
+ motion_group=motion_group,
3386
+ _request_auth=_request_auth,
3387
+ _content_type=_content_type,
3388
+ _headers=_headers,
3389
+ _host_index=_host_index,
3390
+ )
3391
+
3392
+ _response_types_map: Dict[str, Optional[str]] = {
3393
+ "200": "List[RobotTcp]",
3394
+ "400": "Error",
3395
+ "404": "Error",
3396
+ }
3397
+
3398
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3399
+ return response_data.response
3400
+
3401
+ def _list_virtual_controller_tcps_serialize(
3402
+ self,
3403
+ cell,
3404
+ controller,
3405
+ motion_group,
3406
+ _request_auth,
3407
+ _content_type,
3408
+ _headers,
3409
+ _host_index,
3410
+ ) -> RequestSerialized:
3411
+
3412
+ _host = None
3413
+
3414
+ _collection_formats: Dict[str, str] = {}
3415
+
3416
+ _path_params: Dict[str, str] = {}
3417
+ _query_params: List[Tuple[str, str]] = []
3418
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3419
+ _form_params: List[Tuple[str, str]] = []
3420
+ _files: Dict[str, Union[str, bytes]] = {}
3421
+ _body_params: Optional[bytes] = None
3422
+
3423
+ # process the path parameters
3424
+ if cell is not None:
3425
+ _path_params["cell"] = cell
3426
+ if controller is not None:
3427
+ _path_params["controller"] = controller
3428
+ if motion_group is not None:
3429
+ _path_params["motion-group"] = motion_group
3430
+ # process the query parameters
3431
+ # process the header parameters
3432
+ # process the form parameters
3433
+ # process the body parameter
3434
+
3435
+ # set the HTTP header `Accept`
3436
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
3437
+
3438
+ # authentication setting
3439
+ _auth_settings: List[str] = ["BearerAuth"]
3440
+
3441
+ return self.api_client.param_serialize(
3442
+ method="GET",
3443
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/tcps",
3444
+ path_params=_path_params,
3445
+ query_params=_query_params,
3446
+ header_params=_header_params,
3447
+ body=_body_params,
3448
+ post_params=_form_params,
3449
+ files=_files,
3450
+ auth_settings=_auth_settings,
3451
+ collection_formats=_collection_formats,
3452
+ _host=_host,
3453
+ _request_auth=_request_auth,
3454
+ )
3455
+
3456
+ @validate_call
3457
+ async def set_emergency_stop(
3458
+ self,
3459
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3460
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3461
+ active: Optional[StrictBool] = None,
3462
+ _request_timeout: Union[
3463
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
3464
+ ] = None,
3465
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3466
+ _content_type: Optional[StrictStr] = None,
3467
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3468
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3469
+ ) -> None:
3470
+ """Push or Release Emergency Stop
3471
+
3472
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Activates or releases the Emergency Stop on the virtual robot controller. Activating the Emergency Stop stops the execution of all motions. The stop is executed on physical controllers immediately not gracefully and not on paths. Due to restricted physical behavior of the virtual robot controller, the Emergency Stop is executed on paths. To return to normal operation the Emergency Stop needs to be released. Use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed via API when using virtual robot controllers.
3473
+
3474
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3475
+ :type cell: str
3476
+ :param controller: Unique identifier to address a controller in the cell. (required)
3477
+ :type controller: str
3478
+ :param active:
3479
+ :type active: bool
3480
+ :param _request_timeout: timeout setting for this request. If one
3481
+ number provided, it will be total request
3482
+ timeout. It can also be a pair (tuple) of
3483
+ (connection, read) timeouts.
3484
+ :type _request_timeout: int, tuple(int, int), optional
3485
+ :param _request_auth: set to override the auth_settings for an a single
3486
+ request; this effectively ignores the
3487
+ authentication in the spec for a single request.
3488
+ :type _request_auth: dict, optional
3489
+ :param _content_type: force content-type for the request.
3490
+ :type _content_type: str, Optional
3491
+ :param _headers: set to override the headers for a single
3492
+ request; this effectively ignores the headers
3493
+ in the spec for a single request.
3494
+ :type _headers: dict, optional
3495
+ :param _host_index: set to override the host_index for a single
3496
+ request; this effectively ignores the host_index
3497
+ in the spec for a single request.
3498
+ :type _host_index: int, optional
3499
+ :return: Returns the result object.
3500
+ """ # noqa: E501
3501
+
3502
+ _param = self._set_emergency_stop_serialize(
3503
+ cell=cell,
3504
+ controller=controller,
3505
+ active=active,
3506
+ _request_auth=_request_auth,
3507
+ _content_type=_content_type,
3508
+ _headers=_headers,
3509
+ _host_index=_host_index,
3510
+ )
3511
+
3512
+ _response_types_map: Dict[str, Optional[str]] = {
3513
+ "200": None,
3514
+ "400": "Error",
3515
+ "404": "Error",
3516
+ }
3517
+
3518
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3519
+ await response_data.read()
3520
+ return self.api_client.response_deserialize(
3521
+ response_data=response_data,
3522
+ response_types_map=_response_types_map,
3523
+ ).data
3524
+
3525
+ @validate_call
3526
+ async def set_emergency_stop_with_http_info(
3527
+ self,
3528
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3529
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3530
+ active: Optional[StrictBool] = None,
3531
+ _request_timeout: Union[
3532
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
3533
+ ] = None,
3534
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3535
+ _content_type: Optional[StrictStr] = None,
3536
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3537
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3538
+ ) -> ApiResponse[None]:
3539
+ """Push or Release Emergency Stop
3540
+
3541
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Activates or releases the Emergency Stop on the virtual robot controller. Activating the Emergency Stop stops the execution of all motions. The stop is executed on physical controllers immediately not gracefully and not on paths. Due to restricted physical behavior of the virtual robot controller, the Emergency Stop is executed on paths. To return to normal operation the Emergency Stop needs to be released. Use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed via API when using virtual robot controllers.
3542
+
3543
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3544
+ :type cell: str
3545
+ :param controller: Unique identifier to address a controller in the cell. (required)
3546
+ :type controller: str
3547
+ :param active:
3548
+ :type active: bool
3549
+ :param _request_timeout: timeout setting for this request. If one
3550
+ number provided, it will be total request
3551
+ timeout. It can also be a pair (tuple) of
3552
+ (connection, read) timeouts.
3553
+ :type _request_timeout: int, tuple(int, int), optional
3554
+ :param _request_auth: set to override the auth_settings for an a single
3555
+ request; this effectively ignores the
3556
+ authentication in the spec for a single request.
3557
+ :type _request_auth: dict, optional
3558
+ :param _content_type: force content-type for the request.
3559
+ :type _content_type: str, Optional
3560
+ :param _headers: set to override the headers for a single
3561
+ request; this effectively ignores the headers
3562
+ in the spec for a single request.
3563
+ :type _headers: dict, optional
3564
+ :param _host_index: set to override the host_index for a single
3565
+ request; this effectively ignores the host_index
3566
+ in the spec for a single request.
3567
+ :type _host_index: int, optional
3568
+ :return: Returns the result object.
3569
+ """ # noqa: E501
3570
+
3571
+ _param = self._set_emergency_stop_serialize(
3572
+ cell=cell,
3573
+ controller=controller,
3574
+ active=active,
3575
+ _request_auth=_request_auth,
3576
+ _content_type=_content_type,
3577
+ _headers=_headers,
3578
+ _host_index=_host_index,
3579
+ )
3580
+
3581
+ _response_types_map: Dict[str, Optional[str]] = {
3582
+ "200": None,
3583
+ "400": "Error",
3584
+ "404": "Error",
3585
+ }
3586
+
3587
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3588
+ await response_data.read()
3589
+ return self.api_client.response_deserialize(
3590
+ response_data=response_data,
3591
+ response_types_map=_response_types_map,
3592
+ )
3593
+
3594
+ @validate_call
3595
+ async def set_emergency_stop_without_preload_content(
3596
+ self,
3597
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3598
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3599
+ active: Optional[StrictBool] = None,
3600
+ _request_timeout: Union[
3601
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
3602
+ ] = None,
3603
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3604
+ _content_type: Optional[StrictStr] = None,
3605
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3606
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3607
+ ) -> RESTResponseType:
3608
+ """Push or Release Emergency Stop
3609
+
3610
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Activates or releases the Emergency Stop on the virtual robot controller. Activating the Emergency Stop stops the execution of all motions. The stop is executed on physical controllers immediately not gracefully and not on paths. Due to restricted physical behavior of the virtual robot controller, the Emergency Stop is executed on paths. To return to normal operation the Emergency Stop needs to be released. Use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed via API when using virtual robot controllers.
3611
+
3612
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3613
+ :type cell: str
3614
+ :param controller: Unique identifier to address a controller in the cell. (required)
3615
+ :type controller: str
3616
+ :param active:
3617
+ :type active: bool
3618
+ :param _request_timeout: timeout setting for this request. If one
3619
+ number provided, it will be total request
3620
+ timeout. It can also be a pair (tuple) of
3621
+ (connection, read) timeouts.
3622
+ :type _request_timeout: int, tuple(int, int), optional
3623
+ :param _request_auth: set to override the auth_settings for an a single
3624
+ request; this effectively ignores the
3625
+ authentication in the spec for a single request.
3626
+ :type _request_auth: dict, optional
3627
+ :param _content_type: force content-type for the request.
3628
+ :type _content_type: str, Optional
3629
+ :param _headers: set to override the headers for a single
3630
+ request; this effectively ignores the headers
3631
+ in the spec for a single request.
3632
+ :type _headers: dict, optional
3633
+ :param _host_index: set to override the host_index for a single
3634
+ request; this effectively ignores the host_index
3635
+ in the spec for a single request.
3636
+ :type _host_index: int, optional
3637
+ :return: Returns the result object.
3638
+ """ # noqa: E501
3639
+
3640
+ _param = self._set_emergency_stop_serialize(
3641
+ cell=cell,
3642
+ controller=controller,
3643
+ active=active,
3644
+ _request_auth=_request_auth,
3645
+ _content_type=_content_type,
3646
+ _headers=_headers,
3647
+ _host_index=_host_index,
3648
+ )
3649
+
3650
+ _response_types_map: Dict[str, Optional[str]] = {
3651
+ "200": None,
3652
+ "400": "Error",
3653
+ "404": "Error",
3654
+ }
3655
+
3656
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3657
+ return response_data.response
3658
+
3659
+ def _set_emergency_stop_serialize(
3660
+ self,
3661
+ cell,
3662
+ controller,
3663
+ active,
3664
+ _request_auth,
3665
+ _content_type,
3666
+ _headers,
3667
+ _host_index,
3668
+ ) -> RequestSerialized:
3669
+
3670
+ _host = None
3671
+
3672
+ _collection_formats: Dict[str, str] = {}
3673
+
3674
+ _path_params: Dict[str, str] = {}
3675
+ _query_params: List[Tuple[str, str]] = []
3676
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3677
+ _form_params: List[Tuple[str, str]] = []
3678
+ _files: Dict[str, Union[str, bytes]] = {}
3679
+ _body_params: Optional[bytes] = None
3680
+
3681
+ # process the path parameters
3682
+ if cell is not None:
3683
+ _path_params["cell"] = cell
3684
+ if controller is not None:
3685
+ _path_params["controller"] = controller
3686
+ # process the query parameters
3687
+ if active is not None:
3688
+ _query_params.append(("active", active))
3689
+
3690
+ # process the header parameters
3691
+ # process the form parameters
3692
+ # process the body parameter
3693
+
3694
+ # set the HTTP header `Accept`
3695
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
3696
+
3697
+ # authentication setting
3698
+ _auth_settings: List[str] = ["BearerAuth"]
3699
+
3700
+ return self.api_client.param_serialize(
3701
+ method="PUT",
3702
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/emergency-stop",
3703
+ path_params=_path_params,
3704
+ query_params=_query_params,
3705
+ header_params=_header_params,
3706
+ body=_body_params,
3707
+ post_params=_form_params,
3708
+ files=_files,
3709
+ auth_settings=_auth_settings,
3710
+ collection_formats=_collection_formats,
3711
+ _host=_host,
3712
+ _request_auth=_request_auth,
3713
+ )
3714
+
3715
+ @validate_call
3716
+ async def set_motion_group_state(
3717
+ self,
3718
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3719
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3720
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
3721
+ motion_group_joints: MotionGroupJoints,
3722
+ _request_timeout: Union[
3723
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
3724
+ ] = None,
3725
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3726
+ _content_type: Optional[StrictStr] = None,
3727
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3728
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3729
+ ) -> None:
3730
+ """Set Motion Group State
3731
+
3732
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Sets the values for joint position, joint velocity or joint acceleration of a motion group state. The values are immediately applied to the joints of the motion group. <!-- theme: info --> > #### NOTE > > Only use the endpoint when the motion group is in monitor mode. If the motion group is controlled, currently jogging or planning motions, > the values are overridden by the controller or an error may occur.
3733
+
3734
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3735
+ :type cell: str
3736
+ :param controller: Unique identifier to address a controller in the cell. (required)
3737
+ :type controller: str
3738
+ :param motion_group: The motion-group identifier. (required)
3739
+ :type motion_group: str
3740
+ :param motion_group_joints: (required)
3741
+ :type motion_group_joints: MotionGroupJoints
3742
+ :param _request_timeout: timeout setting for this request. If one
3743
+ number provided, it will be total request
3744
+ timeout. It can also be a pair (tuple) of
3745
+ (connection, read) timeouts.
3746
+ :type _request_timeout: int, tuple(int, int), optional
3747
+ :param _request_auth: set to override the auth_settings for an a single
3748
+ request; this effectively ignores the
3749
+ authentication in the spec for a single request.
3750
+ :type _request_auth: dict, optional
3751
+ :param _content_type: force content-type for the request.
3752
+ :type _content_type: str, Optional
3753
+ :param _headers: set to override the headers for a single
3754
+ request; this effectively ignores the headers
3755
+ in the spec for a single request.
3756
+ :type _headers: dict, optional
3757
+ :param _host_index: set to override the host_index for a single
3758
+ request; this effectively ignores the host_index
3759
+ in the spec for a single request.
3760
+ :type _host_index: int, optional
3761
+ :return: Returns the result object.
3762
+ """ # noqa: E501
3763
+
3764
+ _param = self._set_motion_group_state_serialize(
3765
+ cell=cell,
3766
+ controller=controller,
3767
+ motion_group=motion_group,
3768
+ motion_group_joints=motion_group_joints,
3769
+ _request_auth=_request_auth,
3770
+ _content_type=_content_type,
3771
+ _headers=_headers,
3772
+ _host_index=_host_index,
3773
+ )
3774
+
3775
+ _response_types_map: Dict[str, Optional[str]] = {
3776
+ "200": None,
3777
+ "400": "Error",
3778
+ "404": "Error",
3779
+ }
3780
+
3781
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3782
+ await response_data.read()
3783
+ return self.api_client.response_deserialize(
3784
+ response_data=response_data,
3785
+ response_types_map=_response_types_map,
3786
+ ).data
3787
+
3788
+ @validate_call
3789
+ async def set_motion_group_state_with_http_info(
3790
+ self,
3791
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3792
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3793
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
3794
+ motion_group_joints: MotionGroupJoints,
3795
+ _request_timeout: Union[
3796
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
3797
+ ] = None,
3798
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3799
+ _content_type: Optional[StrictStr] = None,
3800
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3801
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3802
+ ) -> ApiResponse[None]:
3803
+ """Set Motion Group State
3804
+
3805
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Sets the values for joint position, joint velocity or joint acceleration of a motion group state. The values are immediately applied to the joints of the motion group. <!-- theme: info --> > #### NOTE > > Only use the endpoint when the motion group is in monitor mode. If the motion group is controlled, currently jogging or planning motions, > the values are overridden by the controller or an error may occur.
3806
+
3807
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3808
+ :type cell: str
3809
+ :param controller: Unique identifier to address a controller in the cell. (required)
3810
+ :type controller: str
3811
+ :param motion_group: The motion-group identifier. (required)
3812
+ :type motion_group: str
3813
+ :param motion_group_joints: (required)
3814
+ :type motion_group_joints: MotionGroupJoints
3815
+ :param _request_timeout: timeout setting for this request. If one
3816
+ number provided, it will be total request
3817
+ timeout. It can also be a pair (tuple) of
3818
+ (connection, read) timeouts.
3819
+ :type _request_timeout: int, tuple(int, int), optional
3820
+ :param _request_auth: set to override the auth_settings for an a single
3821
+ request; this effectively ignores the
3822
+ authentication in the spec for a single request.
3823
+ :type _request_auth: dict, optional
3824
+ :param _content_type: force content-type for the request.
3825
+ :type _content_type: str, Optional
3826
+ :param _headers: set to override the headers for a single
3827
+ request; this effectively ignores the headers
3828
+ in the spec for a single request.
3829
+ :type _headers: dict, optional
3830
+ :param _host_index: set to override the host_index for a single
3831
+ request; this effectively ignores the host_index
3832
+ in the spec for a single request.
3833
+ :type _host_index: int, optional
3834
+ :return: Returns the result object.
3835
+ """ # noqa: E501
3836
+
3837
+ _param = self._set_motion_group_state_serialize(
3838
+ cell=cell,
3839
+ controller=controller,
3840
+ motion_group=motion_group,
3841
+ motion_group_joints=motion_group_joints,
3842
+ _request_auth=_request_auth,
3843
+ _content_type=_content_type,
3844
+ _headers=_headers,
3845
+ _host_index=_host_index,
3846
+ )
3847
+
3848
+ _response_types_map: Dict[str, Optional[str]] = {
3849
+ "200": None,
3850
+ "400": "Error",
3851
+ "404": "Error",
3852
+ }
3853
+
3854
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3855
+ await response_data.read()
3856
+ return self.api_client.response_deserialize(
3857
+ response_data=response_data,
3858
+ response_types_map=_response_types_map,
3859
+ )
3860
+
3861
+ @validate_call
3862
+ async def set_motion_group_state_without_preload_content(
3863
+ self,
3864
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3865
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3866
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
3867
+ motion_group_joints: MotionGroupJoints,
3868
+ _request_timeout: Union[
3869
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
3870
+ ] = None,
3871
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3872
+ _content_type: Optional[StrictStr] = None,
3873
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3874
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3875
+ ) -> RESTResponseType:
3876
+ """Set Motion Group State
3877
+
3878
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Sets the values for joint position, joint velocity or joint acceleration of a motion group state. The values are immediately applied to the joints of the motion group. <!-- theme: info --> > #### NOTE > > Only use the endpoint when the motion group is in monitor mode. If the motion group is controlled, currently jogging or planning motions, > the values are overridden by the controller or an error may occur.
3879
+
3880
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3881
+ :type cell: str
3882
+ :param controller: Unique identifier to address a controller in the cell. (required)
3883
+ :type controller: str
3884
+ :param motion_group: The motion-group identifier. (required)
3885
+ :type motion_group: str
3886
+ :param motion_group_joints: (required)
3887
+ :type motion_group_joints: MotionGroupJoints
3888
+ :param _request_timeout: timeout setting for this request. If one
3889
+ number provided, it will be total request
3890
+ timeout. It can also be a pair (tuple) of
3891
+ (connection, read) timeouts.
3892
+ :type _request_timeout: int, tuple(int, int), optional
3893
+ :param _request_auth: set to override the auth_settings for an a single
3894
+ request; this effectively ignores the
3895
+ authentication in the spec for a single request.
3896
+ :type _request_auth: dict, optional
3897
+ :param _content_type: force content-type for the request.
3898
+ :type _content_type: str, Optional
3899
+ :param _headers: set to override the headers for a single
3900
+ request; this effectively ignores the headers
3901
+ in the spec for a single request.
3902
+ :type _headers: dict, optional
3903
+ :param _host_index: set to override the host_index for a single
3904
+ request; this effectively ignores the host_index
3905
+ in the spec for a single request.
3906
+ :type _host_index: int, optional
3907
+ :return: Returns the result object.
3908
+ """ # noqa: E501
3909
+
3910
+ _param = self._set_motion_group_state_serialize(
3911
+ cell=cell,
3912
+ controller=controller,
3913
+ motion_group=motion_group,
3914
+ motion_group_joints=motion_group_joints,
3915
+ _request_auth=_request_auth,
3916
+ _content_type=_content_type,
3917
+ _headers=_headers,
3918
+ _host_index=_host_index,
3919
+ )
3920
+
3921
+ _response_types_map: Dict[str, Optional[str]] = {
3922
+ "200": None,
3923
+ "400": "Error",
3924
+ "404": "Error",
3925
+ }
3926
+
3927
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3928
+ return response_data.response
3929
+
3930
+ def _set_motion_group_state_serialize(
3931
+ self,
3932
+ cell,
3933
+ controller,
3934
+ motion_group,
3935
+ motion_group_joints,
3936
+ _request_auth,
3937
+ _content_type,
3938
+ _headers,
3939
+ _host_index,
3940
+ ) -> RequestSerialized:
3941
+
3942
+ _host = None
3943
+
3944
+ _collection_formats: Dict[str, str] = {}
3945
+
3946
+ _path_params: Dict[str, str] = {}
3947
+ _query_params: List[Tuple[str, str]] = []
3948
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3949
+ _form_params: List[Tuple[str, str]] = []
3950
+ _files: Dict[str, Union[str, bytes]] = {}
3951
+ _body_params: Optional[bytes] = None
3952
+
3953
+ # process the path parameters
3954
+ if cell is not None:
3955
+ _path_params["cell"] = cell
3956
+ if controller is not None:
3957
+ _path_params["controller"] = controller
3958
+ if motion_group is not None:
3959
+ _path_params["motion-group"] = motion_group
3960
+ # process the query parameters
3961
+ # process the header parameters
3962
+ # process the form parameters
3963
+ # process the body parameter
3964
+ if motion_group_joints is not None:
3965
+ _body_params = motion_group_joints
3966
+
3967
+ # set the HTTP header `Accept`
3968
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
3969
+
3970
+ # set the HTTP header `Content-Type`
3971
+ if _content_type:
3972
+ _header_params["Content-Type"] = _content_type
3973
+ else:
3974
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
3975
+ if _default_content_type is not None:
3976
+ _header_params["Content-Type"] = _default_content_type
3977
+
3978
+ # authentication setting
3979
+ _auth_settings: List[str] = ["BearerAuth"]
3980
+
3981
+ return self.api_client.param_serialize(
3982
+ method="PUT",
3983
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/state",
3984
+ path_params=_path_params,
3985
+ query_params=_query_params,
3986
+ header_params=_header_params,
3987
+ body=_body_params,
3988
+ post_params=_form_params,
3989
+ files=_files,
3990
+ auth_settings=_auth_settings,
3991
+ collection_formats=_collection_formats,
3992
+ _host=_host,
3993
+ _request_auth=_request_auth,
3994
+ )
3995
+
3996
+ @validate_call
3997
+ async def set_operation_mode(
3998
+ self,
3999
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
4000
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
4001
+ mode: OperationMode,
4002
+ _request_timeout: Union[
4003
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
4004
+ ] = None,
4005
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4006
+ _content_type: Optional[StrictStr] = None,
4007
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4008
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4009
+ ) -> None:
4010
+ """Set Operation Mode
4011
+
4012
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Changes the operation mode of the virtual robot controller to the specified value. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers.
4013
+
4014
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
4015
+ :type cell: str
4016
+ :param controller: Unique identifier to address a controller in the cell. (required)
4017
+ :type controller: str
4018
+ :param mode: (required)
4019
+ :type mode: OperationMode
4020
+ :param _request_timeout: timeout setting for this request. If one
4021
+ number provided, it will be total request
4022
+ timeout. It can also be a pair (tuple) of
4023
+ (connection, read) timeouts.
4024
+ :type _request_timeout: int, tuple(int, int), optional
4025
+ :param _request_auth: set to override the auth_settings for an a single
4026
+ request; this effectively ignores the
4027
+ authentication in the spec for a single request.
4028
+ :type _request_auth: dict, optional
4029
+ :param _content_type: force content-type for the request.
4030
+ :type _content_type: str, Optional
4031
+ :param _headers: set to override the headers for a single
4032
+ request; this effectively ignores the headers
4033
+ in the spec for a single request.
4034
+ :type _headers: dict, optional
4035
+ :param _host_index: set to override the host_index for a single
4036
+ request; this effectively ignores the host_index
4037
+ in the spec for a single request.
4038
+ :type _host_index: int, optional
4039
+ :return: Returns the result object.
4040
+ """ # noqa: E501
4041
+
4042
+ _param = self._set_operation_mode_serialize(
4043
+ cell=cell,
4044
+ controller=controller,
4045
+ mode=mode,
4046
+ _request_auth=_request_auth,
4047
+ _content_type=_content_type,
4048
+ _headers=_headers,
4049
+ _host_index=_host_index,
4050
+ )
4051
+
4052
+ _response_types_map: Dict[str, Optional[str]] = {
4053
+ "200": None,
4054
+ "400": "Error",
4055
+ "404": "Error",
4056
+ }
4057
+
4058
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
4059
+ await response_data.read()
4060
+ return self.api_client.response_deserialize(
4061
+ response_data=response_data,
4062
+ response_types_map=_response_types_map,
4063
+ ).data
4064
+
4065
+ @validate_call
4066
+ async def set_operation_mode_with_http_info(
4067
+ self,
4068
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
4069
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
4070
+ mode: OperationMode,
4071
+ _request_timeout: Union[
4072
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
4073
+ ] = None,
4074
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4075
+ _content_type: Optional[StrictStr] = None,
4076
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4077
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4078
+ ) -> ApiResponse[None]:
4079
+ """Set Operation Mode
4080
+
4081
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Changes the operation mode of the virtual robot controller to the specified value. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers.
4082
+
4083
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
4084
+ :type cell: str
4085
+ :param controller: Unique identifier to address a controller in the cell. (required)
4086
+ :type controller: str
4087
+ :param mode: (required)
4088
+ :type mode: OperationMode
4089
+ :param _request_timeout: timeout setting for this request. If one
4090
+ number provided, it will be total request
4091
+ timeout. It can also be a pair (tuple) of
4092
+ (connection, read) timeouts.
4093
+ :type _request_timeout: int, tuple(int, int), optional
4094
+ :param _request_auth: set to override the auth_settings for an a single
4095
+ request; this effectively ignores the
4096
+ authentication in the spec for a single request.
4097
+ :type _request_auth: dict, optional
4098
+ :param _content_type: force content-type for the request.
4099
+ :type _content_type: str, Optional
4100
+ :param _headers: set to override the headers for a single
4101
+ request; this effectively ignores the headers
4102
+ in the spec for a single request.
4103
+ :type _headers: dict, optional
4104
+ :param _host_index: set to override the host_index for a single
4105
+ request; this effectively ignores the host_index
4106
+ in the spec for a single request.
4107
+ :type _host_index: int, optional
4108
+ :return: Returns the result object.
4109
+ """ # noqa: E501
4110
+
4111
+ _param = self._set_operation_mode_serialize(
4112
+ cell=cell,
4113
+ controller=controller,
4114
+ mode=mode,
4115
+ _request_auth=_request_auth,
4116
+ _content_type=_content_type,
4117
+ _headers=_headers,
4118
+ _host_index=_host_index,
4119
+ )
4120
+
4121
+ _response_types_map: Dict[str, Optional[str]] = {
4122
+ "200": None,
4123
+ "400": "Error",
4124
+ "404": "Error",
4125
+ }
4126
+
4127
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
4128
+ await response_data.read()
4129
+ return self.api_client.response_deserialize(
4130
+ response_data=response_data,
4131
+ response_types_map=_response_types_map,
4132
+ )
4133
+
4134
+ @validate_call
4135
+ async def set_operation_mode_without_preload_content(
4136
+ self,
4137
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
4138
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
4139
+ mode: OperationMode,
4140
+ _request_timeout: Union[
4141
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
4142
+ ] = None,
4143
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4144
+ _content_type: Optional[StrictStr] = None,
4145
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4146
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4147
+ ) -> RESTResponseType:
4148
+ """Set Operation Mode
4149
+
4150
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Changes the operation mode of the virtual robot controller to the specified value. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](#/operations/getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers.
4151
+
4152
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
4153
+ :type cell: str
4154
+ :param controller: Unique identifier to address a controller in the cell. (required)
4155
+ :type controller: str
4156
+ :param mode: (required)
4157
+ :type mode: OperationMode
4158
+ :param _request_timeout: timeout setting for this request. If one
4159
+ number provided, it will be total request
4160
+ timeout. It can also be a pair (tuple) of
4161
+ (connection, read) timeouts.
4162
+ :type _request_timeout: int, tuple(int, int), optional
4163
+ :param _request_auth: set to override the auth_settings for an a single
4164
+ request; this effectively ignores the
4165
+ authentication in the spec for a single request.
4166
+ :type _request_auth: dict, optional
4167
+ :param _content_type: force content-type for the request.
4168
+ :type _content_type: str, Optional
4169
+ :param _headers: set to override the headers for a single
4170
+ request; this effectively ignores the headers
4171
+ in the spec for a single request.
4172
+ :type _headers: dict, optional
4173
+ :param _host_index: set to override the host_index for a single
4174
+ request; this effectively ignores the host_index
4175
+ in the spec for a single request.
4176
+ :type _host_index: int, optional
4177
+ :return: Returns the result object.
4178
+ """ # noqa: E501
4179
+
4180
+ _param = self._set_operation_mode_serialize(
4181
+ cell=cell,
4182
+ controller=controller,
4183
+ mode=mode,
4184
+ _request_auth=_request_auth,
4185
+ _content_type=_content_type,
4186
+ _headers=_headers,
4187
+ _host_index=_host_index,
4188
+ )
4189
+
4190
+ _response_types_map: Dict[str, Optional[str]] = {
4191
+ "200": None,
4192
+ "400": "Error",
4193
+ "404": "Error",
4194
+ }
4195
+
4196
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
4197
+ return response_data.response
4198
+
4199
+ def _set_operation_mode_serialize(
4200
+ self,
4201
+ cell,
4202
+ controller,
4203
+ mode,
4204
+ _request_auth,
4205
+ _content_type,
4206
+ _headers,
4207
+ _host_index,
4208
+ ) -> RequestSerialized:
4209
+
4210
+ _host = None
4211
+
4212
+ _collection_formats: Dict[str, str] = {}
4213
+
4214
+ _path_params: Dict[str, str] = {}
4215
+ _query_params: List[Tuple[str, str]] = []
4216
+ _header_params: Dict[str, Optional[str]] = _headers or {}
4217
+ _form_params: List[Tuple[str, str]] = []
4218
+ _files: Dict[str, Union[str, bytes]] = {}
4219
+ _body_params: Optional[bytes] = None
4220
+
4221
+ # process the path parameters
4222
+ if cell is not None:
4223
+ _path_params["cell"] = cell
4224
+ if controller is not None:
4225
+ _path_params["controller"] = controller
4226
+ # process the query parameters
4227
+ if mode is not None:
4228
+ _query_params.append(("mode", mode.value))
4229
+
4230
+ # process the header parameters
4231
+ # process the form parameters
4232
+ # process the body parameter
4233
+
4234
+ # set the HTTP header `Accept`
4235
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
4236
+
4237
+ # authentication setting
4238
+ _auth_settings: List[str] = ["BearerAuth"]
4239
+
4240
+ return self.api_client.param_serialize(
4241
+ method="PUT",
4242
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/operationmode",
4243
+ path_params=_path_params,
4244
+ query_params=_query_params,
4245
+ header_params=_header_params,
4246
+ body=_body_params,
4247
+ post_params=_form_params,
4248
+ files=_files,
4249
+ auth_settings=_auth_settings,
4250
+ collection_formats=_collection_formats,
4251
+ _host=_host,
4252
+ _request_auth=_request_auth,
4253
+ )
4254
+
4255
+ @validate_call
4256
+ async def set_virtual_controller_mounting(
4257
+ self,
4258
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
4259
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
4260
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
4261
+ coordinate_system: CoordinateSystem,
4262
+ _request_timeout: Union[
4263
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
4264
+ ] = None,
4265
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4266
+ _content_type: Optional[StrictStr] = None,
4267
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4268
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4269
+ ) -> CoordinateSystem:
4270
+ """Set Mounting
4271
+
4272
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Sets the motion group mounting by specifying a coordinate system. The motion group will be based on the coordinate system's origin. The coordinate system defines a transformation offset, which consists of: - A unique identifier - A user-facing name - An offset in another coordinate system, referenced by the unique identifier of the reference coordinate system. <!-- theme: info --> > #### Changing the mounting configuration is considered a setup change > > When the mounting is set to a new coordinate system, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or not reflect the new mounting immediately. > - Motion group state and coordinate system alignment may not be immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the updated mounting may not yet be visible.
4273
+
4274
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
4275
+ :type cell: str
4276
+ :param controller: Unique identifier to address a controller in the cell. (required)
4277
+ :type controller: str
4278
+ :param motion_group: The motion-group identifier. (required)
4279
+ :type motion_group: str
4280
+ :param coordinate_system: (required)
4281
+ :type coordinate_system: CoordinateSystem
4282
+ :param _request_timeout: timeout setting for this request. If one
4283
+ number provided, it will be total request
4284
+ timeout. It can also be a pair (tuple) of
4285
+ (connection, read) timeouts.
4286
+ :type _request_timeout: int, tuple(int, int), optional
4287
+ :param _request_auth: set to override the auth_settings for an a single
4288
+ request; this effectively ignores the
4289
+ authentication in the spec for a single request.
4290
+ :type _request_auth: dict, optional
4291
+ :param _content_type: force content-type for the request.
4292
+ :type _content_type: str, Optional
4293
+ :param _headers: set to override the headers for a single
4294
+ request; this effectively ignores the headers
4295
+ in the spec for a single request.
4296
+ :type _headers: dict, optional
4297
+ :param _host_index: set to override the host_index for a single
4298
+ request; this effectively ignores the host_index
4299
+ in the spec for a single request.
4300
+ :type _host_index: int, optional
4301
+ :return: Returns the result object.
4302
+ """ # noqa: E501
4303
+
4304
+ _param = self._set_virtual_controller_mounting_serialize(
4305
+ cell=cell,
4306
+ controller=controller,
4307
+ motion_group=motion_group,
4308
+ coordinate_system=coordinate_system,
4309
+ _request_auth=_request_auth,
4310
+ _content_type=_content_type,
4311
+ _headers=_headers,
4312
+ _host_index=_host_index,
4313
+ )
4314
+
4315
+ _response_types_map: Dict[str, Optional[str]] = {
4316
+ "200": "CoordinateSystem",
4317
+ "400": "Error",
4318
+ "404": "Error",
4319
+ }
4320
+
4321
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
4322
+ await response_data.read()
4323
+ return self.api_client.response_deserialize(
4324
+ response_data=response_data,
4325
+ response_types_map=_response_types_map,
4326
+ ).data
4327
+
4328
+ @validate_call
4329
+ async def set_virtual_controller_mounting_with_http_info(
4330
+ self,
4331
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
4332
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
4333
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
4334
+ coordinate_system: CoordinateSystem,
4335
+ _request_timeout: Union[
4336
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
4337
+ ] = None,
4338
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4339
+ _content_type: Optional[StrictStr] = None,
4340
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4341
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4342
+ ) -> ApiResponse[CoordinateSystem]:
4343
+ """Set Mounting
4344
+
4345
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Sets the motion group mounting by specifying a coordinate system. The motion group will be based on the coordinate system's origin. The coordinate system defines a transformation offset, which consists of: - A unique identifier - A user-facing name - An offset in another coordinate system, referenced by the unique identifier of the reference coordinate system. <!-- theme: info --> > #### Changing the mounting configuration is considered a setup change > > When the mounting is set to a new coordinate system, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or not reflect the new mounting immediately. > - Motion group state and coordinate system alignment may not be immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the updated mounting may not yet be visible.
4346
+
4347
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
4348
+ :type cell: str
4349
+ :param controller: Unique identifier to address a controller in the cell. (required)
4350
+ :type controller: str
4351
+ :param motion_group: The motion-group identifier. (required)
4352
+ :type motion_group: str
4353
+ :param coordinate_system: (required)
4354
+ :type coordinate_system: CoordinateSystem
4355
+ :param _request_timeout: timeout setting for this request. If one
4356
+ number provided, it will be total request
4357
+ timeout. It can also be a pair (tuple) of
4358
+ (connection, read) timeouts.
4359
+ :type _request_timeout: int, tuple(int, int), optional
4360
+ :param _request_auth: set to override the auth_settings for an a single
4361
+ request; this effectively ignores the
4362
+ authentication in the spec for a single request.
4363
+ :type _request_auth: dict, optional
4364
+ :param _content_type: force content-type for the request.
4365
+ :type _content_type: str, Optional
4366
+ :param _headers: set to override the headers for a single
4367
+ request; this effectively ignores the headers
4368
+ in the spec for a single request.
4369
+ :type _headers: dict, optional
4370
+ :param _host_index: set to override the host_index for a single
4371
+ request; this effectively ignores the host_index
4372
+ in the spec for a single request.
4373
+ :type _host_index: int, optional
4374
+ :return: Returns the result object.
4375
+ """ # noqa: E501
4376
+
4377
+ _param = self._set_virtual_controller_mounting_serialize(
4378
+ cell=cell,
4379
+ controller=controller,
4380
+ motion_group=motion_group,
4381
+ coordinate_system=coordinate_system,
4382
+ _request_auth=_request_auth,
4383
+ _content_type=_content_type,
4384
+ _headers=_headers,
4385
+ _host_index=_host_index,
4386
+ )
4387
+
4388
+ _response_types_map: Dict[str, Optional[str]] = {
4389
+ "200": "CoordinateSystem",
4390
+ "400": "Error",
4391
+ "404": "Error",
4392
+ }
4393
+
4394
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
4395
+ await response_data.read()
4396
+ return self.api_client.response_deserialize(
4397
+ response_data=response_data,
4398
+ response_types_map=_response_types_map,
4399
+ )
4400
+
4401
+ @validate_call
4402
+ async def set_virtual_controller_mounting_without_preload_content(
4403
+ self,
4404
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
4405
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
4406
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
4407
+ coordinate_system: CoordinateSystem,
4408
+ _request_timeout: Union[
4409
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
4410
+ ] = None,
4411
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4412
+ _content_type: Optional[StrictStr] = None,
4413
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4414
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4415
+ ) -> RESTResponseType:
4416
+ """Set Mounting
4417
+
4418
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Sets the motion group mounting by specifying a coordinate system. The motion group will be based on the coordinate system's origin. The coordinate system defines a transformation offset, which consists of: - A unique identifier - A user-facing name - An offset in another coordinate system, referenced by the unique identifier of the reference coordinate system. <!-- theme: info --> > #### Changing the mounting configuration is considered a setup change > > When the mounting is set to a new coordinate system, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or not reflect the new mounting immediately. > - Motion group state and coordinate system alignment may not be immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the updated mounting may not yet be visible.
4419
+
4420
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
4421
+ :type cell: str
4422
+ :param controller: Unique identifier to address a controller in the cell. (required)
4423
+ :type controller: str
4424
+ :param motion_group: The motion-group identifier. (required)
4425
+ :type motion_group: str
4426
+ :param coordinate_system: (required)
4427
+ :type coordinate_system: CoordinateSystem
4428
+ :param _request_timeout: timeout setting for this request. If one
4429
+ number provided, it will be total request
4430
+ timeout. It can also be a pair (tuple) of
4431
+ (connection, read) timeouts.
4432
+ :type _request_timeout: int, tuple(int, int), optional
4433
+ :param _request_auth: set to override the auth_settings for an a single
4434
+ request; this effectively ignores the
4435
+ authentication in the spec for a single request.
4436
+ :type _request_auth: dict, optional
4437
+ :param _content_type: force content-type for the request.
4438
+ :type _content_type: str, Optional
4439
+ :param _headers: set to override the headers for a single
4440
+ request; this effectively ignores the headers
4441
+ in the spec for a single request.
4442
+ :type _headers: dict, optional
4443
+ :param _host_index: set to override the host_index for a single
4444
+ request; this effectively ignores the host_index
4445
+ in the spec for a single request.
4446
+ :type _host_index: int, optional
4447
+ :return: Returns the result object.
4448
+ """ # noqa: E501
4449
+
4450
+ _param = self._set_virtual_controller_mounting_serialize(
4451
+ cell=cell,
4452
+ controller=controller,
4453
+ motion_group=motion_group,
4454
+ coordinate_system=coordinate_system,
4455
+ _request_auth=_request_auth,
4456
+ _content_type=_content_type,
4457
+ _headers=_headers,
4458
+ _host_index=_host_index,
4459
+ )
4460
+
4461
+ _response_types_map: Dict[str, Optional[str]] = {
4462
+ "200": "CoordinateSystem",
4463
+ "400": "Error",
4464
+ "404": "Error",
4465
+ }
4466
+
4467
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
4468
+ return response_data.response
4469
+
4470
+ def _set_virtual_controller_mounting_serialize(
4471
+ self,
4472
+ cell,
4473
+ controller,
4474
+ motion_group,
4475
+ coordinate_system,
4476
+ _request_auth,
4477
+ _content_type,
4478
+ _headers,
4479
+ _host_index,
4480
+ ) -> RequestSerialized:
4481
+
4482
+ _host = None
4483
+
4484
+ _collection_formats: Dict[str, str] = {}
4485
+
4486
+ _path_params: Dict[str, str] = {}
4487
+ _query_params: List[Tuple[str, str]] = []
4488
+ _header_params: Dict[str, Optional[str]] = _headers or {}
4489
+ _form_params: List[Tuple[str, str]] = []
4490
+ _files: Dict[str, Union[str, bytes]] = {}
4491
+ _body_params: Optional[bytes] = None
4492
+
4493
+ # process the path parameters
4494
+ if cell is not None:
4495
+ _path_params["cell"] = cell
4496
+ if controller is not None:
4497
+ _path_params["controller"] = controller
4498
+ if motion_group is not None:
4499
+ _path_params["motion-group"] = motion_group
4500
+ # process the query parameters
4501
+ # process the header parameters
4502
+ # process the form parameters
4503
+ # process the body parameter
4504
+ if coordinate_system is not None:
4505
+ _body_params = coordinate_system
4506
+
4507
+ # set the HTTP header `Accept`
4508
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
4509
+
4510
+ # set the HTTP header `Content-Type`
4511
+ if _content_type:
4512
+ _header_params["Content-Type"] = _content_type
4513
+ else:
4514
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
4515
+ if _default_content_type is not None:
4516
+ _header_params["Content-Type"] = _default_content_type
4517
+
4518
+ # authentication setting
4519
+ _auth_settings: List[str] = ["BearerAuth"]
4520
+
4521
+ return self.api_client.param_serialize(
4522
+ method="PUT",
4523
+ resource_path="/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/mounting",
4524
+ path_params=_path_params,
4525
+ query_params=_query_params,
4526
+ header_params=_header_params,
4527
+ body=_body_params,
4528
+ post_params=_form_params,
4529
+ files=_files,
4530
+ auth_settings=_auth_settings,
4531
+ collection_formats=_collection_formats,
4532
+ _host=_host,
4533
+ _request_auth=_request_auth,
4534
+ )