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,2116 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Wandelbots NOVA API
5
+
6
+ Interact with robots in an easy and intuitive way.
7
+
8
+ The version of the OpenAPI document: 1.4.0 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, StrictInt, StrictStr
26
+ from typing import Any, Dict, Optional
27
+ from typing_extensions import Annotated
28
+ from wandelbots_api_client.models.coordinate_system import CoordinateSystem
29
+ from wandelbots_api_client.models.coordinate_systems import CoordinateSystems
30
+ from wandelbots_api_client.models.robot_tcp import RobotTcp
31
+ from wandelbots_api_client.models.robot_tcps import RobotTcps
32
+
33
+ from wandelbots_api_client.api_client import ApiClient, RequestSerialized
34
+ from wandelbots_api_client.api_response import ApiResponse
35
+ from wandelbots_api_client.rest import RESTResponseType
36
+
37
+
38
+ class VirtualRobotSetupApi:
39
+ """NOTE: This class is auto generated by OpenAPI Generator
40
+ Ref: https://openapi-generator.tech
41
+
42
+ Do not edit the class manually.
43
+ """
44
+
45
+ def __init__(self, api_client=None) -> None:
46
+ if api_client is None:
47
+ api_client = ApiClient.get_default()
48
+ self.api_client = api_client
49
+
50
+ @validate_call
51
+ async def add_virtual_robot_coordinate_system(
52
+ self,
53
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
54
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
55
+ coordinate_system: CoordinateSystem,
56
+ _request_timeout: Union[
57
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
58
+ ] = None,
59
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
60
+ _content_type: Optional[StrictStr] = None,
61
+ _headers: Optional[Dict[StrictStr, Any]] = None,
62
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
63
+ ) -> object:
64
+ """Add Coordinate Systems
65
+
66
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a coordinate system to the robot controller. > **NOTE** > > Upon adding or removing a coordinate system, virtual robots are restarted to apply the new configuration. > What happens during restart: > - Robot visualization may temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - Existing connections to the virtual robot are closed and re-established, which introduces a short delay before NOVA is fully operational again. > > The API call itself **does not wait until the restart and synchronization are complete**. This means that > immediately after a successful response, the new coordinate system may not be available for visualization or program execution.
67
+
68
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
69
+ :type cell: str
70
+ :param controller: Unique identifier to address a controller in the cell. (required)
71
+ :type controller: str
72
+ :param coordinate_system: (required)
73
+ :type coordinate_system: CoordinateSystem
74
+ :param _request_timeout: timeout setting for this request. If one
75
+ number provided, it will be total request
76
+ timeout. It can also be a pair (tuple) of
77
+ (connection, read) timeouts.
78
+ :type _request_timeout: int, tuple(int, int), optional
79
+ :param _request_auth: set to override the auth_settings for an a single
80
+ request; this effectively ignores the
81
+ authentication in the spec for a single request.
82
+ :type _request_auth: dict, optional
83
+ :param _content_type: force content-type for the request.
84
+ :type _content_type: str, Optional
85
+ :param _headers: set to override the headers for a single
86
+ request; this effectively ignores the headers
87
+ in the spec for a single request.
88
+ :type _headers: dict, optional
89
+ :param _host_index: set to override the host_index for a single
90
+ request; this effectively ignores the host_index
91
+ in the spec for a single request.
92
+ :type _host_index: int, optional
93
+ :return: Returns the result object.
94
+ """ # noqa: E501
95
+
96
+ _param = self._add_virtual_robot_coordinate_system_serialize(
97
+ cell=cell,
98
+ controller=controller,
99
+ coordinate_system=coordinate_system,
100
+ _request_auth=_request_auth,
101
+ _content_type=_content_type,
102
+ _headers=_headers,
103
+ _host_index=_host_index,
104
+ )
105
+
106
+ _response_types_map: Dict[str, Optional[str]] = {
107
+ "200": "object",
108
+ }
109
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
110
+ await response_data.read()
111
+ return self.api_client.response_deserialize(
112
+ response_data=response_data,
113
+ response_types_map=_response_types_map,
114
+ ).data
115
+
116
+ @validate_call
117
+ async def add_virtual_robot_coordinate_system_with_http_info(
118
+ self,
119
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
120
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
121
+ coordinate_system: CoordinateSystem,
122
+ _request_timeout: Union[
123
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
124
+ ] = None,
125
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
126
+ _content_type: Optional[StrictStr] = None,
127
+ _headers: Optional[Dict[StrictStr, Any]] = None,
128
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
129
+ ) -> ApiResponse[object]:
130
+ """Add Coordinate Systems
131
+
132
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a coordinate system to the robot controller. > **NOTE** > > Upon adding or removing a coordinate system, virtual robots are restarted to apply the new configuration. > What happens during restart: > - Robot visualization may temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - Existing connections to the virtual robot are closed and re-established, which introduces a short delay before NOVA is fully operational again. > > The API call itself **does not wait until the restart and synchronization are complete**. This means that > immediately after a successful response, the new coordinate system may not be available for visualization or program execution.
133
+
134
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
135
+ :type cell: str
136
+ :param controller: Unique identifier to address a controller in the cell. (required)
137
+ :type controller: str
138
+ :param coordinate_system: (required)
139
+ :type coordinate_system: CoordinateSystem
140
+ :param _request_timeout: timeout setting for this request. If one
141
+ number provided, it will be total request
142
+ timeout. It can also be a pair (tuple) of
143
+ (connection, read) timeouts.
144
+ :type _request_timeout: int, tuple(int, int), optional
145
+ :param _request_auth: set to override the auth_settings for an a single
146
+ request; this effectively ignores the
147
+ authentication in the spec for a single request.
148
+ :type _request_auth: dict, optional
149
+ :param _content_type: force content-type for the request.
150
+ :type _content_type: str, Optional
151
+ :param _headers: set to override the headers for a single
152
+ request; this effectively ignores the headers
153
+ in the spec for a single request.
154
+ :type _headers: dict, optional
155
+ :param _host_index: set to override the host_index for a single
156
+ request; this effectively ignores the host_index
157
+ in the spec for a single request.
158
+ :type _host_index: int, optional
159
+ :return: Returns the result object.
160
+ """ # noqa: E501
161
+
162
+ _param = self._add_virtual_robot_coordinate_system_serialize(
163
+ cell=cell,
164
+ controller=controller,
165
+ coordinate_system=coordinate_system,
166
+ _request_auth=_request_auth,
167
+ _content_type=_content_type,
168
+ _headers=_headers,
169
+ _host_index=_host_index,
170
+ )
171
+
172
+ _response_types_map: Dict[str, Optional[str]] = {
173
+ "200": "object",
174
+ }
175
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
176
+ await response_data.read()
177
+ return self.api_client.response_deserialize(
178
+ response_data=response_data,
179
+ response_types_map=_response_types_map,
180
+ )
181
+
182
+ @validate_call
183
+ async def add_virtual_robot_coordinate_system_without_preload_content(
184
+ self,
185
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
186
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
187
+ coordinate_system: CoordinateSystem,
188
+ _request_timeout: Union[
189
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
190
+ ] = None,
191
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
192
+ _content_type: Optional[StrictStr] = None,
193
+ _headers: Optional[Dict[StrictStr, Any]] = None,
194
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
195
+ ) -> RESTResponseType:
196
+ """Add Coordinate Systems
197
+
198
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a coordinate system to the robot controller. > **NOTE** > > Upon adding or removing a coordinate system, virtual robots are restarted to apply the new configuration. > What happens during restart: > - Robot visualization may temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - Existing connections to the virtual robot are closed and re-established, which introduces a short delay before NOVA is fully operational again. > > The API call itself **does not wait until the restart and synchronization are complete**. This means that > immediately after a successful response, the new coordinate system may not be available for visualization or program execution.
199
+
200
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
201
+ :type cell: str
202
+ :param controller: Unique identifier to address a controller in the cell. (required)
203
+ :type controller: str
204
+ :param coordinate_system: (required)
205
+ :type coordinate_system: CoordinateSystem
206
+ :param _request_timeout: timeout setting for this request. If one
207
+ number provided, it will be total request
208
+ timeout. It can also be a pair (tuple) of
209
+ (connection, read) timeouts.
210
+ :type _request_timeout: int, tuple(int, int), optional
211
+ :param _request_auth: set to override the auth_settings for an a single
212
+ request; this effectively ignores the
213
+ authentication in the spec for a single request.
214
+ :type _request_auth: dict, optional
215
+ :param _content_type: force content-type for the request.
216
+ :type _content_type: str, Optional
217
+ :param _headers: set to override the headers for a single
218
+ request; this effectively ignores the headers
219
+ in the spec for a single request.
220
+ :type _headers: dict, optional
221
+ :param _host_index: set to override the host_index for a single
222
+ request; this effectively ignores the host_index
223
+ in the spec for a single request.
224
+ :type _host_index: int, optional
225
+ :return: Returns the result object.
226
+ """ # noqa: E501
227
+
228
+ _param = self._add_virtual_robot_coordinate_system_serialize(
229
+ cell=cell,
230
+ controller=controller,
231
+ coordinate_system=coordinate_system,
232
+ _request_auth=_request_auth,
233
+ _content_type=_content_type,
234
+ _headers=_headers,
235
+ _host_index=_host_index,
236
+ )
237
+
238
+ _response_types_map: Dict[str, Optional[str]] = {
239
+ "200": "object",
240
+ }
241
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
242
+ return response_data.response
243
+
244
+ def _add_virtual_robot_coordinate_system_serialize(
245
+ self,
246
+ cell,
247
+ controller,
248
+ coordinate_system,
249
+ _request_auth,
250
+ _content_type,
251
+ _headers,
252
+ _host_index,
253
+ ) -> RequestSerialized:
254
+
255
+ _host = None
256
+
257
+ _collection_formats: Dict[str, str] = {}
258
+
259
+ _path_params: Dict[str, str] = {}
260
+ _query_params: List[Tuple[str, str]] = []
261
+ _header_params: Dict[str, Optional[str]] = _headers or {}
262
+ _form_params: List[Tuple[str, str]] = []
263
+ _files: Dict[str, Union[str, bytes]] = {}
264
+ _body_params: Optional[bytes] = None
265
+
266
+ # process the path parameters
267
+ if cell is not None:
268
+ _path_params["cell"] = cell
269
+ if controller is not None:
270
+ _path_params["controller"] = controller
271
+ # process the query parameters
272
+ # process the header parameters
273
+ # process the form parameters
274
+ # process the body parameter
275
+ if coordinate_system is not None:
276
+ _body_params = coordinate_system
277
+
278
+ # set the HTTP header `Accept`
279
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
280
+
281
+ # set the HTTP header `Content-Type`
282
+ if _content_type:
283
+ _header_params["Content-Type"] = _content_type
284
+ else:
285
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
286
+ if _default_content_type is not None:
287
+ _header_params["Content-Type"] = _default_content_type
288
+
289
+ # authentication setting
290
+ _auth_settings: List[str] = ["BearerAuth"]
291
+
292
+ return self.api_client.param_serialize(
293
+ method="PUT",
294
+ resource_path="/cells/{cell}/controllers/{controller}/teach-pendant/coordinate-systems",
295
+ path_params=_path_params,
296
+ query_params=_query_params,
297
+ header_params=_header_params,
298
+ body=_body_params,
299
+ post_params=_form_params,
300
+ files=_files,
301
+ auth_settings=_auth_settings,
302
+ collection_formats=_collection_formats,
303
+ _host=_host,
304
+ _request_auth=_request_auth,
305
+ )
306
+
307
+ @validate_call
308
+ async def add_virtual_robot_tcp(
309
+ self,
310
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
311
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
312
+ id: Annotated[StrictInt, Field(description="The controller specific motion-group id.")],
313
+ robot_tcp: RobotTcp,
314
+ _request_timeout: Union[
315
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
316
+ ] = None,
317
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
318
+ _content_type: Optional[StrictStr] = None,
319
+ _headers: Optional[Dict[StrictStr, Any]] = None,
320
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
321
+ ) -> object:
322
+ """Add TCP
323
+
324
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a new [TCP](https://docs.wandelbots.io/latest/vocabulary#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. > **NOTE** > Upon adding or updating a TCP, virtual robots are restarted to apply the new configuration. > What happens during restart: > - Robot visualization may temporarily disappear. > - TCP visualization may be delayed or outdated during the first run. > - Existing connections to the virtual robot are closed and re-established, which introduces a short delay before the TCP is available for use. > > The API call itself **does not wait until the restart and synchronization are complete**. This means that > immediately after a successful response, the TCP may not be available for visualization or program execution.
325
+
326
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
327
+ :type cell: str
328
+ :param controller: Unique identifier to address a controller in the cell. (required)
329
+ :type controller: str
330
+ :param id: The controller specific motion-group id. (required)
331
+ :type id: int
332
+ :param robot_tcp: (required)
333
+ :type robot_tcp: RobotTcp
334
+ :param _request_timeout: timeout setting for this request. If one
335
+ number provided, it will be total request
336
+ timeout. It can also be a pair (tuple) of
337
+ (connection, read) timeouts.
338
+ :type _request_timeout: int, tuple(int, int), optional
339
+ :param _request_auth: set to override the auth_settings for an a single
340
+ request; this effectively ignores the
341
+ authentication in the spec for a single request.
342
+ :type _request_auth: dict, optional
343
+ :param _content_type: force content-type for the request.
344
+ :type _content_type: str, Optional
345
+ :param _headers: set to override the headers for a single
346
+ request; this effectively ignores the headers
347
+ in the spec for a single request.
348
+ :type _headers: dict, optional
349
+ :param _host_index: set to override the host_index for a single
350
+ request; this effectively ignores the host_index
351
+ in the spec for a single request.
352
+ :type _host_index: int, optional
353
+ :return: Returns the result object.
354
+ """ # noqa: E501
355
+
356
+ _param = self._add_virtual_robot_tcp_serialize(
357
+ cell=cell,
358
+ controller=controller,
359
+ id=id,
360
+ robot_tcp=robot_tcp,
361
+ _request_auth=_request_auth,
362
+ _content_type=_content_type,
363
+ _headers=_headers,
364
+ _host_index=_host_index,
365
+ )
366
+
367
+ _response_types_map: Dict[str, Optional[str]] = {
368
+ "200": "object",
369
+ }
370
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
371
+ await response_data.read()
372
+ return self.api_client.response_deserialize(
373
+ response_data=response_data,
374
+ response_types_map=_response_types_map,
375
+ ).data
376
+
377
+ @validate_call
378
+ async def add_virtual_robot_tcp_with_http_info(
379
+ self,
380
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
381
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
382
+ id: Annotated[StrictInt, Field(description="The controller specific motion-group id.")],
383
+ robot_tcp: RobotTcp,
384
+ _request_timeout: Union[
385
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
386
+ ] = None,
387
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
388
+ _content_type: Optional[StrictStr] = None,
389
+ _headers: Optional[Dict[StrictStr, Any]] = None,
390
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
391
+ ) -> ApiResponse[object]:
392
+ """Add TCP
393
+
394
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a new [TCP](https://docs.wandelbots.io/latest/vocabulary#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. > **NOTE** > Upon adding or updating a TCP, virtual robots are restarted to apply the new configuration. > What happens during restart: > - Robot visualization may temporarily disappear. > - TCP visualization may be delayed or outdated during the first run. > - Existing connections to the virtual robot are closed and re-established, which introduces a short delay before the TCP is available for use. > > The API call itself **does not wait until the restart and synchronization are complete**. This means that > immediately after a successful response, the TCP may not be available for visualization or program execution.
395
+
396
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
397
+ :type cell: str
398
+ :param controller: Unique identifier to address a controller in the cell. (required)
399
+ :type controller: str
400
+ :param id: The controller specific motion-group id. (required)
401
+ :type id: int
402
+ :param robot_tcp: (required)
403
+ :type robot_tcp: RobotTcp
404
+ :param _request_timeout: timeout setting for this request. If one
405
+ number provided, it will be total request
406
+ timeout. It can also be a pair (tuple) of
407
+ (connection, read) timeouts.
408
+ :type _request_timeout: int, tuple(int, int), optional
409
+ :param _request_auth: set to override the auth_settings for an a single
410
+ request; this effectively ignores the
411
+ authentication in the spec for a single request.
412
+ :type _request_auth: dict, optional
413
+ :param _content_type: force content-type for the request.
414
+ :type _content_type: str, Optional
415
+ :param _headers: set to override the headers for a single
416
+ request; this effectively ignores the headers
417
+ in the spec for a single request.
418
+ :type _headers: dict, optional
419
+ :param _host_index: set to override the host_index for a single
420
+ request; this effectively ignores the host_index
421
+ in the spec for a single request.
422
+ :type _host_index: int, optional
423
+ :return: Returns the result object.
424
+ """ # noqa: E501
425
+
426
+ _param = self._add_virtual_robot_tcp_serialize(
427
+ cell=cell,
428
+ controller=controller,
429
+ id=id,
430
+ robot_tcp=robot_tcp,
431
+ _request_auth=_request_auth,
432
+ _content_type=_content_type,
433
+ _headers=_headers,
434
+ _host_index=_host_index,
435
+ )
436
+
437
+ _response_types_map: Dict[str, Optional[str]] = {
438
+ "200": "object",
439
+ }
440
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
441
+ await response_data.read()
442
+ return self.api_client.response_deserialize(
443
+ response_data=response_data,
444
+ response_types_map=_response_types_map,
445
+ )
446
+
447
+ @validate_call
448
+ async def add_virtual_robot_tcp_without_preload_content(
449
+ self,
450
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
451
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
452
+ id: Annotated[StrictInt, Field(description="The controller specific motion-group id.")],
453
+ robot_tcp: RobotTcp,
454
+ _request_timeout: Union[
455
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
456
+ ] = None,
457
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
458
+ _content_type: Optional[StrictStr] = None,
459
+ _headers: Optional[Dict[StrictStr, Any]] = None,
460
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
461
+ ) -> RESTResponseType:
462
+ """Add TCP
463
+
464
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Adds a new [TCP](https://docs.wandelbots.io/latest/vocabulary#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. > **NOTE** > Upon adding or updating a TCP, virtual robots are restarted to apply the new configuration. > What happens during restart: > - Robot visualization may temporarily disappear. > - TCP visualization may be delayed or outdated during the first run. > - Existing connections to the virtual robot are closed and re-established, which introduces a short delay before the TCP is available for use. > > The API call itself **does not wait until the restart and synchronization are complete**. This means that > immediately after a successful response, the TCP may not be available for visualization or program execution.
465
+
466
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
467
+ :type cell: str
468
+ :param controller: Unique identifier to address a controller in the cell. (required)
469
+ :type controller: str
470
+ :param id: The controller specific motion-group id. (required)
471
+ :type id: int
472
+ :param robot_tcp: (required)
473
+ :type robot_tcp: RobotTcp
474
+ :param _request_timeout: timeout setting for this request. If one
475
+ number provided, it will be total request
476
+ timeout. It can also be a pair (tuple) of
477
+ (connection, read) timeouts.
478
+ :type _request_timeout: int, tuple(int, int), optional
479
+ :param _request_auth: set to override the auth_settings for an a single
480
+ request; this effectively ignores the
481
+ authentication in the spec for a single request.
482
+ :type _request_auth: dict, optional
483
+ :param _content_type: force content-type for the request.
484
+ :type _content_type: str, Optional
485
+ :param _headers: set to override the headers for a single
486
+ request; this effectively ignores the headers
487
+ in the spec for a single request.
488
+ :type _headers: dict, optional
489
+ :param _host_index: set to override the host_index for a single
490
+ request; this effectively ignores the host_index
491
+ in the spec for a single request.
492
+ :type _host_index: int, optional
493
+ :return: Returns the result object.
494
+ """ # noqa: E501
495
+
496
+ _param = self._add_virtual_robot_tcp_serialize(
497
+ cell=cell,
498
+ controller=controller,
499
+ id=id,
500
+ robot_tcp=robot_tcp,
501
+ _request_auth=_request_auth,
502
+ _content_type=_content_type,
503
+ _headers=_headers,
504
+ _host_index=_host_index,
505
+ )
506
+
507
+ _response_types_map: Dict[str, Optional[str]] = {
508
+ "200": "object",
509
+ }
510
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
511
+ return response_data.response
512
+
513
+ def _add_virtual_robot_tcp_serialize(
514
+ self,
515
+ cell,
516
+ controller,
517
+ id,
518
+ robot_tcp,
519
+ _request_auth,
520
+ _content_type,
521
+ _headers,
522
+ _host_index,
523
+ ) -> RequestSerialized:
524
+
525
+ _host = None
526
+
527
+ _collection_formats: Dict[str, str] = {}
528
+
529
+ _path_params: Dict[str, str] = {}
530
+ _query_params: List[Tuple[str, str]] = []
531
+ _header_params: Dict[str, Optional[str]] = _headers or {}
532
+ _form_params: List[Tuple[str, str]] = []
533
+ _files: Dict[str, Union[str, bytes]] = {}
534
+ _body_params: Optional[bytes] = None
535
+
536
+ # process the path parameters
537
+ if cell is not None:
538
+ _path_params["cell"] = cell
539
+ if controller is not None:
540
+ _path_params["controller"] = controller
541
+ if id is not None:
542
+ _path_params["id"] = id
543
+ # process the query parameters
544
+ # process the header parameters
545
+ # process the form parameters
546
+ # process the body parameter
547
+ if robot_tcp is not None:
548
+ _body_params = robot_tcp
549
+
550
+ # set the HTTP header `Accept`
551
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
552
+
553
+ # set the HTTP header `Content-Type`
554
+ if _content_type:
555
+ _header_params["Content-Type"] = _content_type
556
+ else:
557
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
558
+ if _default_content_type is not None:
559
+ _header_params["Content-Type"] = _default_content_type
560
+
561
+ # authentication setting
562
+ _auth_settings: List[str] = ["BearerAuth"]
563
+
564
+ return self.api_client.param_serialize(
565
+ method="PUT",
566
+ resource_path="/cells/{cell}/controllers/{controller}/teach-pendant/motion-groups/{id}/tcps",
567
+ path_params=_path_params,
568
+ query_params=_query_params,
569
+ header_params=_header_params,
570
+ body=_body_params,
571
+ post_params=_form_params,
572
+ files=_files,
573
+ auth_settings=_auth_settings,
574
+ collection_formats=_collection_formats,
575
+ _host=_host,
576
+ _request_auth=_request_auth,
577
+ )
578
+
579
+ @validate_call
580
+ async def delete_virtual_robot_coordinate_system(
581
+ self,
582
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
583
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
584
+ coordinate_system: Annotated[StrictStr, Field(description="Unique identifier addressing a coordinate system.")],
585
+ delete_dependent: Annotated[
586
+ Optional[StrictBool], Field(description="If true, all dependent coordinate systems will be deleted as well.")
587
+ ] = None,
588
+ _request_timeout: Union[
589
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
590
+ ] = None,
591
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
592
+ _content_type: Optional[StrictStr] = None,
593
+ _headers: Optional[Dict[StrictStr, Any]] = None,
594
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
595
+ ) -> object:
596
+ """Remove Coordinate System
597
+
598
+ **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 which use the deleted coordinate system as a reference. **Important notes:** - When a new coordinate system is added/removed, the **virtual robot is restarted** in the background in order to apply the new configuration. - During this restart: - Robot visualization may temporarily disappear or appear outdated in the UI. - coordinate system changes are not immediately visible in visualizations. - All existing connections to the 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 > **NOTE** > > Upon adding or removing a coordinate system, virtual robots are restarted to apply the new configuration. > What happens during restart: > - Robot visualization may temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - Existing connections to the virtual robot are closed and re-established, which introduces a short delay before NOVA is fully operational again. > > The API call itself **does not wait until the restart and synchronization are complete**. This means that > immediately after a successful response, the new coordinate system may not be available for visualization or program execution.
599
+
600
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
601
+ :type cell: str
602
+ :param controller: Unique identifier to address a controller in the cell. (required)
603
+ :type controller: str
604
+ :param coordinate_system: Unique identifier addressing a coordinate system. (required)
605
+ :type coordinate_system: str
606
+ :param delete_dependent: If true, all dependent coordinate systems will be deleted as well.
607
+ :type delete_dependent: bool
608
+ :param _request_timeout: timeout setting for this request. If one
609
+ number provided, it will be total request
610
+ timeout. It can also be a pair (tuple) of
611
+ (connection, read) timeouts.
612
+ :type _request_timeout: int, tuple(int, int), optional
613
+ :param _request_auth: set to override the auth_settings for an a single
614
+ request; this effectively ignores the
615
+ authentication in the spec for a single request.
616
+ :type _request_auth: dict, optional
617
+ :param _content_type: force content-type for the request.
618
+ :type _content_type: str, Optional
619
+ :param _headers: set to override the headers for a single
620
+ request; this effectively ignores the headers
621
+ in the spec for a single request.
622
+ :type _headers: dict, optional
623
+ :param _host_index: set to override the host_index for a single
624
+ request; this effectively ignores the host_index
625
+ in the spec for a single request.
626
+ :type _host_index: int, optional
627
+ :return: Returns the result object.
628
+ """ # noqa: E501
629
+
630
+ _param = self._delete_virtual_robot_coordinate_system_serialize(
631
+ cell=cell,
632
+ controller=controller,
633
+ coordinate_system=coordinate_system,
634
+ delete_dependent=delete_dependent,
635
+ _request_auth=_request_auth,
636
+ _content_type=_content_type,
637
+ _headers=_headers,
638
+ _host_index=_host_index,
639
+ )
640
+
641
+ _response_types_map: Dict[str, Optional[str]] = {
642
+ "200": "object",
643
+ }
644
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
645
+ await response_data.read()
646
+ return self.api_client.response_deserialize(
647
+ response_data=response_data,
648
+ response_types_map=_response_types_map,
649
+ ).data
650
+
651
+ @validate_call
652
+ async def delete_virtual_robot_coordinate_system_with_http_info(
653
+ self,
654
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
655
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
656
+ coordinate_system: Annotated[StrictStr, Field(description="Unique identifier addressing a coordinate system.")],
657
+ delete_dependent: Annotated[
658
+ Optional[StrictBool], Field(description="If true, all dependent coordinate systems will be deleted as well.")
659
+ ] = None,
660
+ _request_timeout: Union[
661
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
662
+ ] = None,
663
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
664
+ _content_type: Optional[StrictStr] = None,
665
+ _headers: Optional[Dict[StrictStr, Any]] = None,
666
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
667
+ ) -> ApiResponse[object]:
668
+ """Remove Coordinate System
669
+
670
+ **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 which use the deleted coordinate system as a reference. **Important notes:** - When a new coordinate system is added/removed, the **virtual robot is restarted** in the background in order to apply the new configuration. - During this restart: - Robot visualization may temporarily disappear or appear outdated in the UI. - coordinate system changes are not immediately visible in visualizations. - All existing connections to the 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 > **NOTE** > > Upon adding or removing a coordinate system, virtual robots are restarted to apply the new configuration. > What happens during restart: > - Robot visualization may temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - Existing connections to the virtual robot are closed and re-established, which introduces a short delay before NOVA is fully operational again. > > The API call itself **does not wait until the restart and synchronization are complete**. This means that > immediately after a successful response, the new coordinate system may not be available for visualization or program execution.
671
+
672
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
673
+ :type cell: str
674
+ :param controller: Unique identifier to address a controller in the cell. (required)
675
+ :type controller: str
676
+ :param coordinate_system: Unique identifier addressing a coordinate system. (required)
677
+ :type coordinate_system: str
678
+ :param delete_dependent: If true, all dependent coordinate systems will be deleted as well.
679
+ :type delete_dependent: bool
680
+ :param _request_timeout: timeout setting for this request. If one
681
+ number provided, it will be total request
682
+ timeout. It can also be a pair (tuple) of
683
+ (connection, read) timeouts.
684
+ :type _request_timeout: int, tuple(int, int), optional
685
+ :param _request_auth: set to override the auth_settings for an a single
686
+ request; this effectively ignores the
687
+ authentication in the spec for a single request.
688
+ :type _request_auth: dict, optional
689
+ :param _content_type: force content-type for the request.
690
+ :type _content_type: str, Optional
691
+ :param _headers: set to override the headers for a single
692
+ request; this effectively ignores the headers
693
+ in the spec for a single request.
694
+ :type _headers: dict, optional
695
+ :param _host_index: set to override the host_index for a single
696
+ request; this effectively ignores the host_index
697
+ in the spec for a single request.
698
+ :type _host_index: int, optional
699
+ :return: Returns the result object.
700
+ """ # noqa: E501
701
+
702
+ _param = self._delete_virtual_robot_coordinate_system_serialize(
703
+ cell=cell,
704
+ controller=controller,
705
+ coordinate_system=coordinate_system,
706
+ delete_dependent=delete_dependent,
707
+ _request_auth=_request_auth,
708
+ _content_type=_content_type,
709
+ _headers=_headers,
710
+ _host_index=_host_index,
711
+ )
712
+
713
+ _response_types_map: Dict[str, Optional[str]] = {
714
+ "200": "object",
715
+ }
716
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
717
+ await response_data.read()
718
+ return self.api_client.response_deserialize(
719
+ response_data=response_data,
720
+ response_types_map=_response_types_map,
721
+ )
722
+
723
+ @validate_call
724
+ async def delete_virtual_robot_coordinate_system_without_preload_content(
725
+ self,
726
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
727
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
728
+ coordinate_system: Annotated[StrictStr, Field(description="Unique identifier addressing a coordinate system.")],
729
+ delete_dependent: Annotated[
730
+ Optional[StrictBool], Field(description="If true, all dependent coordinate systems will be deleted as well.")
731
+ ] = None,
732
+ _request_timeout: Union[
733
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
734
+ ] = None,
735
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
736
+ _content_type: Optional[StrictStr] = None,
737
+ _headers: Optional[Dict[StrictStr, Any]] = None,
738
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
739
+ ) -> RESTResponseType:
740
+ """Remove Coordinate System
741
+
742
+ **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 which use the deleted coordinate system as a reference. **Important notes:** - When a new coordinate system is added/removed, the **virtual robot is restarted** in the background in order to apply the new configuration. - During this restart: - Robot visualization may temporarily disappear or appear outdated in the UI. - coordinate system changes are not immediately visible in visualizations. - All existing connections to the 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 > **NOTE** > > Upon adding or removing a coordinate system, virtual robots are restarted to apply the new configuration. > What happens during restart: > - Robot visualization may temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - Existing connections to the virtual robot are closed and re-established, which introduces a short delay before NOVA is fully operational again. > > The API call itself **does not wait until the restart and synchronization are complete**. This means that > immediately after a successful response, the new coordinate system may not be available for visualization or program execution.
743
+
744
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
745
+ :type cell: str
746
+ :param controller: Unique identifier to address a controller in the cell. (required)
747
+ :type controller: str
748
+ :param coordinate_system: Unique identifier addressing a coordinate system. (required)
749
+ :type coordinate_system: str
750
+ :param delete_dependent: If true, all dependent coordinate systems will be deleted as well.
751
+ :type delete_dependent: bool
752
+ :param _request_timeout: timeout setting for this request. If one
753
+ number provided, it will be total request
754
+ timeout. It can also be a pair (tuple) of
755
+ (connection, read) timeouts.
756
+ :type _request_timeout: int, tuple(int, int), optional
757
+ :param _request_auth: set to override the auth_settings for an a single
758
+ request; this effectively ignores the
759
+ authentication in the spec for a single request.
760
+ :type _request_auth: dict, optional
761
+ :param _content_type: force content-type for the request.
762
+ :type _content_type: str, Optional
763
+ :param _headers: set to override the headers for a single
764
+ request; this effectively ignores the headers
765
+ in the spec for a single request.
766
+ :type _headers: dict, optional
767
+ :param _host_index: set to override the host_index for a single
768
+ request; this effectively ignores the host_index
769
+ in the spec for a single request.
770
+ :type _host_index: int, optional
771
+ :return: Returns the result object.
772
+ """ # noqa: E501
773
+
774
+ _param = self._delete_virtual_robot_coordinate_system_serialize(
775
+ cell=cell,
776
+ controller=controller,
777
+ coordinate_system=coordinate_system,
778
+ delete_dependent=delete_dependent,
779
+ _request_auth=_request_auth,
780
+ _content_type=_content_type,
781
+ _headers=_headers,
782
+ _host_index=_host_index,
783
+ )
784
+
785
+ _response_types_map: Dict[str, Optional[str]] = {
786
+ "200": "object",
787
+ }
788
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
789
+ return response_data.response
790
+
791
+ def _delete_virtual_robot_coordinate_system_serialize(
792
+ self,
793
+ cell,
794
+ controller,
795
+ coordinate_system,
796
+ delete_dependent,
797
+ _request_auth,
798
+ _content_type,
799
+ _headers,
800
+ _host_index,
801
+ ) -> RequestSerialized:
802
+
803
+ _host = None
804
+
805
+ _collection_formats: Dict[str, str] = {}
806
+
807
+ _path_params: Dict[str, str] = {}
808
+ _query_params: List[Tuple[str, str]] = []
809
+ _header_params: Dict[str, Optional[str]] = _headers or {}
810
+ _form_params: List[Tuple[str, str]] = []
811
+ _files: Dict[str, Union[str, bytes]] = {}
812
+ _body_params: Optional[bytes] = None
813
+
814
+ # process the path parameters
815
+ if cell is not None:
816
+ _path_params["cell"] = cell
817
+ if controller is not None:
818
+ _path_params["controller"] = controller
819
+ if coordinate_system is not None:
820
+ _path_params["coordinate-system"] = coordinate_system
821
+ # process the query parameters
822
+ if delete_dependent is not None:
823
+ _query_params.append(("delete_dependent", delete_dependent))
824
+
825
+ # process the header parameters
826
+ # process the form parameters
827
+ # process the body parameter
828
+
829
+ # set the HTTP header `Accept`
830
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
831
+
832
+ # authentication setting
833
+ _auth_settings: List[str] = ["BearerAuth"]
834
+
835
+ return self.api_client.param_serialize(
836
+ method="DELETE",
837
+ resource_path="/cells/{cell}/controllers/{controller}/teach-pendant/coordinate-systems/{coordinate-system}",
838
+ path_params=_path_params,
839
+ query_params=_query_params,
840
+ header_params=_header_params,
841
+ body=_body_params,
842
+ post_params=_form_params,
843
+ files=_files,
844
+ auth_settings=_auth_settings,
845
+ collection_formats=_collection_formats,
846
+ _host=_host,
847
+ _request_auth=_request_auth,
848
+ )
849
+
850
+ @validate_call
851
+ async def delete_virtual_robot_tcp(
852
+ self,
853
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
854
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
855
+ id: Annotated[StrictInt, Field(description="The controller specific motion-group id.")],
856
+ tcp: Annotated[StrictStr, Field(description="The unique identifier of a TCP.")],
857
+ _request_timeout: Union[
858
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
859
+ ] = None,
860
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
861
+ _content_type: Optional[StrictStr] = None,
862
+ _headers: Optional[Dict[StrictStr, Any]] = None,
863
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
864
+ ) -> object:
865
+ """Remove TCP
866
+
867
+ **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. > **NOTE** > Upon removing a TCP, virtual robots are restarted to apply the new configuration. > What happens during restart: > - Robot visualization may temporarily disappear. > - TCP visualization may be delayed or outdated during the first run. > - Existing connections to the virtual robot are closed and re-established, which introduces a short delay before the TCP is removed. > > The API call itself **does not wait until the restart and synchronization are complete**. This means that immediately after a successful response, the TCP may not be removed.
868
+
869
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
870
+ :type cell: str
871
+ :param controller: Unique identifier to address a controller in the cell. (required)
872
+ :type controller: str
873
+ :param id: The controller specific motion-group id. (required)
874
+ :type id: int
875
+ :param tcp: The unique identifier of a TCP. (required)
876
+ :type tcp: str
877
+ :param _request_timeout: timeout setting for this request. If one
878
+ number provided, it will be total request
879
+ timeout. It can also be a pair (tuple) of
880
+ (connection, read) timeouts.
881
+ :type _request_timeout: int, tuple(int, int), optional
882
+ :param _request_auth: set to override the auth_settings for an a single
883
+ request; this effectively ignores the
884
+ authentication in the spec for a single request.
885
+ :type _request_auth: dict, optional
886
+ :param _content_type: force content-type for the request.
887
+ :type _content_type: str, Optional
888
+ :param _headers: set to override the headers for a single
889
+ request; this effectively ignores the headers
890
+ in the spec for a single request.
891
+ :type _headers: dict, optional
892
+ :param _host_index: set to override the host_index for a single
893
+ request; this effectively ignores the host_index
894
+ in the spec for a single request.
895
+ :type _host_index: int, optional
896
+ :return: Returns the result object.
897
+ """ # noqa: E501
898
+
899
+ _param = self._delete_virtual_robot_tcp_serialize(
900
+ cell=cell,
901
+ controller=controller,
902
+ id=id,
903
+ tcp=tcp,
904
+ _request_auth=_request_auth,
905
+ _content_type=_content_type,
906
+ _headers=_headers,
907
+ _host_index=_host_index,
908
+ )
909
+
910
+ _response_types_map: Dict[str, Optional[str]] = {
911
+ "200": "object",
912
+ }
913
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
914
+ await response_data.read()
915
+ return self.api_client.response_deserialize(
916
+ response_data=response_data,
917
+ response_types_map=_response_types_map,
918
+ ).data
919
+
920
+ @validate_call
921
+ async def delete_virtual_robot_tcp_with_http_info(
922
+ self,
923
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
924
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
925
+ id: Annotated[StrictInt, Field(description="The controller specific motion-group id.")],
926
+ tcp: Annotated[StrictStr, Field(description="The unique identifier of a TCP.")],
927
+ _request_timeout: Union[
928
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
929
+ ] = None,
930
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
931
+ _content_type: Optional[StrictStr] = None,
932
+ _headers: Optional[Dict[StrictStr, Any]] = None,
933
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
934
+ ) -> ApiResponse[object]:
935
+ """Remove TCP
936
+
937
+ **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. > **NOTE** > Upon removing a TCP, virtual robots are restarted to apply the new configuration. > What happens during restart: > - Robot visualization may temporarily disappear. > - TCP visualization may be delayed or outdated during the first run. > - Existing connections to the virtual robot are closed and re-established, which introduces a short delay before the TCP is removed. > > The API call itself **does not wait until the restart and synchronization are complete**. This means that immediately after a successful response, the TCP may not be removed.
938
+
939
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
940
+ :type cell: str
941
+ :param controller: Unique identifier to address a controller in the cell. (required)
942
+ :type controller: str
943
+ :param id: The controller specific motion-group id. (required)
944
+ :type id: int
945
+ :param tcp: The unique identifier of a TCP. (required)
946
+ :type tcp: str
947
+ :param _request_timeout: timeout setting for this request. If one
948
+ number provided, it will be total request
949
+ timeout. It can also be a pair (tuple) of
950
+ (connection, read) timeouts.
951
+ :type _request_timeout: int, tuple(int, int), optional
952
+ :param _request_auth: set to override the auth_settings for an a single
953
+ request; this effectively ignores the
954
+ authentication in the spec for a single request.
955
+ :type _request_auth: dict, optional
956
+ :param _content_type: force content-type for the request.
957
+ :type _content_type: str, Optional
958
+ :param _headers: set to override the headers for a single
959
+ request; this effectively ignores the headers
960
+ in the spec for a single request.
961
+ :type _headers: dict, optional
962
+ :param _host_index: set to override the host_index for a single
963
+ request; this effectively ignores the host_index
964
+ in the spec for a single request.
965
+ :type _host_index: int, optional
966
+ :return: Returns the result object.
967
+ """ # noqa: E501
968
+
969
+ _param = self._delete_virtual_robot_tcp_serialize(
970
+ cell=cell,
971
+ controller=controller,
972
+ id=id,
973
+ tcp=tcp,
974
+ _request_auth=_request_auth,
975
+ _content_type=_content_type,
976
+ _headers=_headers,
977
+ _host_index=_host_index,
978
+ )
979
+
980
+ _response_types_map: Dict[str, Optional[str]] = {
981
+ "200": "object",
982
+ }
983
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
984
+ await response_data.read()
985
+ return self.api_client.response_deserialize(
986
+ response_data=response_data,
987
+ response_types_map=_response_types_map,
988
+ )
989
+
990
+ @validate_call
991
+ async def delete_virtual_robot_tcp_without_preload_content(
992
+ self,
993
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
994
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
995
+ id: Annotated[StrictInt, Field(description="The controller specific motion-group id.")],
996
+ tcp: Annotated[StrictStr, Field(description="The unique identifier of a TCP.")],
997
+ _request_timeout: Union[
998
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
999
+ ] = None,
1000
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1001
+ _content_type: Optional[StrictStr] = None,
1002
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1003
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1004
+ ) -> RESTResponseType:
1005
+ """Remove TCP
1006
+
1007
+ **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. > **NOTE** > Upon removing a TCP, virtual robots are restarted to apply the new configuration. > What happens during restart: > - Robot visualization may temporarily disappear. > - TCP visualization may be delayed or outdated during the first run. > - Existing connections to the virtual robot are closed and re-established, which introduces a short delay before the TCP is removed. > > The API call itself **does not wait until the restart and synchronization are complete**. This means that immediately after a successful response, the TCP may not be removed.
1008
+
1009
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1010
+ :type cell: str
1011
+ :param controller: Unique identifier to address a controller in the cell. (required)
1012
+ :type controller: str
1013
+ :param id: The controller specific motion-group id. (required)
1014
+ :type id: int
1015
+ :param tcp: The unique identifier of a TCP. (required)
1016
+ :type tcp: str
1017
+ :param _request_timeout: timeout setting for this request. If one
1018
+ number provided, it will be total request
1019
+ timeout. It can also be a pair (tuple) of
1020
+ (connection, read) timeouts.
1021
+ :type _request_timeout: int, tuple(int, int), optional
1022
+ :param _request_auth: set to override the auth_settings for an a single
1023
+ request; this effectively ignores the
1024
+ authentication in the spec for a single request.
1025
+ :type _request_auth: dict, optional
1026
+ :param _content_type: force content-type for the request.
1027
+ :type _content_type: str, Optional
1028
+ :param _headers: set to override the headers for a single
1029
+ request; this effectively ignores the headers
1030
+ in the spec for a single request.
1031
+ :type _headers: dict, optional
1032
+ :param _host_index: set to override the host_index for a single
1033
+ request; this effectively ignores the host_index
1034
+ in the spec for a single request.
1035
+ :type _host_index: int, optional
1036
+ :return: Returns the result object.
1037
+ """ # noqa: E501
1038
+
1039
+ _param = self._delete_virtual_robot_tcp_serialize(
1040
+ cell=cell,
1041
+ controller=controller,
1042
+ id=id,
1043
+ tcp=tcp,
1044
+ _request_auth=_request_auth,
1045
+ _content_type=_content_type,
1046
+ _headers=_headers,
1047
+ _host_index=_host_index,
1048
+ )
1049
+
1050
+ _response_types_map: Dict[str, Optional[str]] = {
1051
+ "200": "object",
1052
+ }
1053
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1054
+ return response_data.response
1055
+
1056
+ def _delete_virtual_robot_tcp_serialize(
1057
+ self,
1058
+ cell,
1059
+ controller,
1060
+ id,
1061
+ tcp,
1062
+ _request_auth,
1063
+ _content_type,
1064
+ _headers,
1065
+ _host_index,
1066
+ ) -> RequestSerialized:
1067
+
1068
+ _host = None
1069
+
1070
+ _collection_formats: Dict[str, str] = {}
1071
+
1072
+ _path_params: Dict[str, str] = {}
1073
+ _query_params: List[Tuple[str, str]] = []
1074
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1075
+ _form_params: List[Tuple[str, str]] = []
1076
+ _files: Dict[str, Union[str, bytes]] = {}
1077
+ _body_params: Optional[bytes] = None
1078
+
1079
+ # process the path parameters
1080
+ if cell is not None:
1081
+ _path_params["cell"] = cell
1082
+ if controller is not None:
1083
+ _path_params["controller"] = controller
1084
+ if id is not None:
1085
+ _path_params["id"] = id
1086
+ if tcp is not None:
1087
+ _path_params["tcp"] = tcp
1088
+ # process the query parameters
1089
+ # process the header parameters
1090
+ # process the form parameters
1091
+ # process the body parameter
1092
+
1093
+ # set the HTTP header `Accept`
1094
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1095
+
1096
+ # authentication setting
1097
+ _auth_settings: List[str] = ["BearerAuth"]
1098
+
1099
+ return self.api_client.param_serialize(
1100
+ method="DELETE",
1101
+ resource_path="/cells/{cell}/controllers/{controller}/teach-pendant/motion-groups/{id}/tcps/{tcp}",
1102
+ path_params=_path_params,
1103
+ query_params=_query_params,
1104
+ header_params=_header_params,
1105
+ body=_body_params,
1106
+ post_params=_form_params,
1107
+ files=_files,
1108
+ auth_settings=_auth_settings,
1109
+ collection_formats=_collection_formats,
1110
+ _host=_host,
1111
+ _request_auth=_request_auth,
1112
+ )
1113
+
1114
+ @validate_call
1115
+ async def get_virtual_robot_mounting(
1116
+ self,
1117
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1118
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1119
+ id: Annotated[StrictInt, Field(description="The controller specific motion-group id.")],
1120
+ _request_timeout: Union[
1121
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1122
+ ] = None,
1123
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1124
+ _content_type: Optional[StrictStr] = None,
1125
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1126
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1127
+ ) -> CoordinateSystem:
1128
+ """Get Mounting
1129
+
1130
+ **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.
1131
+
1132
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1133
+ :type cell: str
1134
+ :param controller: Unique identifier to address a controller in the cell. (required)
1135
+ :type controller: str
1136
+ :param id: The controller specific motion-group id. (required)
1137
+ :type id: int
1138
+ :param _request_timeout: timeout setting for this request. If one
1139
+ number provided, it will be total request
1140
+ timeout. It can also be a pair (tuple) of
1141
+ (connection, read) timeouts.
1142
+ :type _request_timeout: int, tuple(int, int), optional
1143
+ :param _request_auth: set to override the auth_settings for an a single
1144
+ request; this effectively ignores the
1145
+ authentication in the spec for a single request.
1146
+ :type _request_auth: dict, optional
1147
+ :param _content_type: force content-type for the request.
1148
+ :type _content_type: str, Optional
1149
+ :param _headers: set to override the headers for a single
1150
+ request; this effectively ignores the headers
1151
+ in the spec for a single request.
1152
+ :type _headers: dict, optional
1153
+ :param _host_index: set to override the host_index for a single
1154
+ request; this effectively ignores the host_index
1155
+ in the spec for a single request.
1156
+ :type _host_index: int, optional
1157
+ :return: Returns the result object.
1158
+ """ # noqa: E501
1159
+
1160
+ _param = self._get_virtual_robot_mounting_serialize(
1161
+ cell=cell,
1162
+ controller=controller,
1163
+ id=id,
1164
+ _request_auth=_request_auth,
1165
+ _content_type=_content_type,
1166
+ _headers=_headers,
1167
+ _host_index=_host_index,
1168
+ )
1169
+
1170
+ _response_types_map: Dict[str, Optional[str]] = {
1171
+ "200": "CoordinateSystem",
1172
+ }
1173
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1174
+ await response_data.read()
1175
+ return self.api_client.response_deserialize(
1176
+ response_data=response_data,
1177
+ response_types_map=_response_types_map,
1178
+ ).data
1179
+
1180
+ @validate_call
1181
+ async def get_virtual_robot_mounting_with_http_info(
1182
+ self,
1183
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1184
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1185
+ id: Annotated[StrictInt, Field(description="The controller specific motion-group id.")],
1186
+ _request_timeout: Union[
1187
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1188
+ ] = None,
1189
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1190
+ _content_type: Optional[StrictStr] = None,
1191
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1192
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1193
+ ) -> ApiResponse[CoordinateSystem]:
1194
+ """Get Mounting
1195
+
1196
+ **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.
1197
+
1198
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1199
+ :type cell: str
1200
+ :param controller: Unique identifier to address a controller in the cell. (required)
1201
+ :type controller: str
1202
+ :param id: The controller specific motion-group id. (required)
1203
+ :type id: int
1204
+ :param _request_timeout: timeout setting for this request. If one
1205
+ number provided, it will be total request
1206
+ timeout. It can also be a pair (tuple) of
1207
+ (connection, read) timeouts.
1208
+ :type _request_timeout: int, tuple(int, int), optional
1209
+ :param _request_auth: set to override the auth_settings for an a single
1210
+ request; this effectively ignores the
1211
+ authentication in the spec for a single request.
1212
+ :type _request_auth: dict, optional
1213
+ :param _content_type: force content-type for the request.
1214
+ :type _content_type: str, Optional
1215
+ :param _headers: set to override the headers for a single
1216
+ request; this effectively ignores the headers
1217
+ in the spec for a single request.
1218
+ :type _headers: dict, optional
1219
+ :param _host_index: set to override the host_index for a single
1220
+ request; this effectively ignores the host_index
1221
+ in the spec for a single request.
1222
+ :type _host_index: int, optional
1223
+ :return: Returns the result object.
1224
+ """ # noqa: E501
1225
+
1226
+ _param = self._get_virtual_robot_mounting_serialize(
1227
+ cell=cell,
1228
+ controller=controller,
1229
+ id=id,
1230
+ _request_auth=_request_auth,
1231
+ _content_type=_content_type,
1232
+ _headers=_headers,
1233
+ _host_index=_host_index,
1234
+ )
1235
+
1236
+ _response_types_map: Dict[str, Optional[str]] = {
1237
+ "200": "CoordinateSystem",
1238
+ }
1239
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1240
+ await response_data.read()
1241
+ return self.api_client.response_deserialize(
1242
+ response_data=response_data,
1243
+ response_types_map=_response_types_map,
1244
+ )
1245
+
1246
+ @validate_call
1247
+ async def get_virtual_robot_mounting_without_preload_content(
1248
+ self,
1249
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1250
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1251
+ id: Annotated[StrictInt, Field(description="The controller specific motion-group id.")],
1252
+ _request_timeout: Union[
1253
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1254
+ ] = None,
1255
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1256
+ _content_type: Optional[StrictStr] = None,
1257
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1258
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1259
+ ) -> RESTResponseType:
1260
+ """Get Mounting
1261
+
1262
+ **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.
1263
+
1264
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1265
+ :type cell: str
1266
+ :param controller: Unique identifier to address a controller in the cell. (required)
1267
+ :type controller: str
1268
+ :param id: The controller specific motion-group id. (required)
1269
+ :type id: int
1270
+ :param _request_timeout: timeout setting for this request. If one
1271
+ number provided, it will be total request
1272
+ timeout. It can also be a pair (tuple) of
1273
+ (connection, read) timeouts.
1274
+ :type _request_timeout: int, tuple(int, int), optional
1275
+ :param _request_auth: set to override the auth_settings for an a single
1276
+ request; this effectively ignores the
1277
+ authentication in the spec for a single request.
1278
+ :type _request_auth: dict, optional
1279
+ :param _content_type: force content-type for the request.
1280
+ :type _content_type: str, Optional
1281
+ :param _headers: set to override the headers for a single
1282
+ request; this effectively ignores the headers
1283
+ in the spec for a single request.
1284
+ :type _headers: dict, optional
1285
+ :param _host_index: set to override the host_index for a single
1286
+ request; this effectively ignores the host_index
1287
+ in the spec for a single request.
1288
+ :type _host_index: int, optional
1289
+ :return: Returns the result object.
1290
+ """ # noqa: E501
1291
+
1292
+ _param = self._get_virtual_robot_mounting_serialize(
1293
+ cell=cell,
1294
+ controller=controller,
1295
+ id=id,
1296
+ _request_auth=_request_auth,
1297
+ _content_type=_content_type,
1298
+ _headers=_headers,
1299
+ _host_index=_host_index,
1300
+ )
1301
+
1302
+ _response_types_map: Dict[str, Optional[str]] = {
1303
+ "200": "CoordinateSystem",
1304
+ }
1305
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1306
+ return response_data.response
1307
+
1308
+ def _get_virtual_robot_mounting_serialize(
1309
+ self,
1310
+ cell,
1311
+ controller,
1312
+ id,
1313
+ _request_auth,
1314
+ _content_type,
1315
+ _headers,
1316
+ _host_index,
1317
+ ) -> RequestSerialized:
1318
+
1319
+ _host = None
1320
+
1321
+ _collection_formats: Dict[str, str] = {}
1322
+
1323
+ _path_params: Dict[str, str] = {}
1324
+ _query_params: List[Tuple[str, str]] = []
1325
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1326
+ _form_params: List[Tuple[str, str]] = []
1327
+ _files: Dict[str, Union[str, bytes]] = {}
1328
+ _body_params: Optional[bytes] = None
1329
+
1330
+ # process the path parameters
1331
+ if cell is not None:
1332
+ _path_params["cell"] = cell
1333
+ if controller is not None:
1334
+ _path_params["controller"] = controller
1335
+ if id is not None:
1336
+ _path_params["id"] = id
1337
+ # process the query parameters
1338
+ # process the header parameters
1339
+ # process the form parameters
1340
+ # process the body parameter
1341
+
1342
+ # set the HTTP header `Accept`
1343
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1344
+
1345
+ # authentication setting
1346
+ _auth_settings: List[str] = ["BearerAuth"]
1347
+
1348
+ return self.api_client.param_serialize(
1349
+ method="GET",
1350
+ resource_path="/cells/{cell}/controllers/{controller}/teach-pendant/motion-groups/{id}/mounting",
1351
+ path_params=_path_params,
1352
+ query_params=_query_params,
1353
+ header_params=_header_params,
1354
+ body=_body_params,
1355
+ post_params=_form_params,
1356
+ files=_files,
1357
+ auth_settings=_auth_settings,
1358
+ collection_formats=_collection_formats,
1359
+ _host=_host,
1360
+ _request_auth=_request_auth,
1361
+ )
1362
+
1363
+ @validate_call
1364
+ async def list_virtual_robot_coordinate_systems(
1365
+ self,
1366
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1367
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1368
+ _request_timeout: Union[
1369
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1370
+ ] = None,
1371
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1372
+ _content_type: Optional[StrictStr] = None,
1373
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1374
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1375
+ ) -> CoordinateSystems:
1376
+ """List Coordinate Systems
1377
+
1378
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Lists all coordinate systems on the robot controller.
1379
+
1380
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1381
+ :type cell: str
1382
+ :param controller: Unique identifier to address a controller in the cell. (required)
1383
+ :type controller: str
1384
+ :param _request_timeout: timeout setting for this request. If one
1385
+ number provided, it will be total request
1386
+ timeout. It can also be a pair (tuple) of
1387
+ (connection, read) timeouts.
1388
+ :type _request_timeout: int, tuple(int, int), optional
1389
+ :param _request_auth: set to override the auth_settings for an a single
1390
+ request; this effectively ignores the
1391
+ authentication in the spec for a single request.
1392
+ :type _request_auth: dict, optional
1393
+ :param _content_type: force content-type for the request.
1394
+ :type _content_type: str, Optional
1395
+ :param _headers: set to override the headers for a single
1396
+ request; this effectively ignores the headers
1397
+ in the spec for a single request.
1398
+ :type _headers: dict, optional
1399
+ :param _host_index: set to override the host_index for a single
1400
+ request; this effectively ignores the host_index
1401
+ in the spec for a single request.
1402
+ :type _host_index: int, optional
1403
+ :return: Returns the result object.
1404
+ """ # noqa: E501
1405
+
1406
+ _param = self._list_virtual_robot_coordinate_systems_serialize(
1407
+ cell=cell,
1408
+ controller=controller,
1409
+ _request_auth=_request_auth,
1410
+ _content_type=_content_type,
1411
+ _headers=_headers,
1412
+ _host_index=_host_index,
1413
+ )
1414
+
1415
+ _response_types_map: Dict[str, Optional[str]] = {
1416
+ "200": "CoordinateSystems",
1417
+ }
1418
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1419
+ await response_data.read()
1420
+ return self.api_client.response_deserialize(
1421
+ response_data=response_data,
1422
+ response_types_map=_response_types_map,
1423
+ ).data
1424
+
1425
+ @validate_call
1426
+ async def list_virtual_robot_coordinate_systems_with_http_info(
1427
+ self,
1428
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1429
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1430
+ _request_timeout: Union[
1431
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1432
+ ] = None,
1433
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1434
+ _content_type: Optional[StrictStr] = None,
1435
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1436
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1437
+ ) -> ApiResponse[CoordinateSystems]:
1438
+ """List Coordinate Systems
1439
+
1440
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Lists all coordinate systems on the robot controller.
1441
+
1442
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1443
+ :type cell: str
1444
+ :param controller: Unique identifier to address a controller in the cell. (required)
1445
+ :type controller: str
1446
+ :param _request_timeout: timeout setting for this request. If one
1447
+ number provided, it will be total request
1448
+ timeout. It can also be a pair (tuple) of
1449
+ (connection, read) timeouts.
1450
+ :type _request_timeout: int, tuple(int, int), optional
1451
+ :param _request_auth: set to override the auth_settings for an a single
1452
+ request; this effectively ignores the
1453
+ authentication in the spec for a single request.
1454
+ :type _request_auth: dict, optional
1455
+ :param _content_type: force content-type for the request.
1456
+ :type _content_type: str, Optional
1457
+ :param _headers: set to override the headers for a single
1458
+ request; this effectively ignores the headers
1459
+ in the spec for a single request.
1460
+ :type _headers: dict, optional
1461
+ :param _host_index: set to override the host_index for a single
1462
+ request; this effectively ignores the host_index
1463
+ in the spec for a single request.
1464
+ :type _host_index: int, optional
1465
+ :return: Returns the result object.
1466
+ """ # noqa: E501
1467
+
1468
+ _param = self._list_virtual_robot_coordinate_systems_serialize(
1469
+ cell=cell,
1470
+ controller=controller,
1471
+ _request_auth=_request_auth,
1472
+ _content_type=_content_type,
1473
+ _headers=_headers,
1474
+ _host_index=_host_index,
1475
+ )
1476
+
1477
+ _response_types_map: Dict[str, Optional[str]] = {
1478
+ "200": "CoordinateSystems",
1479
+ }
1480
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1481
+ await response_data.read()
1482
+ return self.api_client.response_deserialize(
1483
+ response_data=response_data,
1484
+ response_types_map=_response_types_map,
1485
+ )
1486
+
1487
+ @validate_call
1488
+ async def list_virtual_robot_coordinate_systems_without_preload_content(
1489
+ self,
1490
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1491
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1492
+ _request_timeout: Union[
1493
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1494
+ ] = None,
1495
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1496
+ _content_type: Optional[StrictStr] = None,
1497
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1498
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1499
+ ) -> RESTResponseType:
1500
+ """List Coordinate Systems
1501
+
1502
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Lists all coordinate systems on the robot controller.
1503
+
1504
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1505
+ :type cell: str
1506
+ :param controller: Unique identifier to address a controller in the cell. (required)
1507
+ :type controller: str
1508
+ :param _request_timeout: timeout setting for this request. If one
1509
+ number provided, it will be total request
1510
+ timeout. It can also be a pair (tuple) of
1511
+ (connection, read) timeouts.
1512
+ :type _request_timeout: int, tuple(int, int), optional
1513
+ :param _request_auth: set to override the auth_settings for an a single
1514
+ request; this effectively ignores the
1515
+ authentication in the spec for a single request.
1516
+ :type _request_auth: dict, optional
1517
+ :param _content_type: force content-type for the request.
1518
+ :type _content_type: str, Optional
1519
+ :param _headers: set to override the headers for a single
1520
+ request; this effectively ignores the headers
1521
+ in the spec for a single request.
1522
+ :type _headers: dict, optional
1523
+ :param _host_index: set to override the host_index for a single
1524
+ request; this effectively ignores the host_index
1525
+ in the spec for a single request.
1526
+ :type _host_index: int, optional
1527
+ :return: Returns the result object.
1528
+ """ # noqa: E501
1529
+
1530
+ _param = self._list_virtual_robot_coordinate_systems_serialize(
1531
+ cell=cell,
1532
+ controller=controller,
1533
+ _request_auth=_request_auth,
1534
+ _content_type=_content_type,
1535
+ _headers=_headers,
1536
+ _host_index=_host_index,
1537
+ )
1538
+
1539
+ _response_types_map: Dict[str, Optional[str]] = {
1540
+ "200": "CoordinateSystems",
1541
+ }
1542
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1543
+ return response_data.response
1544
+
1545
+ def _list_virtual_robot_coordinate_systems_serialize(
1546
+ self,
1547
+ cell,
1548
+ controller,
1549
+ _request_auth,
1550
+ _content_type,
1551
+ _headers,
1552
+ _host_index,
1553
+ ) -> RequestSerialized:
1554
+
1555
+ _host = None
1556
+
1557
+ _collection_formats: Dict[str, str] = {}
1558
+
1559
+ _path_params: Dict[str, str] = {}
1560
+ _query_params: List[Tuple[str, str]] = []
1561
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1562
+ _form_params: List[Tuple[str, str]] = []
1563
+ _files: Dict[str, Union[str, bytes]] = {}
1564
+ _body_params: Optional[bytes] = None
1565
+
1566
+ # process the path parameters
1567
+ if cell is not None:
1568
+ _path_params["cell"] = cell
1569
+ if controller is not None:
1570
+ _path_params["controller"] = controller
1571
+ # process the query parameters
1572
+ # process the header parameters
1573
+ # process the form parameters
1574
+ # process the body parameter
1575
+
1576
+ # set the HTTP header `Accept`
1577
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1578
+
1579
+ # authentication setting
1580
+ _auth_settings: List[str] = ["BearerAuth"]
1581
+
1582
+ return self.api_client.param_serialize(
1583
+ method="GET",
1584
+ resource_path="/cells/{cell}/controllers/{controller}/teach-pendant/coordinate-systems",
1585
+ path_params=_path_params,
1586
+ query_params=_query_params,
1587
+ header_params=_header_params,
1588
+ body=_body_params,
1589
+ post_params=_form_params,
1590
+ files=_files,
1591
+ auth_settings=_auth_settings,
1592
+ collection_formats=_collection_formats,
1593
+ _host=_host,
1594
+ _request_auth=_request_auth,
1595
+ )
1596
+
1597
+ @validate_call
1598
+ async def list_virtual_robot_tcps(
1599
+ self,
1600
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1601
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1602
+ id: Annotated[StrictInt, Field(description="The controller specific motion-group id.")],
1603
+ _request_timeout: Union[
1604
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1605
+ ] = None,
1606
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1607
+ _content_type: Optional[StrictStr] = None,
1608
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1609
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1610
+ ) -> RobotTcps:
1611
+ """List TCPs
1612
+
1613
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Lists TCPs of the motion group. An empty TCP list is valid, for example for external axes.
1614
+
1615
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1616
+ :type cell: str
1617
+ :param controller: Unique identifier to address a controller in the cell. (required)
1618
+ :type controller: str
1619
+ :param id: The controller specific motion-group id. (required)
1620
+ :type id: int
1621
+ :param _request_timeout: timeout setting for this request. If one
1622
+ number provided, it will be total request
1623
+ timeout. It can also be a pair (tuple) of
1624
+ (connection, read) timeouts.
1625
+ :type _request_timeout: int, tuple(int, int), optional
1626
+ :param _request_auth: set to override the auth_settings for an a single
1627
+ request; this effectively ignores the
1628
+ authentication in the spec for a single request.
1629
+ :type _request_auth: dict, optional
1630
+ :param _content_type: force content-type for the request.
1631
+ :type _content_type: str, Optional
1632
+ :param _headers: set to override the headers for a single
1633
+ request; this effectively ignores the headers
1634
+ in the spec for a single request.
1635
+ :type _headers: dict, optional
1636
+ :param _host_index: set to override the host_index for a single
1637
+ request; this effectively ignores the host_index
1638
+ in the spec for a single request.
1639
+ :type _host_index: int, optional
1640
+ :return: Returns the result object.
1641
+ """ # noqa: E501
1642
+
1643
+ _param = self._list_virtual_robot_tcps_serialize(
1644
+ cell=cell,
1645
+ controller=controller,
1646
+ id=id,
1647
+ _request_auth=_request_auth,
1648
+ _content_type=_content_type,
1649
+ _headers=_headers,
1650
+ _host_index=_host_index,
1651
+ )
1652
+
1653
+ _response_types_map: Dict[str, Optional[str]] = {
1654
+ "200": "RobotTcps",
1655
+ }
1656
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1657
+ await response_data.read()
1658
+ return self.api_client.response_deserialize(
1659
+ response_data=response_data,
1660
+ response_types_map=_response_types_map,
1661
+ ).data
1662
+
1663
+ @validate_call
1664
+ async def list_virtual_robot_tcps_with_http_info(
1665
+ self,
1666
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1667
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1668
+ id: Annotated[StrictInt, Field(description="The controller specific motion-group id.")],
1669
+ _request_timeout: Union[
1670
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1671
+ ] = None,
1672
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1673
+ _content_type: Optional[StrictStr] = None,
1674
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1675
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1676
+ ) -> ApiResponse[RobotTcps]:
1677
+ """List TCPs
1678
+
1679
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Lists TCPs of the motion group. An empty TCP list is valid, for example for external axes.
1680
+
1681
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1682
+ :type cell: str
1683
+ :param controller: Unique identifier to address a controller in the cell. (required)
1684
+ :type controller: str
1685
+ :param id: The controller specific motion-group id. (required)
1686
+ :type id: int
1687
+ :param _request_timeout: timeout setting for this request. If one
1688
+ number provided, it will be total request
1689
+ timeout. It can also be a pair (tuple) of
1690
+ (connection, read) timeouts.
1691
+ :type _request_timeout: int, tuple(int, int), optional
1692
+ :param _request_auth: set to override the auth_settings for an a single
1693
+ request; this effectively ignores the
1694
+ authentication in the spec for a single request.
1695
+ :type _request_auth: dict, optional
1696
+ :param _content_type: force content-type for the request.
1697
+ :type _content_type: str, Optional
1698
+ :param _headers: set to override the headers for a single
1699
+ request; this effectively ignores the headers
1700
+ in the spec for a single request.
1701
+ :type _headers: dict, optional
1702
+ :param _host_index: set to override the host_index for a single
1703
+ request; this effectively ignores the host_index
1704
+ in the spec for a single request.
1705
+ :type _host_index: int, optional
1706
+ :return: Returns the result object.
1707
+ """ # noqa: E501
1708
+
1709
+ _param = self._list_virtual_robot_tcps_serialize(
1710
+ cell=cell,
1711
+ controller=controller,
1712
+ id=id,
1713
+ _request_auth=_request_auth,
1714
+ _content_type=_content_type,
1715
+ _headers=_headers,
1716
+ _host_index=_host_index,
1717
+ )
1718
+
1719
+ _response_types_map: Dict[str, Optional[str]] = {
1720
+ "200": "RobotTcps",
1721
+ }
1722
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1723
+ await response_data.read()
1724
+ return self.api_client.response_deserialize(
1725
+ response_data=response_data,
1726
+ response_types_map=_response_types_map,
1727
+ )
1728
+
1729
+ @validate_call
1730
+ async def list_virtual_robot_tcps_without_preload_content(
1731
+ self,
1732
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1733
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1734
+ id: Annotated[StrictInt, Field(description="The controller specific motion-group id.")],
1735
+ _request_timeout: Union[
1736
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1737
+ ] = None,
1738
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1739
+ _content_type: Optional[StrictStr] = None,
1740
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1741
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1742
+ ) -> RESTResponseType:
1743
+ """List TCPs
1744
+
1745
+ **Required permissions:** `can_operate_virtual_controllers` - Operate and configure virtual controllers ___ Lists TCPs of the motion group. An empty TCP list is valid, for example for external axes.
1746
+
1747
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1748
+ :type cell: str
1749
+ :param controller: Unique identifier to address a controller in the cell. (required)
1750
+ :type controller: str
1751
+ :param id: The controller specific motion-group id. (required)
1752
+ :type id: int
1753
+ :param _request_timeout: timeout setting for this request. If one
1754
+ number provided, it will be total request
1755
+ timeout. It can also be a pair (tuple) of
1756
+ (connection, read) timeouts.
1757
+ :type _request_timeout: int, tuple(int, int), optional
1758
+ :param _request_auth: set to override the auth_settings for an a single
1759
+ request; this effectively ignores the
1760
+ authentication in the spec for a single request.
1761
+ :type _request_auth: dict, optional
1762
+ :param _content_type: force content-type for the request.
1763
+ :type _content_type: str, Optional
1764
+ :param _headers: set to override the headers for a single
1765
+ request; this effectively ignores the headers
1766
+ in the spec for a single request.
1767
+ :type _headers: dict, optional
1768
+ :param _host_index: set to override the host_index for a single
1769
+ request; this effectively ignores the host_index
1770
+ in the spec for a single request.
1771
+ :type _host_index: int, optional
1772
+ :return: Returns the result object.
1773
+ """ # noqa: E501
1774
+
1775
+ _param = self._list_virtual_robot_tcps_serialize(
1776
+ cell=cell,
1777
+ controller=controller,
1778
+ id=id,
1779
+ _request_auth=_request_auth,
1780
+ _content_type=_content_type,
1781
+ _headers=_headers,
1782
+ _host_index=_host_index,
1783
+ )
1784
+
1785
+ _response_types_map: Dict[str, Optional[str]] = {
1786
+ "200": "RobotTcps",
1787
+ }
1788
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1789
+ return response_data.response
1790
+
1791
+ def _list_virtual_robot_tcps_serialize(
1792
+ self,
1793
+ cell,
1794
+ controller,
1795
+ id,
1796
+ _request_auth,
1797
+ _content_type,
1798
+ _headers,
1799
+ _host_index,
1800
+ ) -> RequestSerialized:
1801
+
1802
+ _host = None
1803
+
1804
+ _collection_formats: Dict[str, str] = {}
1805
+
1806
+ _path_params: Dict[str, str] = {}
1807
+ _query_params: List[Tuple[str, str]] = []
1808
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1809
+ _form_params: List[Tuple[str, str]] = []
1810
+ _files: Dict[str, Union[str, bytes]] = {}
1811
+ _body_params: Optional[bytes] = None
1812
+
1813
+ # process the path parameters
1814
+ if cell is not None:
1815
+ _path_params["cell"] = cell
1816
+ if controller is not None:
1817
+ _path_params["controller"] = controller
1818
+ if id is not None:
1819
+ _path_params["id"] = id
1820
+ # process the query parameters
1821
+ # process the header parameters
1822
+ # process the form parameters
1823
+ # process the body parameter
1824
+
1825
+ # set the HTTP header `Accept`
1826
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1827
+
1828
+ # authentication setting
1829
+ _auth_settings: List[str] = ["BearerAuth"]
1830
+
1831
+ return self.api_client.param_serialize(
1832
+ method="GET",
1833
+ resource_path="/cells/{cell}/controllers/{controller}/teach-pendant/motion-groups/{id}/tcps",
1834
+ path_params=_path_params,
1835
+ query_params=_query_params,
1836
+ header_params=_header_params,
1837
+ body=_body_params,
1838
+ post_params=_form_params,
1839
+ files=_files,
1840
+ auth_settings=_auth_settings,
1841
+ collection_formats=_collection_formats,
1842
+ _host=_host,
1843
+ _request_auth=_request_auth,
1844
+ )
1845
+
1846
+ @validate_call
1847
+ async def set_virtual_robot_mounting(
1848
+ self,
1849
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1850
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1851
+ id: Annotated[StrictInt, Field(description="The controller specific motion-group id.")],
1852
+ coordinate_system: CoordinateSystem,
1853
+ _request_timeout: Union[
1854
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1855
+ ] = None,
1856
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1857
+ _content_type: Optional[StrictStr] = None,
1858
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1859
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1860
+ ) -> CoordinateSystem:
1861
+ """Set Mounting
1862
+
1863
+ **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 name - An offset in another coordinate system, referenced by the unique identifier of the reference coordinate system. > **NOTE** > Changing the mounting configuration is considered a configuration change. > > Upon updating the mounting to another coordinate system, virtual robots are restarted to apply the new configuration. > What happens during restart: > - Robot visualization may temporarily disappear or not reflect the updated mounting. > - Motion group state and coordinate system alignment may not be instantly updated. > - Existing connections to the virtual robot are closed and re-established, which introduces a short delay before NOVA is fully operational again. > > The API call itself **does not wait until the restart and synchronization are complete**. This means that > immediately after a successful response, the new mounting may not be available for visualization or program execution.
1864
+
1865
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1866
+ :type cell: str
1867
+ :param controller: Unique identifier to address a controller in the cell. (required)
1868
+ :type controller: str
1869
+ :param id: The controller specific motion-group id. (required)
1870
+ :type id: int
1871
+ :param coordinate_system: (required)
1872
+ :type coordinate_system: CoordinateSystem
1873
+ :param _request_timeout: timeout setting for this request. If one
1874
+ number provided, it will be total request
1875
+ timeout. It can also be a pair (tuple) of
1876
+ (connection, read) timeouts.
1877
+ :type _request_timeout: int, tuple(int, int), optional
1878
+ :param _request_auth: set to override the auth_settings for an a single
1879
+ request; this effectively ignores the
1880
+ authentication in the spec for a single request.
1881
+ :type _request_auth: dict, optional
1882
+ :param _content_type: force content-type for the request.
1883
+ :type _content_type: str, Optional
1884
+ :param _headers: set to override the headers for a single
1885
+ request; this effectively ignores the headers
1886
+ in the spec for a single request.
1887
+ :type _headers: dict, optional
1888
+ :param _host_index: set to override the host_index for a single
1889
+ request; this effectively ignores the host_index
1890
+ in the spec for a single request.
1891
+ :type _host_index: int, optional
1892
+ :return: Returns the result object.
1893
+ """ # noqa: E501
1894
+
1895
+ _param = self._set_virtual_robot_mounting_serialize(
1896
+ cell=cell,
1897
+ controller=controller,
1898
+ id=id,
1899
+ coordinate_system=coordinate_system,
1900
+ _request_auth=_request_auth,
1901
+ _content_type=_content_type,
1902
+ _headers=_headers,
1903
+ _host_index=_host_index,
1904
+ )
1905
+
1906
+ _response_types_map: Dict[str, Optional[str]] = {
1907
+ "200": "CoordinateSystem",
1908
+ }
1909
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1910
+ await response_data.read()
1911
+ return self.api_client.response_deserialize(
1912
+ response_data=response_data,
1913
+ response_types_map=_response_types_map,
1914
+ ).data
1915
+
1916
+ @validate_call
1917
+ async def set_virtual_robot_mounting_with_http_info(
1918
+ self,
1919
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1920
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1921
+ id: Annotated[StrictInt, Field(description="The controller specific motion-group id.")],
1922
+ coordinate_system: CoordinateSystem,
1923
+ _request_timeout: Union[
1924
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1925
+ ] = None,
1926
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1927
+ _content_type: Optional[StrictStr] = None,
1928
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1929
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1930
+ ) -> ApiResponse[CoordinateSystem]:
1931
+ """Set Mounting
1932
+
1933
+ **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 name - An offset in another coordinate system, referenced by the unique identifier of the reference coordinate system. > **NOTE** > Changing the mounting configuration is considered a configuration change. > > Upon updating the mounting to another coordinate system, virtual robots are restarted to apply the new configuration. > What happens during restart: > - Robot visualization may temporarily disappear or not reflect the updated mounting. > - Motion group state and coordinate system alignment may not be instantly updated. > - Existing connections to the virtual robot are closed and re-established, which introduces a short delay before NOVA is fully operational again. > > The API call itself **does not wait until the restart and synchronization are complete**. This means that > immediately after a successful response, the new mounting may not be available for visualization or program execution.
1934
+
1935
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1936
+ :type cell: str
1937
+ :param controller: Unique identifier to address a controller in the cell. (required)
1938
+ :type controller: str
1939
+ :param id: The controller specific motion-group id. (required)
1940
+ :type id: int
1941
+ :param coordinate_system: (required)
1942
+ :type coordinate_system: CoordinateSystem
1943
+ :param _request_timeout: timeout setting for this request. If one
1944
+ number provided, it will be total request
1945
+ timeout. It can also be a pair (tuple) of
1946
+ (connection, read) timeouts.
1947
+ :type _request_timeout: int, tuple(int, int), optional
1948
+ :param _request_auth: set to override the auth_settings for an a single
1949
+ request; this effectively ignores the
1950
+ authentication in the spec for a single request.
1951
+ :type _request_auth: dict, optional
1952
+ :param _content_type: force content-type for the request.
1953
+ :type _content_type: str, Optional
1954
+ :param _headers: set to override the headers for a single
1955
+ request; this effectively ignores the headers
1956
+ in the spec for a single request.
1957
+ :type _headers: dict, optional
1958
+ :param _host_index: set to override the host_index for a single
1959
+ request; this effectively ignores the host_index
1960
+ in the spec for a single request.
1961
+ :type _host_index: int, optional
1962
+ :return: Returns the result object.
1963
+ """ # noqa: E501
1964
+
1965
+ _param = self._set_virtual_robot_mounting_serialize(
1966
+ cell=cell,
1967
+ controller=controller,
1968
+ id=id,
1969
+ coordinate_system=coordinate_system,
1970
+ _request_auth=_request_auth,
1971
+ _content_type=_content_type,
1972
+ _headers=_headers,
1973
+ _host_index=_host_index,
1974
+ )
1975
+
1976
+ _response_types_map: Dict[str, Optional[str]] = {
1977
+ "200": "CoordinateSystem",
1978
+ }
1979
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1980
+ await response_data.read()
1981
+ return self.api_client.response_deserialize(
1982
+ response_data=response_data,
1983
+ response_types_map=_response_types_map,
1984
+ )
1985
+
1986
+ @validate_call
1987
+ async def set_virtual_robot_mounting_without_preload_content(
1988
+ self,
1989
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1990
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1991
+ id: Annotated[StrictInt, Field(description="The controller specific motion-group id.")],
1992
+ coordinate_system: CoordinateSystem,
1993
+ _request_timeout: Union[
1994
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1995
+ ] = None,
1996
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1997
+ _content_type: Optional[StrictStr] = None,
1998
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1999
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2000
+ ) -> RESTResponseType:
2001
+ """Set Mounting
2002
+
2003
+ **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 name - An offset in another coordinate system, referenced by the unique identifier of the reference coordinate system. > **NOTE** > Changing the mounting configuration is considered a configuration change. > > Upon updating the mounting to another coordinate system, virtual robots are restarted to apply the new configuration. > What happens during restart: > - Robot visualization may temporarily disappear or not reflect the updated mounting. > - Motion group state and coordinate system alignment may not be instantly updated. > - Existing connections to the virtual robot are closed and re-established, which introduces a short delay before NOVA is fully operational again. > > The API call itself **does not wait until the restart and synchronization are complete**. This means that > immediately after a successful response, the new mounting may not be available for visualization or program execution.
2004
+
2005
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2006
+ :type cell: str
2007
+ :param controller: Unique identifier to address a controller in the cell. (required)
2008
+ :type controller: str
2009
+ :param id: The controller specific motion-group id. (required)
2010
+ :type id: int
2011
+ :param coordinate_system: (required)
2012
+ :type coordinate_system: CoordinateSystem
2013
+ :param _request_timeout: timeout setting for this request. If one
2014
+ number provided, it will be total request
2015
+ timeout. It can also be a pair (tuple) of
2016
+ (connection, read) timeouts.
2017
+ :type _request_timeout: int, tuple(int, int), optional
2018
+ :param _request_auth: set to override the auth_settings for an a single
2019
+ request; this effectively ignores the
2020
+ authentication in the spec for a single request.
2021
+ :type _request_auth: dict, optional
2022
+ :param _content_type: force content-type for the request.
2023
+ :type _content_type: str, Optional
2024
+ :param _headers: set to override the headers for a single
2025
+ request; this effectively ignores the headers
2026
+ in the spec for a single request.
2027
+ :type _headers: dict, optional
2028
+ :param _host_index: set to override the host_index for a single
2029
+ request; this effectively ignores the host_index
2030
+ in the spec for a single request.
2031
+ :type _host_index: int, optional
2032
+ :return: Returns the result object.
2033
+ """ # noqa: E501
2034
+
2035
+ _param = self._set_virtual_robot_mounting_serialize(
2036
+ cell=cell,
2037
+ controller=controller,
2038
+ id=id,
2039
+ coordinate_system=coordinate_system,
2040
+ _request_auth=_request_auth,
2041
+ _content_type=_content_type,
2042
+ _headers=_headers,
2043
+ _host_index=_host_index,
2044
+ )
2045
+
2046
+ _response_types_map: Dict[str, Optional[str]] = {
2047
+ "200": "CoordinateSystem",
2048
+ }
2049
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2050
+ return response_data.response
2051
+
2052
+ def _set_virtual_robot_mounting_serialize(
2053
+ self,
2054
+ cell,
2055
+ controller,
2056
+ id,
2057
+ coordinate_system,
2058
+ _request_auth,
2059
+ _content_type,
2060
+ _headers,
2061
+ _host_index,
2062
+ ) -> RequestSerialized:
2063
+
2064
+ _host = None
2065
+
2066
+ _collection_formats: Dict[str, str] = {}
2067
+
2068
+ _path_params: Dict[str, str] = {}
2069
+ _query_params: List[Tuple[str, str]] = []
2070
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2071
+ _form_params: List[Tuple[str, str]] = []
2072
+ _files: Dict[str, Union[str, bytes]] = {}
2073
+ _body_params: Optional[bytes] = None
2074
+
2075
+ # process the path parameters
2076
+ if cell is not None:
2077
+ _path_params["cell"] = cell
2078
+ if controller is not None:
2079
+ _path_params["controller"] = controller
2080
+ if id is not None:
2081
+ _path_params["id"] = id
2082
+ # process the query parameters
2083
+ # process the header parameters
2084
+ # process the form parameters
2085
+ # process the body parameter
2086
+ if coordinate_system is not None:
2087
+ _body_params = coordinate_system
2088
+
2089
+ # set the HTTP header `Accept`
2090
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2091
+
2092
+ # set the HTTP header `Content-Type`
2093
+ if _content_type:
2094
+ _header_params["Content-Type"] = _content_type
2095
+ else:
2096
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
2097
+ if _default_content_type is not None:
2098
+ _header_params["Content-Type"] = _default_content_type
2099
+
2100
+ # authentication setting
2101
+ _auth_settings: List[str] = ["BearerAuth"]
2102
+
2103
+ return self.api_client.param_serialize(
2104
+ method="PUT",
2105
+ resource_path="/cells/{cell}/controllers/{controller}/teach-pendant/motion-groups/{id}/mounting",
2106
+ path_params=_path_params,
2107
+ query_params=_query_params,
2108
+ header_params=_header_params,
2109
+ body=_body_params,
2110
+ post_params=_form_params,
2111
+ files=_files,
2112
+ auth_settings=_auth_settings,
2113
+ collection_formats=_collection_formats,
2114
+ _host=_host,
2115
+ _request_auth=_request_auth,
2116
+ )