wandelbots-api-client 25.9.0.dev2__py3-none-any.whl → 25.10.0.dev47__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 (526) hide show
  1. wandelbots_api_client/__init__.py +1 -1
  2. wandelbots_api_client/api/controller_api.py +9 -3
  3. wandelbots_api_client/api/controller_ios_api.py +2 -4
  4. wandelbots_api_client/api/motion_api.py +16 -4
  5. wandelbots_api_client/api/motion_group_infos_api.py +2 -0
  6. wandelbots_api_client/api/motion_group_jogging_api.py +10 -4
  7. wandelbots_api_client/api/store_collision_components_api.py +9 -6
  8. wandelbots_api_client/api/virtual_robot_behavior_api.py +5 -2
  9. wandelbots_api_client/api_client.py +1 -1
  10. wandelbots_api_client/configuration.py +1 -1
  11. wandelbots_api_client/models/abb_controller.py +4 -4
  12. wandelbots_api_client/models/abb_controller_egm_server.py +2 -2
  13. wandelbots_api_client/models/activate_license_request.py +1 -1
  14. wandelbots_api_client/models/add_request.py +2 -2
  15. wandelbots_api_client/models/all_joint_positions_request.py +2 -2
  16. wandelbots_api_client/models/all_joint_positions_response.py +1 -1
  17. wandelbots_api_client/models/app.py +7 -7
  18. wandelbots_api_client/models/array_input.py +1 -1
  19. wandelbots_api_client/models/array_output.py +1 -1
  20. wandelbots_api_client/models/blending_auto.py +2 -2
  21. wandelbots_api_client/models/blending_position.py +2 -2
  22. wandelbots_api_client/models/box.py +4 -4
  23. wandelbots_api_client/models/box2.py +5 -5
  24. wandelbots_api_client/models/box3.py +5 -5
  25. wandelbots_api_client/models/capsule.py +2 -2
  26. wandelbots_api_client/models/capsule2.py +3 -3
  27. wandelbots_api_client/models/capsule3.py +3 -3
  28. wandelbots_api_client/models/capture.py +1 -1
  29. wandelbots_api_client/models/cell.py +3 -3
  30. wandelbots_api_client/models/circle.py +2 -2
  31. wandelbots_api_client/models/code_with_arguments.py +2 -2
  32. wandelbots_api_client/models/collider.py +3 -3
  33. wandelbots_api_client/models/collider_input.py +3 -3
  34. wandelbots_api_client/models/collider_output.py +3 -3
  35. wandelbots_api_client/models/collision.py +6 -6
  36. wandelbots_api_client/models/collision_contact.py +2 -2
  37. wandelbots_api_client/models/collision_motion_group.py +2 -2
  38. wandelbots_api_client/models/collision_motion_group_assembly.py +4 -4
  39. wandelbots_api_client/models/collision_robot_configuration_input.py +3 -3
  40. wandelbots_api_client/models/collision_robot_configuration_output.py +3 -3
  41. wandelbots_api_client/models/collision_scene.py +2 -2
  42. wandelbots_api_client/models/collision_scene_assembly.py +5 -5
  43. wandelbots_api_client/models/command.py +6 -6
  44. wandelbots_api_client/models/command_settings.py +3 -3
  45. wandelbots_api_client/models/compound.py +1 -1
  46. wandelbots_api_client/models/container_environment_inner.py +2 -2
  47. wandelbots_api_client/models/container_image.py +3 -3
  48. wandelbots_api_client/models/container_image_secrets_inner.py +1 -1
  49. wandelbots_api_client/models/container_resources.py +1 -1
  50. wandelbots_api_client/models/container_storage.py +2 -2
  51. wandelbots_api_client/models/controller_capabilities.py +2 -2
  52. wandelbots_api_client/models/controller_instance.py +8 -8
  53. wandelbots_api_client/models/controller_instance_list.py +1 -1
  54. wandelbots_api_client/models/convex_hull.py +1 -1
  55. wandelbots_api_client/models/convex_hull2.py +2 -2
  56. wandelbots_api_client/models/convex_hull3.py +2 -2
  57. wandelbots_api_client/models/coordinate_system.py +5 -5
  58. wandelbots_api_client/models/coordinate_systems.py +1 -1
  59. wandelbots_api_client/models/create_program_run200_response.py +1 -1
  60. wandelbots_api_client/models/create_program_run_request.py +1 -1
  61. wandelbots_api_client/models/create_trigger200_response.py +1 -1
  62. wandelbots_api_client/models/create_trigger_request.py +4 -4
  63. wandelbots_api_client/models/cubic_spline.py +1 -1
  64. wandelbots_api_client/models/cubic_spline_cubic_spline_parameter.py +2 -2
  65. wandelbots_api_client/models/cubic_spline_parameter.py +2 -2
  66. wandelbots_api_client/models/cycle_time.py +1 -1
  67. wandelbots_api_client/models/cylinder.py +2 -2
  68. wandelbots_api_client/models/cylinder2.py +3 -3
  69. wandelbots_api_client/models/cylinder3.py +3 -3
  70. wandelbots_api_client/models/dh_parameter.py +5 -5
  71. wandelbots_api_client/models/direction_jogging_request.py +9 -9
  72. wandelbots_api_client/models/error.py +2 -2
  73. wandelbots_api_client/models/execution_result.py +3 -3
  74. wandelbots_api_client/models/external_joint_stream_datapoint.py +2 -2
  75. wandelbots_api_client/models/external_joint_stream_datapoint_value.py +4 -4
  76. wandelbots_api_client/models/fanuc_controller.py +2 -2
  77. wandelbots_api_client/models/feedback_collision.py +4 -4
  78. wandelbots_api_client/models/feedback_joint_limit_exceeded.py +3 -3
  79. wandelbots_api_client/models/feedback_out_of_workspace.py +2 -2
  80. wandelbots_api_client/models/feedback_singularity.py +3 -3
  81. wandelbots_api_client/models/flag.py +1 -1
  82. wandelbots_api_client/models/force_vector.py +3 -3
  83. wandelbots_api_client/models/geometry.py +11 -11
  84. wandelbots_api_client/models/get_all_program_runs200_response.py +1 -1
  85. wandelbots_api_client/models/get_all_triggers200_response.py +1 -1
  86. wandelbots_api_client/models/get_mode_response.py +1 -1
  87. wandelbots_api_client/models/get_trajectory_response.py +1 -1
  88. wandelbots_api_client/models/get_trajectory_sample_response.py +1 -1
  89. wandelbots_api_client/models/google_protobuf_any.py +1 -1
  90. wandelbots_api_client/models/http_exception_response.py +1 -1
  91. wandelbots_api_client/models/http_validation_error.py +1 -1
  92. wandelbots_api_client/models/http_validation_error2.py +1 -1
  93. wandelbots_api_client/models/image_credentials.py +3 -3
  94. wandelbots_api_client/models/info_service_capabilities.py +7 -7
  95. wandelbots_api_client/models/initialize_movement_request.py +5 -5
  96. wandelbots_api_client/models/initialize_movement_response.py +1 -1
  97. wandelbots_api_client/models/initialize_movement_response_init_response.py +2 -2
  98. wandelbots_api_client/models/io.py +5 -5
  99. wandelbots_api_client/models/io_description.py +9 -9
  100. wandelbots_api_client/models/io_value.py +4 -4
  101. wandelbots_api_client/models/ios.py +1 -1
  102. wandelbots_api_client/models/jogging_response.py +3 -3
  103. wandelbots_api_client/models/jogging_service_capabilities.py +2 -2
  104. wandelbots_api_client/models/joint_jogging_request.py +5 -5
  105. wandelbots_api_client/models/joint_limit.py +4 -4
  106. wandelbots_api_client/models/joint_limit_exceeded.py +2 -2
  107. wandelbots_api_client/models/joint_position_request.py +3 -3
  108. wandelbots_api_client/models/joint_trajectory.py +3 -3
  109. wandelbots_api_client/models/joints.py +1 -1
  110. wandelbots_api_client/models/kinematic_service_capabilities.py +3 -3
  111. wandelbots_api_client/models/kuka_controller.py +5 -5
  112. wandelbots_api_client/models/kuka_controller_rsi_server.py +2 -2
  113. wandelbots_api_client/models/license.py +10 -10
  114. wandelbots_api_client/models/license_status.py +2 -2
  115. wandelbots_api_client/models/limit_settings.py +12 -12
  116. wandelbots_api_client/models/limits_override.py +6 -6
  117. wandelbots_api_client/models/list_io_descriptions_response.py +1 -1
  118. wandelbots_api_client/models/list_io_values_response.py +1 -1
  119. wandelbots_api_client/models/list_payloads_response.py +1 -1
  120. wandelbots_api_client/models/list_program_metadata_response.py +1 -1
  121. wandelbots_api_client/models/list_recipe_metadata_response.py +1 -1
  122. wandelbots_api_client/models/list_response.py +1 -1
  123. wandelbots_api_client/models/list_tcps_response.py +1 -1
  124. wandelbots_api_client/models/mode_change_response.py +4 -4
  125. wandelbots_api_client/models/motion_command.py +3 -3
  126. wandelbots_api_client/models/motion_group_behavior_getter.py +1 -1
  127. wandelbots_api_client/models/motion_group_info.py +3 -3
  128. wandelbots_api_client/models/motion_group_infos.py +1 -1
  129. wandelbots_api_client/models/motion_group_instance.py +5 -5
  130. wandelbots_api_client/models/motion_group_instance_list.py +1 -1
  131. wandelbots_api_client/models/motion_group_joints.py +4 -4
  132. wandelbots_api_client/models/motion_group_physical.py +5 -5
  133. wandelbots_api_client/models/motion_group_specification.py +2 -2
  134. wandelbots_api_client/models/motion_group_state.py +12 -12
  135. wandelbots_api_client/models/motion_group_state_joint_limit_reached.py +1 -1
  136. wandelbots_api_client/models/motion_group_state_response.py +2 -2
  137. wandelbots_api_client/models/motion_id.py +1 -1
  138. wandelbots_api_client/models/motion_ids_list_response.py +1 -1
  139. wandelbots_api_client/models/motion_vector.py +3 -3
  140. wandelbots_api_client/models/mounting.py +2 -2
  141. wandelbots_api_client/models/move_request.py +8 -8
  142. wandelbots_api_client/models/move_response.py +2 -2
  143. wandelbots_api_client/models/move_to_trajectory_via_joint_ptp_request.py +4 -4
  144. wandelbots_api_client/models/movement.py +1 -1
  145. wandelbots_api_client/models/movement_error.py +1 -1
  146. wandelbots_api_client/models/movement_error_error.py +1 -1
  147. wandelbots_api_client/models/movement_movement.py +3 -3
  148. wandelbots_api_client/models/op_mode.py +1 -1
  149. wandelbots_api_client/models/opcua_node_value_trigger_config.py +3 -3
  150. wandelbots_api_client/models/optimizer_setup.py +7 -7
  151. wandelbots_api_client/models/out_of_workspace.py +1 -1
  152. wandelbots_api_client/models/path.py +1 -1
  153. wandelbots_api_client/models/path_cartesian_ptp.py +2 -2
  154. wandelbots_api_client/models/path_circle.py +3 -3
  155. wandelbots_api_client/models/path_cubic_spline.py +2 -2
  156. wandelbots_api_client/models/path_joint_ptp.py +2 -2
  157. wandelbots_api_client/models/path_line.py +2 -2
  158. wandelbots_api_client/models/pause_movement_request.py +2 -2
  159. wandelbots_api_client/models/pause_movement_response.py +1 -1
  160. wandelbots_api_client/models/pause_movement_response_pause_response.py +2 -2
  161. wandelbots_api_client/models/pause_on_io.py +2 -2
  162. wandelbots_api_client/models/payload.py +4 -4
  163. wandelbots_api_client/models/plan_collision_free_ptp_request.py +5 -5
  164. wandelbots_api_client/models/plan_failed_on_trajectory_response.py +9 -9
  165. wandelbots_api_client/models/plan_failed_response.py +7 -7
  166. wandelbots_api_client/models/plan_request.py +5 -5
  167. wandelbots_api_client/models/plan_response.py +3 -3
  168. wandelbots_api_client/models/plan_successful_response.py +2 -2
  169. wandelbots_api_client/models/plan_trajectory_failed_response.py +3 -3
  170. wandelbots_api_client/models/plan_trajectory_request.py +5 -5
  171. wandelbots_api_client/models/plan_trajectory_response.py +1 -1
  172. wandelbots_api_client/models/plane2.py +1 -1
  173. wandelbots_api_client/models/plane3.py +1 -1
  174. wandelbots_api_client/models/planned_motion.py +5 -5
  175. wandelbots_api_client/models/planner_pose.py +2 -2
  176. wandelbots_api_client/models/planning_limits.py +12 -12
  177. wandelbots_api_client/models/planning_limits_limit_range.py +2 -2
  178. wandelbots_api_client/models/playback_speed_request.py +2 -2
  179. wandelbots_api_client/models/playback_speed_response.py +1 -1
  180. wandelbots_api_client/models/playback_speed_response_playback_speed_response.py +1 -1
  181. wandelbots_api_client/models/point_cloud.py +1 -1
  182. wandelbots_api_client/models/pose.py +3 -3
  183. wandelbots_api_client/models/pose2.py +2 -2
  184. wandelbots_api_client/models/program_metadata.py +6 -6
  185. wandelbots_api_client/models/program_run.py +10 -10
  186. wandelbots_api_client/models/program_run_object.py +6 -6
  187. wandelbots_api_client/models/program_runner_reference.py +2 -2
  188. wandelbots_api_client/models/pyjectory_datatypes_core_pose.py +2 -2
  189. wandelbots_api_client/models/pyjectory_datatypes_serializer_orientation.py +1 -1
  190. wandelbots_api_client/models/pyjectory_datatypes_serializer_pose.py +1 -1
  191. wandelbots_api_client/models/pyjectory_datatypes_serializer_position.py +1 -1
  192. wandelbots_api_client/models/pyriphery_etcd_etcd_configuration.py +4 -4
  193. wandelbots_api_client/models/pyriphery_hardware_isaac_isaac_configuration.py +4 -4
  194. wandelbots_api_client/models/pyriphery_opcua_opcua_configuration.py +3 -3
  195. wandelbots_api_client/models/pyriphery_pyrae_controller_controller_configuration.py +6 -6
  196. wandelbots_api_client/models/pyriphery_pyrae_robot_robot_configuration.py +7 -7
  197. wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_input.py +4 -4
  198. wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_output.py +4 -4
  199. wandelbots_api_client/models/pyriphery_robotics_robotcell_timer_configuration.py +2 -2
  200. wandelbots_api_client/models/pyriphery_robotics_simulation_robot_with_view_open3d_configuration.py +3 -3
  201. wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_io_configuration.py +2 -2
  202. wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_opcua_configuration.py +2 -2
  203. wandelbots_api_client/models/quaternion.py +4 -4
  204. wandelbots_api_client/models/recipe_metadata.py +7 -7
  205. wandelbots_api_client/models/rectangle.py +2 -2
  206. wandelbots_api_client/models/rectangle2.py +3 -3
  207. wandelbots_api_client/models/rectangle3.py +3 -3
  208. wandelbots_api_client/models/rectangular_capsule.py +3 -3
  209. wandelbots_api_client/models/rectangular_capsule2.py +4 -4
  210. wandelbots_api_client/models/rectangular_capsule3.py +4 -4
  211. wandelbots_api_client/models/robot_controller.py +2 -2
  212. wandelbots_api_client/models/robot_controller_state.py +7 -7
  213. wandelbots_api_client/models/robot_link_geometry.py +2 -2
  214. wandelbots_api_client/models/robot_state.py +2 -2
  215. wandelbots_api_client/models/robot_tcp.py +4 -4
  216. wandelbots_api_client/models/robot_tcps.py +1 -1
  217. wandelbots_api_client/models/rotation_angles.py +2 -2
  218. wandelbots_api_client/models/safety_configuration.py +5 -5
  219. wandelbots_api_client/models/safety_setup.py +4 -4
  220. wandelbots_api_client/models/safety_setup_safety_settings.py +2 -2
  221. wandelbots_api_client/models/safety_setup_safety_zone.py +4 -4
  222. wandelbots_api_client/models/safety_zone.py +3 -3
  223. wandelbots_api_client/models/safety_zone_limits.py +2 -2
  224. wandelbots_api_client/models/safety_zone_violation.py +1 -1
  225. wandelbots_api_client/models/service_status.py +2 -2
  226. wandelbots_api_client/models/service_status_status.py +3 -3
  227. wandelbots_api_client/models/set_io.py +2 -2
  228. wandelbots_api_client/models/set_playback_speed.py +2 -2
  229. wandelbots_api_client/models/single_joint_limit.py +2 -2
  230. wandelbots_api_client/models/singularity.py +2 -2
  231. wandelbots_api_client/models/sphere.py +1 -1
  232. wandelbots_api_client/models/sphere2.py +2 -2
  233. wandelbots_api_client/models/sphere3.py +2 -2
  234. wandelbots_api_client/models/standstill.py +1 -1
  235. wandelbots_api_client/models/standstill_standstill.py +3 -3
  236. wandelbots_api_client/models/start_movement_request.py +5 -5
  237. wandelbots_api_client/models/start_on_io.py +2 -2
  238. wandelbots_api_client/models/status.py +3 -3
  239. wandelbots_api_client/models/stop_response.py +3 -3
  240. wandelbots_api_client/models/stream_move_backward.py +1 -1
  241. wandelbots_api_client/models/stream_move_forward.py +1 -1
  242. wandelbots_api_client/models/stream_move_playback_speed.py +1 -1
  243. wandelbots_api_client/models/stream_move_response.py +3 -3
  244. wandelbots_api_client/models/stream_move_to_trajectory.py +1 -1
  245. wandelbots_api_client/models/stream_stop.py +1 -1
  246. wandelbots_api_client/models/tcp_pose.py +4 -4
  247. wandelbots_api_client/models/tcp_pose_request.py +4 -4
  248. wandelbots_api_client/models/tool_geometry.py +2 -2
  249. wandelbots_api_client/models/trajectory_sample.py +11 -11
  250. wandelbots_api_client/models/trigger_object.py +8 -8
  251. wandelbots_api_client/models/universalrobots_controller.py +2 -2
  252. wandelbots_api_client/models/update_nova_version_request.py +1 -1
  253. wandelbots_api_client/models/update_program_metadata_request.py +3 -3
  254. wandelbots_api_client/models/update_recipe_metadata_request.py +3 -3
  255. wandelbots_api_client/models/update_trigger_request.py +3 -3
  256. wandelbots_api_client/models/validation_error.py +3 -3
  257. wandelbots_api_client/models/validation_error2.py +3 -3
  258. wandelbots_api_client/models/vector3d.py +3 -3
  259. wandelbots_api_client/models/version_number.py +8 -8
  260. wandelbots_api_client/models/virtual_controller.py +5 -5
  261. wandelbots_api_client/models/virtual_controller_types.py +3 -0
  262. wandelbots_api_client/models/virtual_robot_configuration.py +2 -2
  263. wandelbots_api_client/models/yaskawa_controller.py +2 -2
  264. wandelbots_api_client/v2/__init__.py +1 -1
  265. wandelbots_api_client/v2/api/application_api.py +9 -9
  266. wandelbots_api_client/v2/api/bus_inputs_outputs_api.py +928 -79
  267. wandelbots_api_client/v2/api/cell_api.py +6 -6
  268. wandelbots_api_client/v2/api/controller_api.py +33 -29
  269. wandelbots_api_client/v2/api/controller_inputs_outputs_api.py +12 -10
  270. wandelbots_api_client/v2/api/jogging_api.py +6 -3
  271. wandelbots_api_client/v2/api/kinematics_api.py +12 -13
  272. wandelbots_api_client/v2/api/license_api.py +6 -6
  273. wandelbots_api_client/v2/api/motion_group_api.py +8 -6
  274. wandelbots_api_client/v2/api/motion_group_models_api.py +11 -47
  275. wandelbots_api_client/v2/api/store_collision_components_api.py +799 -25
  276. wandelbots_api_client/v2/api/store_collision_setups_api.py +262 -4
  277. wandelbots_api_client/v2/api/store_object_api.py +9 -9
  278. wandelbots_api_client/v2/api/trajectory_caching_api.py +12 -12
  279. wandelbots_api_client/v2/api/trajectory_execution_api.py +6 -3
  280. wandelbots_api_client/v2/api/trajectory_planning_api.py +15 -16
  281. wandelbots_api_client/v2/api/virtual_controller_api.py +51 -36
  282. wandelbots_api_client/v2/api/virtual_controller_behavior_api.py +18 -9
  283. wandelbots_api_client/v2/api/virtual_controller_inputs_outputs_api.py +3 -3
  284. wandelbots_api_client/v2/api_client.py +1 -1
  285. wandelbots_api_client/v2/configuration.py +1 -1
  286. wandelbots_api_client/v2/models/__init__.py +44 -26
  287. wandelbots_api_client/v2/models/abb_controller.py +6 -9
  288. wandelbots_api_client/v2/models/abb_controller_egm_server.py +2 -2
  289. wandelbots_api_client/v2/models/activate_license_request.py +1 -1
  290. wandelbots_api_client/v2/models/add_trajectory_error.py +3 -3
  291. wandelbots_api_client/v2/models/add_trajectory_error_data.py +56 -56
  292. wandelbots_api_client/v2/models/add_trajectory_request.py +3 -3
  293. wandelbots_api_client/v2/models/add_trajectory_response.py +2 -2
  294. wandelbots_api_client/v2/models/app.py +9 -9
  295. wandelbots_api_client/v2/models/behavior.py +1 -1
  296. wandelbots_api_client/v2/models/blending_auto.py +4 -3
  297. wandelbots_api_client/v2/models/blending_position.py +2 -2
  298. wandelbots_api_client/v2/models/boolean_value.py +4 -7
  299. wandelbots_api_client/v2/models/box.py +5 -5
  300. wandelbots_api_client/v2/models/{io_description2.py → bus_io_description.py} +14 -14
  301. wandelbots_api_client/v2/models/bus_io_modbus_client.py +104 -0
  302. wandelbots_api_client/v2/models/bus_io_modbus_server.py +115 -0
  303. wandelbots_api_client/v2/models/bus_io_modbus_tcp_client.py +106 -0
  304. wandelbots_api_client/v2/models/bus_io_modbus_tcp_server.py +104 -0
  305. wandelbots_api_client/v2/models/bus_io_modbus_virtual.py +98 -0
  306. wandelbots_api_client/v2/models/bus_io_profinet.py +6 -9
  307. wandelbots_api_client/v2/models/bus_io_profinet_default_route.py +2 -2
  308. wandelbots_api_client/v2/models/bus_io_profinet_ip_config.py +3 -3
  309. wandelbots_api_client/v2/models/bus_io_profinet_network.py +3 -3
  310. wandelbots_api_client/v2/models/bus_io_profinet_virtual.py +3 -6
  311. wandelbots_api_client/v2/models/bus_io_type.py +80 -8
  312. wandelbots_api_client/v2/models/bus_ios_state.py +2 -2
  313. wandelbots_api_client/v2/models/capsule.py +3 -3
  314. wandelbots_api_client/v2/models/cartesian_limits.py +4 -4
  315. wandelbots_api_client/v2/models/cell.py +5 -5
  316. wandelbots_api_client/v2/models/collider.py +3 -3
  317. wandelbots_api_client/v2/models/collision.py +6 -6
  318. wandelbots_api_client/v2/models/collision_contact.py +2 -2
  319. wandelbots_api_client/v2/models/collision_error.py +1 -1
  320. wandelbots_api_client/v2/models/collision_setup.py +4 -4
  321. wandelbots_api_client/v2/models/configuration_archive_status_creating.py +2 -2
  322. wandelbots_api_client/v2/models/configuration_archive_status_error.py +2 -2
  323. wandelbots_api_client/v2/models/configuration_archive_status_success.py +1 -1
  324. wandelbots_api_client/v2/models/configuration_resource.py +3 -3
  325. wandelbots_api_client/v2/models/container_environment_inner.py +2 -2
  326. wandelbots_api_client/v2/models/container_image.py +3 -3
  327. wandelbots_api_client/v2/models/container_image_secrets_inner.py +1 -1
  328. wandelbots_api_client/v2/models/container_resources.py +2 -2
  329. wandelbots_api_client/v2/models/container_storage.py +2 -2
  330. wandelbots_api_client/v2/models/controller_description.py +4 -4
  331. wandelbots_api_client/v2/models/convex_hull.py +2 -2
  332. wandelbots_api_client/v2/models/coordinate_system.py +6 -6
  333. wandelbots_api_client/v2/models/coordinate_system_data.py +5 -5
  334. wandelbots_api_client/v2/models/cubic_spline_parameter.py +2 -2
  335. wandelbots_api_client/v2/models/cycle_time.py +3 -2
  336. wandelbots_api_client/v2/models/cylinder.py +3 -3
  337. wandelbots_api_client/v2/models/dh_parameter.py +5 -5
  338. wandelbots_api_client/v2/models/error.py +2 -2
  339. wandelbots_api_client/v2/models/error_invalid_joint_count.py +3 -3
  340. wandelbots_api_client/v2/models/error_joint_limit_exceeded.py +4 -3
  341. wandelbots_api_client/v2/models/error_joint_position_collision.py +4 -4
  342. wandelbots_api_client/v2/models/error_max_iterations_exceeded.py +2 -2
  343. wandelbots_api_client/v2/models/execute.py +2 -2
  344. wandelbots_api_client/v2/models/execute_jogging_request.py +28 -0
  345. wandelbots_api_client/v2/models/execute_jogging_response.py +25 -0
  346. wandelbots_api_client/v2/models/execute_trajectory_request.py +28 -0
  347. wandelbots_api_client/v2/models/execute_trajectory_response.py +25 -0
  348. wandelbots_api_client/v2/models/external_joint_stream_datapoint.py +2 -2
  349. wandelbots_api_client/v2/models/external_joint_stream_request.py +1 -1
  350. wandelbots_api_client/v2/models/fanuc_controller.py +4 -7
  351. wandelbots_api_client/v2/models/feedback_collision.py +4 -4
  352. wandelbots_api_client/v2/models/feedback_joint_limit_exceeded.py +5 -4
  353. wandelbots_api_client/v2/models/feedback_out_of_workspace.py +2 -2
  354. wandelbots_api_client/v2/models/feedback_singularity.py +3 -3
  355. wandelbots_api_client/v2/models/flag.py +1 -1
  356. wandelbots_api_client/v2/models/float_value.py +4 -7
  357. wandelbots_api_client/v2/models/forward_kinematics422_response.py +1 -1
  358. wandelbots_api_client/v2/models/forward_kinematics_request.py +4 -4
  359. wandelbots_api_client/v2/models/forward_kinematics_response.py +1 -1
  360. wandelbots_api_client/v2/models/forward_kinematics_validation_error.py +5 -5
  361. wandelbots_api_client/v2/models/get_trajectory_response.py +3 -3
  362. wandelbots_api_client/v2/models/http_validation_error.py +1 -1
  363. wandelbots_api_client/v2/models/image_credentials.py +3 -3
  364. wandelbots_api_client/v2/models/{inconsitent_trajectory_size.py → inconsistent_trajectory_size_error.py} +7 -7
  365. wandelbots_api_client/v2/models/{inconsitent_trajectory_size_inconsistent_trajectory_size.py → inconsistent_trajectory_size_error_inconsistent_trajectory_size.py} +7 -7
  366. wandelbots_api_client/v2/models/initialize_jogging_request.py +5 -8
  367. wandelbots_api_client/v2/models/initialize_jogging_response.py +2 -2
  368. wandelbots_api_client/v2/models/initialize_movement_request.py +5 -8
  369. wandelbots_api_client/v2/models/initialize_movement_response.py +3 -3
  370. wandelbots_api_client/v2/models/integer_value.py +4 -7
  371. wandelbots_api_client/v2/models/{invalid_dof.py → invalid_dof_error.py} +7 -7
  372. wandelbots_api_client/v2/models/{invalid_dof_invalid_dof.py → invalid_dof_error_invalid_dof.py} +6 -6
  373. wandelbots_api_client/v2/models/inverse_kinematics422_response.py +1 -1
  374. wandelbots_api_client/v2/models/inverse_kinematics_request.py +6 -6
  375. wandelbots_api_client/v2/models/inverse_kinematics_response.py +1 -1
  376. wandelbots_api_client/v2/models/inverse_kinematics_validation_error.py +5 -5
  377. wandelbots_api_client/v2/models/io_boolean_value.py +5 -8
  378. wandelbots_api_client/v2/models/{io_description_min.py → io_boundary.py} +8 -8
  379. wandelbots_api_client/v2/models/io_description.py +11 -11
  380. wandelbots_api_client/v2/models/io_float_value.py +5 -8
  381. wandelbots_api_client/v2/models/io_integer_value.py +5 -8
  382. wandelbots_api_client/v2/models/jogging_details.py +2 -2
  383. wandelbots_api_client/v2/models/jogging_paused_by_user.py +1 -1
  384. wandelbots_api_client/v2/models/jogging_paused_near_collision.py +2 -2
  385. wandelbots_api_client/v2/models/jogging_paused_near_joint_limit.py +4 -3
  386. wandelbots_api_client/v2/models/jogging_paused_on_io.py +1 -1
  387. wandelbots_api_client/v2/models/jogging_running.py +1 -1
  388. wandelbots_api_client/v2/models/{joint_limit_exceeded.py → joint_limit_exceeded_error.py} +5 -5
  389. wandelbots_api_client/v2/models/joint_limits.py +4 -4
  390. wandelbots_api_client/v2/models/joint_trajectory.py +3 -3
  391. wandelbots_api_client/v2/models/joint_velocity_request.py +4 -7
  392. wandelbots_api_client/v2/models/joint_velocity_response.py +2 -2
  393. wandelbots_api_client/v2/models/kuka_controller.py +6 -9
  394. wandelbots_api_client/v2/models/kuka_controller_rsi_server.py +2 -2
  395. wandelbots_api_client/v2/models/license.py +10 -10
  396. wandelbots_api_client/v2/models/license_status.py +2 -2
  397. wandelbots_api_client/v2/models/limit_range.py +2 -2
  398. wandelbots_api_client/v2/models/limit_set.py +5 -5
  399. wandelbots_api_client/v2/models/limits_override.py +6 -6
  400. wandelbots_api_client/v2/models/list_trajectories_response.py +1 -1
  401. wandelbots_api_client/v2/models/midpoint_insertion_algorithm.py +2 -2
  402. wandelbots_api_client/v2/models/modbus_io.py +105 -0
  403. wandelbots_api_client/v2/models/modbus_io_area.py +40 -0
  404. wandelbots_api_client/v2/models/modbus_io_byte_order.py +40 -0
  405. wandelbots_api_client/v2/models/{http_validation_error2.py → modbus_io_data.py} +21 -26
  406. wandelbots_api_client/v2/models/modbus_io_type_enum.py +39 -0
  407. wandelbots_api_client/v2/models/motion_command.py +3 -3
  408. wandelbots_api_client/v2/models/motion_group_description.py +12 -11
  409. wandelbots_api_client/v2/models/motion_group_info.py +5 -4
  410. wandelbots_api_client/v2/models/motion_group_joints.py +4 -4
  411. wandelbots_api_client/v2/models/motion_group_setup.py +9 -8
  412. wandelbots_api_client/v2/models/motion_group_state.py +16 -15
  413. wandelbots_api_client/v2/models/motion_group_state_joint_limit_reached.py +1 -1
  414. wandelbots_api_client/v2/models/movement_error_response.py +2 -2
  415. wandelbots_api_client/v2/models/{nan_value.py → nan_value_error.py} +7 -7
  416. wandelbots_api_client/v2/models/{nan_value_nan_value.py → nan_value_error_nan_value.py} +4 -4
  417. wandelbots_api_client/v2/models/op_mode.py +1 -1
  418. wandelbots_api_client/v2/models/operation_limits.py +4 -4
  419. wandelbots_api_client/v2/models/path_cartesian_ptp.py +2 -2
  420. wandelbots_api_client/v2/models/path_circle.py +3 -3
  421. wandelbots_api_client/v2/models/path_cubic_spline.py +2 -2
  422. wandelbots_api_client/v2/models/path_joint_ptp.py +2 -2
  423. wandelbots_api_client/v2/models/path_line.py +2 -2
  424. wandelbots_api_client/v2/models/pause_jogging_request.py +3 -6
  425. wandelbots_api_client/v2/models/pause_jogging_response.py +2 -2
  426. wandelbots_api_client/v2/models/pause_movement_request.py +3 -6
  427. wandelbots_api_client/v2/models/pause_movement_response.py +2 -2
  428. wandelbots_api_client/v2/models/pause_on_io.py +3 -3
  429. wandelbots_api_client/v2/models/payload.py +4 -4
  430. wandelbots_api_client/v2/models/plan422_response.py +1 -1
  431. wandelbots_api_client/v2/models/plan_collision_free_failed_response.py +1 -1
  432. wandelbots_api_client/v2/models/plan_collision_free_request.py +4 -4
  433. wandelbots_api_client/v2/models/plan_collision_free_response.py +1 -1
  434. wandelbots_api_client/v2/models/plan_trajectory_failed_response.py +3 -3
  435. wandelbots_api_client/v2/models/plan_trajectory_request.py +3 -3
  436. wandelbots_api_client/v2/models/plan_trajectory_response.py +1 -1
  437. wandelbots_api_client/v2/models/plan_validation_error.py +5 -5
  438. wandelbots_api_client/v2/models/plane.py +1 -1
  439. wandelbots_api_client/v2/models/playback_speed_request.py +6 -8
  440. wandelbots_api_client/v2/models/playback_speed_response.py +2 -2
  441. wandelbots_api_client/v2/models/pose.py +2 -2
  442. wandelbots_api_client/v2/models/profinet_description.py +5 -5
  443. wandelbots_api_client/v2/models/profinet_input_output_config.py +3 -3
  444. wandelbots_api_client/v2/models/profinet_io.py +6 -6
  445. wandelbots_api_client/v2/models/profinet_io_data.py +5 -5
  446. wandelbots_api_client/v2/models/profinet_io_direction.py +1 -1
  447. wandelbots_api_client/v2/models/profinet_slot_description.py +4 -4
  448. wandelbots_api_client/v2/models/profinet_sub_slot_description.py +3 -3
  449. wandelbots_api_client/v2/models/program.py +6 -6
  450. wandelbots_api_client/v2/models/program_run.py +14 -12
  451. wandelbots_api_client/v2/models/program_start_request.py +1 -1
  452. wandelbots_api_client/v2/models/rectangle.py +3 -3
  453. wandelbots_api_client/v2/models/rectangular_capsule.py +4 -4
  454. wandelbots_api_client/v2/models/robot_controller.py +2 -2
  455. wandelbots_api_client/v2/models/robot_controller_state.py +11 -10
  456. wandelbots_api_client/v2/models/robot_tcp.py +5 -5
  457. wandelbots_api_client/v2/models/robot_tcp_data.py +4 -4
  458. wandelbots_api_client/v2/models/rrt_connect_algorithm.py +6 -6
  459. wandelbots_api_client/v2/models/service_status.py +3 -3
  460. wandelbots_api_client/v2/models/service_status_response.py +2 -2
  461. wandelbots_api_client/v2/models/service_status_status.py +3 -3
  462. wandelbots_api_client/v2/models/set_io.py +3 -3
  463. wandelbots_api_client/v2/models/sphere.py +2 -2
  464. wandelbots_api_client/v2/models/start_movement_request.py +7 -10
  465. wandelbots_api_client/v2/models/start_movement_response.py +2 -2
  466. wandelbots_api_client/v2/models/start_on_io.py +3 -3
  467. wandelbots_api_client/v2/models/stream_io_values_response.py +5 -4
  468. wandelbots_api_client/v2/models/tcp_offset.py +2 -2
  469. wandelbots_api_client/v2/models/{tcp_required.py → tcp_required_error.py} +4 -4
  470. wandelbots_api_client/v2/models/tcp_velocity_request.py +5 -8
  471. wandelbots_api_client/v2/models/tcp_velocity_response.py +2 -2
  472. wandelbots_api_client/v2/models/{torque_exceeded.py → torque_exceeded_error.py} +7 -7
  473. wandelbots_api_client/v2/models/{torque_exceeded_torque_exceeded.py → torque_exceeded_error_torque_exceeded.py} +6 -6
  474. wandelbots_api_client/v2/models/trajectory_data.py +5 -5
  475. wandelbots_api_client/v2/models/trajectory_details.py +4 -4
  476. wandelbots_api_client/v2/models/trajectory_ended.py +1 -1
  477. wandelbots_api_client/v2/models/trajectory_id.py +3 -3
  478. wandelbots_api_client/v2/models/trajectory_paused_by_user.py +1 -1
  479. wandelbots_api_client/v2/models/trajectory_paused_on_io.py +1 -1
  480. wandelbots_api_client/v2/models/trajectory_running.py +4 -3
  481. wandelbots_api_client/v2/models/trajectory_wait_for_io.py +1 -1
  482. wandelbots_api_client/v2/models/universalrobots_controller.py +4 -7
  483. wandelbots_api_client/v2/models/update_nova_version_request.py +1 -1
  484. wandelbots_api_client/v2/models/validation_error.py +4 -4
  485. wandelbots_api_client/v2/models/validation_error2.py +3 -3
  486. wandelbots_api_client/v2/models/virtual_controller.py +6 -9
  487. wandelbots_api_client/v2/models/virtual_controller_types.py +3 -0
  488. wandelbots_api_client/v2/models/virtual_robot_configuration.py +2 -2
  489. wandelbots_api_client/v2/models/wait_for_io_event_request.py +2 -2
  490. wandelbots_api_client/v2/models/yaskawa_controller.py +4 -7
  491. wandelbots_api_client/v2_pydantic/__init__.py +51 -0
  492. wandelbots_api_client/v2_pydantic/api/__init__.py +49 -0
  493. wandelbots_api_client/v2_pydantic/api/application_api.py +1822 -0
  494. wandelbots_api_client/v2_pydantic/api/bus_inputs_outputs_api.py +4652 -0
  495. wandelbots_api_client/v2_pydantic/api/cell_api.py +2025 -0
  496. wandelbots_api_client/v2_pydantic/api/controller_api.py +3758 -0
  497. wandelbots_api_client/v2_pydantic/api/controller_inputs_outputs_api.py +1408 -0
  498. wandelbots_api_client/v2_pydantic/api/jogging_api.py +126 -0
  499. wandelbots_api_client/v2_pydantic/api/kinematics_api.py +649 -0
  500. wandelbots_api_client/v2_pydantic/api/license_api.py +1074 -0
  501. wandelbots_api_client/v2_pydantic/api/motion_group_api.py +740 -0
  502. wandelbots_api_client/v2_pydantic/api/motion_group_models_api.py +570 -0
  503. wandelbots_api_client/v2_pydantic/api/program_api.py +1200 -0
  504. wandelbots_api_client/v2_pydantic/api/store_collision_components_api.py +4216 -0
  505. wandelbots_api_client/v2_pydantic/api/store_collision_setups_api.py +1435 -0
  506. wandelbots_api_client/v2_pydantic/api/store_object_api.py +1738 -0
  507. wandelbots_api_client/v2_pydantic/api/system_api.py +2454 -0
  508. wandelbots_api_client/v2_pydantic/api/trajectory_caching_api.py +1524 -0
  509. wandelbots_api_client/v2_pydantic/api/trajectory_execution_api.py +126 -0
  510. wandelbots_api_client/v2_pydantic/api/trajectory_planning_api.py +649 -0
  511. wandelbots_api_client/v2_pydantic/api/virtual_controller_api.py +4656 -0
  512. wandelbots_api_client/v2_pydantic/api/virtual_controller_behavior_api.py +1001 -0
  513. wandelbots_api_client/v2_pydantic/api/virtual_controller_inputs_outputs_api.py +1022 -0
  514. wandelbots_api_client/v2_pydantic/api_client.py +810 -0
  515. wandelbots_api_client/v2_pydantic/api_response.py +21 -0
  516. wandelbots_api_client/v2_pydantic/configuration.py +595 -0
  517. wandelbots_api_client/v2_pydantic/exceptions.py +216 -0
  518. wandelbots_api_client/v2_pydantic/models.py +4547 -0
  519. wandelbots_api_client/v2_pydantic/py.typed +0 -0
  520. wandelbots_api_client/v2_pydantic/rest.py +212 -0
  521. {wandelbots_api_client-25.9.0.dev2.dist-info → wandelbots_api_client-25.10.0.dev47.dist-info}/METADATA +16 -15
  522. wandelbots_api_client-25.10.0.dev47.dist-info/RECORD +636 -0
  523. wandelbots_api_client-25.9.0.dev2.dist-info/RECORD +0 -597
  524. {wandelbots_api_client-25.9.0.dev2.dist-info → wandelbots_api_client-25.10.0.dev47.dist-info}/WHEEL +0 -0
  525. {wandelbots_api_client-25.9.0.dev2.dist-info → wandelbots_api_client-25.10.0.dev47.dist-info}/licenses/LICENSE +0 -0
  526. {wandelbots_api_client-25.9.0.dev2.dist-info → wandelbots_api_client-25.10.0.dev47.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1001 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Wandelbots NOVA API
5
+
6
+ Interact with robots in an easy and intuitive way. > **Note:** API version 2 is experimental and will experience functional changes.
7
+
8
+ The version of the OpenAPI document: 2.0.0 beta
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from furl import furl
16
+ import json
17
+ import humps
18
+ import re
19
+ import warnings
20
+ import websockets
21
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
22
+ from typing import Any, AsyncGenerator, Callable, Dict, List, Optional, Tuple, Union
23
+ from typing_extensions import Annotated
24
+ from urllib.parse import quote
25
+
26
+ from pydantic import Field, StrictStr
27
+ from typing import List, Optional
28
+ from typing_extensions import Annotated
29
+ from wandelbots_api_client.v2_pydantic.models import Behavior
30
+ from wandelbots_api_client.v2_pydantic.models import CycleTime
31
+ from wandelbots_api_client.v2_pydantic.models import ExternalJointStreamDatapoint
32
+ from wandelbots_api_client.v2_pydantic.models import ExternalJointStreamRequest
33
+
34
+ from wandelbots_api_client.v2_pydantic.api_client import ApiClient, RequestSerialized
35
+ from wandelbots_api_client.v2_pydantic.api_response import ApiResponse
36
+ from wandelbots_api_client.v2_pydantic.rest import RESTResponseType
37
+
38
+ class VirtualControllerBehaviorApi:
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 external_joints_stream(self, cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")], controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")], client_request_generator: Callable[[AsyncGenerator[List[ExternalJointStreamDatapoint], None]], AsyncGenerator[ExternalJointStreamRequest, None]]) -> None: # noqa: E501
52
+ """Stream Joint Configuration # noqa: E501
53
+
54
+ <!-- theme: success --> > Websocket endpoint Sends the **commanded** state, e.g., joint positions, velocities, accelerations, torques, for each motion group of the virtual controller and sets the joint configuration. Use [planTrajectory](planTrajectory) and [executeTrajectory](executeTrajectory) to move motion groups on virtual controllers. Learn more about the [movement behavior of virtual controllers in comparison to physical controllers](executeTrajectory#movement-behavior). > **NOTE** > > Incoming joint configurations are not visualized and their velocity limits are not checked. #### Use cases 1. Creating a robotic application that dynamically adapts to the configured joints on the robot controller, using this stream to feed new joint configurations back to the motion groups.\\ The stream only sends data to the robot controller if a motion is executed.\\ If the robot controller's joint configuration differs too much from the incoming joint configuration, a following error occurs. Joint configurations that result in following errors are executed only for motions with a low velocity. 2. Mimic freedrive motions. <!-- theme: danger --> > **DANGER** > > If the incoming joint configuration is set to maximum velocity, the movement to reach this incoming joint configuration > will be executed with maximum speed regardless of safety zones and mechanical limits. # noqa: E501
55
+ :param client_request_generator: An AsyncGenerator that yields request of type ExternalJointsStreamRequest and takes an AsyncGenerator of List[ExternalJointStreamDatapoint] as an input argument (required)
56
+ :info All responses from the server will be yielded to client_request_generator through the (AsyncGenerator[List[ExternalJointStreamDatapoint], None])
57
+ :type AsyncGenerator[ExternalJointsStreamRequest, None]
58
+ """
59
+ def format_path_parameters(path):
60
+ # Find all substrings that are enclosed in brackets
61
+ bracket_contents = re.findall(r'\{(.*?)\}', path)
62
+
63
+ # For each found substring, alter it to match the python variable name
64
+ for content in bracket_contents:
65
+ content = "{" + content + "}"
66
+ modified_content = humps.dekebabize(content)
67
+ path = path.replace(content, modified_content)
68
+
69
+ return path
70
+
71
+ async def iterate_responses(ws) -> AsyncGenerator[List[ExternalJointStreamDatapoint], None]:
72
+ async for response in ws:
73
+ if "Cancelled on the server side" in response:
74
+ break
75
+ response_data = json.loads(response)
76
+ if "result" not in response_data:
77
+ raise Exception(response_data)
78
+ result_data = response_data["result"]
79
+ if isinstance(result_data, list):
80
+ # Handle list of objects
81
+ import re
82
+ # Extract the base type from List[BaseType] pattern
83
+ return_type_str = "List[ExternalJointStreamDatapoint]"
84
+ if return_type_str.startswith("List[") and return_type_str.endswith("]"):
85
+ base_type_name = return_type_str[5:-1] # Remove "List[" and "]"
86
+ # Get the actual class from the module
87
+ base_type_class = globals().get(base_type_name)
88
+ if base_type_class and hasattr(base_type_class, 'model_validate'):
89
+ result_list = [base_type_class.model_validate(item) for item in result_data]
90
+ yield result_list
91
+ else:
92
+ yield result_data
93
+ else:
94
+ yield result_data
95
+ else:
96
+ # Handle single object
97
+ yield List[ExternalJointStreamDatapoint].model_validate(result_data)
98
+
99
+
100
+ path = format_path_parameters("/cells/{cell}/virtual-controllers/{controller}/external-joints-stream")
101
+ path = path.format(cell=cell,controller=controller,)
102
+
103
+ headers = websockets.Headers()
104
+ tmp_host = self.api_client.configuration.host
105
+ if self.api_client.configuration.host.startswith("https://"):
106
+ # Basic Auth
107
+ if self.api_client.configuration.username:
108
+ tmp_host = self.api_client.configuration.host.replace("https://", "")
109
+ tmp_host = f"wss://{self.api_client.configuration.username}:{self.api_client.configuration.password}@{tmp_host}"
110
+
111
+ # OAuth2
112
+ elif self.api_client.configuration.access_token:
113
+ tmp_host = self.api_client.configuration.host.replace("https://", "")
114
+ tmp_host = f"wss://{tmp_host}"
115
+ headers = websockets.Headers([
116
+ ("Authorization", f"Bearer {self.api_client.configuration.access_token}")
117
+ ])
118
+ else:
119
+ tmp_host = tmp_host.replace("http://", "ws://")
120
+
121
+ full_url = furl(tmp_host + path)
122
+
123
+ async with websockets.connect(full_url.url, open_timeout=10, additional_headers=headers) as websocket:
124
+ try:
125
+ async for request in client_request_generator(iterate_responses(websocket)):
126
+ await websocket.send(request.model_dump_json(exclude_none=True))
127
+ finally:
128
+ await websocket.close()
129
+
130
+
131
+ @validate_call
132
+ async def get_cycle_time(
133
+ self,
134
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
135
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
136
+ _request_timeout: Union[
137
+ None,
138
+ Annotated[StrictFloat, Field(gt=0)],
139
+ Tuple[
140
+ Annotated[StrictFloat, Field(gt=0)],
141
+ Annotated[StrictFloat, Field(gt=0)]
142
+ ]
143
+ ] = None,
144
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
145
+ _content_type: Optional[StrictStr] = None,
146
+ _headers: Optional[Dict[StrictStr, Any]] = None,
147
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
148
+ ) -> CycleTime:
149
+ """Get Cycle Time
150
+
151
+ Get the cycle time of controller communication in [ms].
152
+
153
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
154
+ :type cell: str
155
+ :param controller: Unique identifier to address a controller in the cell. (required)
156
+ :type controller: str
157
+ :param _request_timeout: timeout setting for this request. If one
158
+ number provided, it will be total request
159
+ timeout. It can also be a pair (tuple) of
160
+ (connection, read) timeouts.
161
+ :type _request_timeout: int, tuple(int, int), optional
162
+ :param _request_auth: set to override the auth_settings for an a single
163
+ request; this effectively ignores the
164
+ authentication in the spec for a single request.
165
+ :type _request_auth: dict, optional
166
+ :param _content_type: force content-type for the request.
167
+ :type _content_type: str, Optional
168
+ :param _headers: set to override the headers for a single
169
+ request; this effectively ignores the headers
170
+ in the spec for a single request.
171
+ :type _headers: dict, optional
172
+ :param _host_index: set to override the host_index for a single
173
+ request; this effectively ignores the host_index
174
+ in the spec for a single request.
175
+ :type _host_index: int, optional
176
+ :return: Returns the result object.
177
+ """ # noqa: E501
178
+
179
+ _param = self._get_cycle_time_serialize(
180
+ cell=cell,
181
+ controller=controller,
182
+ _request_auth=_request_auth,
183
+ _content_type=_content_type,
184
+ _headers=_headers,
185
+ _host_index=_host_index
186
+ )
187
+
188
+ _response_types_map: Dict[str, Optional[str]] = {
189
+ '200': "CycleTime",
190
+ '400': "Error",
191
+ '404': "Error",
192
+ }
193
+
194
+
195
+ response_data = await self.api_client.call_api(
196
+ *_param,
197
+ _request_timeout=_request_timeout
198
+ )
199
+ await response_data.read()
200
+ return self.api_client.response_deserialize(
201
+ response_data=response_data,
202
+ response_types_map=_response_types_map,
203
+ ).data
204
+
205
+
206
+ @validate_call
207
+ async def get_cycle_time_with_http_info(
208
+ self,
209
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
210
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
211
+ _request_timeout: Union[
212
+ None,
213
+ Annotated[StrictFloat, Field(gt=0)],
214
+ Tuple[
215
+ Annotated[StrictFloat, Field(gt=0)],
216
+ Annotated[StrictFloat, Field(gt=0)]
217
+ ]
218
+ ] = None,
219
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
220
+ _content_type: Optional[StrictStr] = None,
221
+ _headers: Optional[Dict[StrictStr, Any]] = None,
222
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
223
+ ) -> ApiResponse[CycleTime]:
224
+ """Get Cycle Time
225
+
226
+ Get the cycle time of controller communication in [ms].
227
+
228
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
229
+ :type cell: str
230
+ :param controller: Unique identifier to address a controller in the cell. (required)
231
+ :type controller: str
232
+ :param _request_timeout: timeout setting for this request. If one
233
+ number provided, it will be total request
234
+ timeout. It can also be a pair (tuple) of
235
+ (connection, read) timeouts.
236
+ :type _request_timeout: int, tuple(int, int), optional
237
+ :param _request_auth: set to override the auth_settings for an a single
238
+ request; this effectively ignores the
239
+ authentication in the spec for a single request.
240
+ :type _request_auth: dict, optional
241
+ :param _content_type: force content-type for the request.
242
+ :type _content_type: str, Optional
243
+ :param _headers: set to override the headers for a single
244
+ request; this effectively ignores the headers
245
+ in the spec for a single request.
246
+ :type _headers: dict, optional
247
+ :param _host_index: set to override the host_index for a single
248
+ request; this effectively ignores the host_index
249
+ in the spec for a single request.
250
+ :type _host_index: int, optional
251
+ :return: Returns the result object.
252
+ """ # noqa: E501
253
+
254
+ _param = self._get_cycle_time_serialize(
255
+ cell=cell,
256
+ controller=controller,
257
+ _request_auth=_request_auth,
258
+ _content_type=_content_type,
259
+ _headers=_headers,
260
+ _host_index=_host_index
261
+ )
262
+
263
+ _response_types_map: Dict[str, Optional[str]] = {
264
+ '200': "CycleTime",
265
+ '400': "Error",
266
+ '404': "Error",
267
+ }
268
+
269
+
270
+ response_data = await self.api_client.call_api(
271
+ *_param,
272
+ _request_timeout=_request_timeout
273
+ )
274
+ await response_data.read()
275
+ return self.api_client.response_deserialize(
276
+ response_data=response_data,
277
+ response_types_map=_response_types_map,
278
+ )
279
+
280
+
281
+ @validate_call
282
+ async def get_cycle_time_without_preload_content(
283
+ self,
284
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
285
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
286
+ _request_timeout: Union[
287
+ None,
288
+ Annotated[StrictFloat, Field(gt=0)],
289
+ Tuple[
290
+ Annotated[StrictFloat, Field(gt=0)],
291
+ Annotated[StrictFloat, Field(gt=0)]
292
+ ]
293
+ ] = None,
294
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
295
+ _content_type: Optional[StrictStr] = None,
296
+ _headers: Optional[Dict[StrictStr, Any]] = None,
297
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
298
+ ) -> RESTResponseType:
299
+ """Get Cycle Time
300
+
301
+ Get the cycle time of controller communication in [ms].
302
+
303
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
304
+ :type cell: str
305
+ :param controller: Unique identifier to address a controller in the cell. (required)
306
+ :type controller: str
307
+ :param _request_timeout: timeout setting for this request. If one
308
+ number provided, it will be total request
309
+ timeout. It can also be a pair (tuple) of
310
+ (connection, read) timeouts.
311
+ :type _request_timeout: int, tuple(int, int), optional
312
+ :param _request_auth: set to override the auth_settings for an a single
313
+ request; this effectively ignores the
314
+ authentication in the spec for a single request.
315
+ :type _request_auth: dict, optional
316
+ :param _content_type: force content-type for the request.
317
+ :type _content_type: str, Optional
318
+ :param _headers: set to override the headers for a single
319
+ request; this effectively ignores the headers
320
+ in the spec for a single request.
321
+ :type _headers: dict, optional
322
+ :param _host_index: set to override the host_index for a single
323
+ request; this effectively ignores the host_index
324
+ in the spec for a single request.
325
+ :type _host_index: int, optional
326
+ :return: Returns the result object.
327
+ """ # noqa: E501
328
+
329
+ _param = self._get_cycle_time_serialize(
330
+ cell=cell,
331
+ controller=controller,
332
+ _request_auth=_request_auth,
333
+ _content_type=_content_type,
334
+ _headers=_headers,
335
+ _host_index=_host_index
336
+ )
337
+
338
+ _response_types_map: Dict[str, Optional[str]] = {
339
+ '200': "CycleTime",
340
+ '400': "Error",
341
+ '404': "Error",
342
+ }
343
+
344
+
345
+ response_data = await self.api_client.call_api(
346
+ *_param,
347
+ _request_timeout=_request_timeout
348
+ )
349
+ return response_data.response
350
+
351
+
352
+ def _get_cycle_time_serialize(
353
+ self,
354
+ cell,
355
+ controller,
356
+ _request_auth,
357
+ _content_type,
358
+ _headers,
359
+ _host_index,
360
+ ) -> RequestSerialized:
361
+
362
+ _host = None
363
+
364
+ _collection_formats: Dict[str, str] = {
365
+ }
366
+
367
+ _path_params: Dict[str, str] = {}
368
+ _query_params: List[Tuple[str, str]] = []
369
+ _header_params: Dict[str, Optional[str]] = _headers or {}
370
+ _form_params: List[Tuple[str, str]] = []
371
+ _files: Dict[str, Union[str, bytes]] = {}
372
+ _body_params: Optional[bytes] = None
373
+
374
+ # process the path parameters
375
+ if cell is not None:
376
+ _path_params['cell'] = cell
377
+ if controller is not None:
378
+ _path_params['controller'] = controller
379
+ # process the query parameters
380
+ # process the header parameters
381
+ # process the form parameters
382
+ # process the body parameter
383
+
384
+
385
+ # set the HTTP header `Accept`
386
+ _header_params['Accept'] = self.api_client.select_header_accept(
387
+ [
388
+ 'application/json'
389
+ ]
390
+ )
391
+
392
+
393
+ # authentication setting
394
+ _auth_settings: List[str] = [
395
+ 'BasicAuth',
396
+ 'BearerAuth'
397
+ ]
398
+
399
+ return self.api_client.param_serialize(
400
+ method='GET',
401
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/cycle-time',
402
+ path_params=_path_params,
403
+ query_params=_query_params,
404
+ header_params=_header_params,
405
+ body=_body_params,
406
+ post_params=_form_params,
407
+ files=_files,
408
+ auth_settings=_auth_settings,
409
+ collection_formats=_collection_formats,
410
+ _host=_host,
411
+ _request_auth=_request_auth
412
+ )
413
+
414
+
415
+
416
+ @validate_call
417
+ async def get_virtual_controller_behavior(
418
+ self,
419
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
420
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
421
+ _request_timeout: Union[
422
+ None,
423
+ Annotated[StrictFloat, Field(gt=0)],
424
+ Tuple[
425
+ Annotated[StrictFloat, Field(gt=0)],
426
+ Annotated[StrictFloat, Field(gt=0)]
427
+ ]
428
+ ] = None,
429
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
430
+ _content_type: Optional[StrictStr] = None,
431
+ _headers: Optional[Dict[StrictStr, Any]] = None,
432
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
433
+ ) -> Behavior:
434
+ """Get Behavior
435
+
436
+ Get the current virtual controller behavior. See [setVirtualControllerBehavior](setVirtualControllerBehavior) and the body for details.
437
+
438
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
439
+ :type cell: str
440
+ :param controller: Unique identifier to address a controller in the cell. (required)
441
+ :type controller: str
442
+ :param _request_timeout: timeout setting for this request. If one
443
+ number provided, it will be total request
444
+ timeout. It can also be a pair (tuple) of
445
+ (connection, read) timeouts.
446
+ :type _request_timeout: int, tuple(int, int), optional
447
+ :param _request_auth: set to override the auth_settings for an a single
448
+ request; this effectively ignores the
449
+ authentication in the spec for a single request.
450
+ :type _request_auth: dict, optional
451
+ :param _content_type: force content-type for the request.
452
+ :type _content_type: str, Optional
453
+ :param _headers: set to override the headers for a single
454
+ request; this effectively ignores the headers
455
+ in the spec for a single request.
456
+ :type _headers: dict, optional
457
+ :param _host_index: set to override the host_index for a single
458
+ request; this effectively ignores the host_index
459
+ in the spec for a single request.
460
+ :type _host_index: int, optional
461
+ :return: Returns the result object.
462
+ """ # noqa: E501
463
+
464
+ _param = self._get_virtual_controller_behavior_serialize(
465
+ cell=cell,
466
+ controller=controller,
467
+ _request_auth=_request_auth,
468
+ _content_type=_content_type,
469
+ _headers=_headers,
470
+ _host_index=_host_index
471
+ )
472
+
473
+ _response_types_map: Dict[str, Optional[str]] = {
474
+ '200': "Behavior",
475
+ '400': "Error",
476
+ '404': "Error",
477
+ }
478
+
479
+
480
+ response_data = await self.api_client.call_api(
481
+ *_param,
482
+ _request_timeout=_request_timeout
483
+ )
484
+ await response_data.read()
485
+ return self.api_client.response_deserialize(
486
+ response_data=response_data,
487
+ response_types_map=_response_types_map,
488
+ ).data
489
+
490
+
491
+ @validate_call
492
+ async def get_virtual_controller_behavior_with_http_info(
493
+ self,
494
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
495
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
496
+ _request_timeout: Union[
497
+ None,
498
+ Annotated[StrictFloat, Field(gt=0)],
499
+ Tuple[
500
+ Annotated[StrictFloat, Field(gt=0)],
501
+ Annotated[StrictFloat, Field(gt=0)]
502
+ ]
503
+ ] = None,
504
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
505
+ _content_type: Optional[StrictStr] = None,
506
+ _headers: Optional[Dict[StrictStr, Any]] = None,
507
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
508
+ ) -> ApiResponse[Behavior]:
509
+ """Get Behavior
510
+
511
+ Get the current virtual controller behavior. See [setVirtualControllerBehavior](setVirtualControllerBehavior) and the body for details.
512
+
513
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
514
+ :type cell: str
515
+ :param controller: Unique identifier to address a controller in the cell. (required)
516
+ :type controller: str
517
+ :param _request_timeout: timeout setting for this request. If one
518
+ number provided, it will be total request
519
+ timeout. It can also be a pair (tuple) of
520
+ (connection, read) timeouts.
521
+ :type _request_timeout: int, tuple(int, int), optional
522
+ :param _request_auth: set to override the auth_settings for an a single
523
+ request; this effectively ignores the
524
+ authentication in the spec for a single request.
525
+ :type _request_auth: dict, optional
526
+ :param _content_type: force content-type for the request.
527
+ :type _content_type: str, Optional
528
+ :param _headers: set to override the headers for a single
529
+ request; this effectively ignores the headers
530
+ in the spec for a single request.
531
+ :type _headers: dict, optional
532
+ :param _host_index: set to override the host_index for a single
533
+ request; this effectively ignores the host_index
534
+ in the spec for a single request.
535
+ :type _host_index: int, optional
536
+ :return: Returns the result object.
537
+ """ # noqa: E501
538
+
539
+ _param = self._get_virtual_controller_behavior_serialize(
540
+ cell=cell,
541
+ controller=controller,
542
+ _request_auth=_request_auth,
543
+ _content_type=_content_type,
544
+ _headers=_headers,
545
+ _host_index=_host_index
546
+ )
547
+
548
+ _response_types_map: Dict[str, Optional[str]] = {
549
+ '200': "Behavior",
550
+ '400': "Error",
551
+ '404': "Error",
552
+ }
553
+
554
+
555
+ response_data = await self.api_client.call_api(
556
+ *_param,
557
+ _request_timeout=_request_timeout
558
+ )
559
+ await response_data.read()
560
+ return self.api_client.response_deserialize(
561
+ response_data=response_data,
562
+ response_types_map=_response_types_map,
563
+ )
564
+
565
+
566
+ @validate_call
567
+ async def get_virtual_controller_behavior_without_preload_content(
568
+ self,
569
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
570
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
571
+ _request_timeout: Union[
572
+ None,
573
+ Annotated[StrictFloat, Field(gt=0)],
574
+ Tuple[
575
+ Annotated[StrictFloat, Field(gt=0)],
576
+ Annotated[StrictFloat, Field(gt=0)]
577
+ ]
578
+ ] = None,
579
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
580
+ _content_type: Optional[StrictStr] = None,
581
+ _headers: Optional[Dict[StrictStr, Any]] = None,
582
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
583
+ ) -> RESTResponseType:
584
+ """Get Behavior
585
+
586
+ Get the current virtual controller behavior. See [setVirtualControllerBehavior](setVirtualControllerBehavior) and the body for details.
587
+
588
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
589
+ :type cell: str
590
+ :param controller: Unique identifier to address a controller in the cell. (required)
591
+ :type controller: str
592
+ :param _request_timeout: timeout setting for this request. If one
593
+ number provided, it will be total request
594
+ timeout. It can also be a pair (tuple) of
595
+ (connection, read) timeouts.
596
+ :type _request_timeout: int, tuple(int, int), optional
597
+ :param _request_auth: set to override the auth_settings for an a single
598
+ request; this effectively ignores the
599
+ authentication in the spec for a single request.
600
+ :type _request_auth: dict, optional
601
+ :param _content_type: force content-type for the request.
602
+ :type _content_type: str, Optional
603
+ :param _headers: set to override the headers for a single
604
+ request; this effectively ignores the headers
605
+ in the spec for a single request.
606
+ :type _headers: dict, optional
607
+ :param _host_index: set to override the host_index for a single
608
+ request; this effectively ignores the host_index
609
+ in the spec for a single request.
610
+ :type _host_index: int, optional
611
+ :return: Returns the result object.
612
+ """ # noqa: E501
613
+
614
+ _param = self._get_virtual_controller_behavior_serialize(
615
+ cell=cell,
616
+ controller=controller,
617
+ _request_auth=_request_auth,
618
+ _content_type=_content_type,
619
+ _headers=_headers,
620
+ _host_index=_host_index
621
+ )
622
+
623
+ _response_types_map: Dict[str, Optional[str]] = {
624
+ '200': "Behavior",
625
+ '400': "Error",
626
+ '404': "Error",
627
+ }
628
+
629
+
630
+ response_data = await self.api_client.call_api(
631
+ *_param,
632
+ _request_timeout=_request_timeout
633
+ )
634
+ return response_data.response
635
+
636
+
637
+ def _get_virtual_controller_behavior_serialize(
638
+ self,
639
+ cell,
640
+ controller,
641
+ _request_auth,
642
+ _content_type,
643
+ _headers,
644
+ _host_index,
645
+ ) -> RequestSerialized:
646
+
647
+ _host = None
648
+
649
+ _collection_formats: Dict[str, str] = {
650
+ }
651
+
652
+ _path_params: Dict[str, str] = {}
653
+ _query_params: List[Tuple[str, str]] = []
654
+ _header_params: Dict[str, Optional[str]] = _headers or {}
655
+ _form_params: List[Tuple[str, str]] = []
656
+ _files: Dict[str, Union[str, bytes]] = {}
657
+ _body_params: Optional[bytes] = None
658
+
659
+ # process the path parameters
660
+ if cell is not None:
661
+ _path_params['cell'] = cell
662
+ if controller is not None:
663
+ _path_params['controller'] = controller
664
+ # process the query parameters
665
+ # process the header parameters
666
+ # process the form parameters
667
+ # process the body parameter
668
+
669
+
670
+ # set the HTTP header `Accept`
671
+ _header_params['Accept'] = self.api_client.select_header_accept(
672
+ [
673
+ 'application/json'
674
+ ]
675
+ )
676
+
677
+
678
+ # authentication setting
679
+ _auth_settings: List[str] = [
680
+ 'BasicAuth',
681
+ 'BearerAuth'
682
+ ]
683
+
684
+ return self.api_client.param_serialize(
685
+ method='GET',
686
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/behavior',
687
+ path_params=_path_params,
688
+ query_params=_query_params,
689
+ header_params=_header_params,
690
+ body=_body_params,
691
+ post_params=_form_params,
692
+ files=_files,
693
+ auth_settings=_auth_settings,
694
+ collection_formats=_collection_formats,
695
+ _host=_host,
696
+ _request_auth=_request_auth
697
+ )
698
+
699
+
700
+
701
+ @validate_call
702
+ async def set_virtual_controller_behavior(
703
+ self,
704
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
705
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
706
+ behavior: Optional[Behavior] = None,
707
+ _request_timeout: Union[
708
+ None,
709
+ Annotated[StrictFloat, Field(gt=0)],
710
+ Tuple[
711
+ Annotated[StrictFloat, Field(gt=0)],
712
+ Annotated[StrictFloat, Field(gt=0)]
713
+ ]
714
+ ] = None,
715
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
716
+ _content_type: Optional[StrictStr] = None,
717
+ _headers: Optional[Dict[StrictStr, Any]] = None,
718
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
719
+ ) -> None:
720
+ """Set Behavior
721
+
722
+ Set virtual controller behavior. See query parameters for details.
723
+
724
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
725
+ :type cell: str
726
+ :param controller: Unique identifier to address a controller in the cell. (required)
727
+ :type controller: str
728
+ :param behavior:
729
+ :type behavior: Behavior
730
+ :param _request_timeout: timeout setting for this request. If one
731
+ number provided, it will be total request
732
+ timeout. It can also be a pair (tuple) of
733
+ (connection, read) timeouts.
734
+ :type _request_timeout: int, tuple(int, int), optional
735
+ :param _request_auth: set to override the auth_settings for an a single
736
+ request; this effectively ignores the
737
+ authentication in the spec for a single request.
738
+ :type _request_auth: dict, optional
739
+ :param _content_type: force content-type for the request.
740
+ :type _content_type: str, Optional
741
+ :param _headers: set to override the headers for a single
742
+ request; this effectively ignores the headers
743
+ in the spec for a single request.
744
+ :type _headers: dict, optional
745
+ :param _host_index: set to override the host_index for a single
746
+ request; this effectively ignores the host_index
747
+ in the spec for a single request.
748
+ :type _host_index: int, optional
749
+ :return: Returns the result object.
750
+ """ # noqa: E501
751
+
752
+ _param = self._set_virtual_controller_behavior_serialize(
753
+ cell=cell,
754
+ controller=controller,
755
+ behavior=behavior,
756
+ _request_auth=_request_auth,
757
+ _content_type=_content_type,
758
+ _headers=_headers,
759
+ _host_index=_host_index
760
+ )
761
+
762
+ _response_types_map: Dict[str, Optional[str]] = {
763
+ '200': None,
764
+ '400': "Error",
765
+ '404': "Error",
766
+ }
767
+
768
+
769
+ response_data = await self.api_client.call_api(
770
+ *_param,
771
+ _request_timeout=_request_timeout
772
+ )
773
+ await response_data.read()
774
+ return self.api_client.response_deserialize(
775
+ response_data=response_data,
776
+ response_types_map=_response_types_map,
777
+ ).data
778
+
779
+
780
+ @validate_call
781
+ async def set_virtual_controller_behavior_with_http_info(
782
+ self,
783
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
784
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
785
+ behavior: Optional[Behavior] = None,
786
+ _request_timeout: Union[
787
+ None,
788
+ Annotated[StrictFloat, Field(gt=0)],
789
+ Tuple[
790
+ Annotated[StrictFloat, Field(gt=0)],
791
+ Annotated[StrictFloat, Field(gt=0)]
792
+ ]
793
+ ] = None,
794
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
795
+ _content_type: Optional[StrictStr] = None,
796
+ _headers: Optional[Dict[StrictStr, Any]] = None,
797
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
798
+ ) -> ApiResponse[None]:
799
+ """Set Behavior
800
+
801
+ Set virtual controller behavior. See query parameters for details.
802
+
803
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
804
+ :type cell: str
805
+ :param controller: Unique identifier to address a controller in the cell. (required)
806
+ :type controller: str
807
+ :param behavior:
808
+ :type behavior: Behavior
809
+ :param _request_timeout: timeout setting for this request. If one
810
+ number provided, it will be total request
811
+ timeout. It can also be a pair (tuple) of
812
+ (connection, read) timeouts.
813
+ :type _request_timeout: int, tuple(int, int), optional
814
+ :param _request_auth: set to override the auth_settings for an a single
815
+ request; this effectively ignores the
816
+ authentication in the spec for a single request.
817
+ :type _request_auth: dict, optional
818
+ :param _content_type: force content-type for the request.
819
+ :type _content_type: str, Optional
820
+ :param _headers: set to override the headers for a single
821
+ request; this effectively ignores the headers
822
+ in the spec for a single request.
823
+ :type _headers: dict, optional
824
+ :param _host_index: set to override the host_index for a single
825
+ request; this effectively ignores the host_index
826
+ in the spec for a single request.
827
+ :type _host_index: int, optional
828
+ :return: Returns the result object.
829
+ """ # noqa: E501
830
+
831
+ _param = self._set_virtual_controller_behavior_serialize(
832
+ cell=cell,
833
+ controller=controller,
834
+ behavior=behavior,
835
+ _request_auth=_request_auth,
836
+ _content_type=_content_type,
837
+ _headers=_headers,
838
+ _host_index=_host_index
839
+ )
840
+
841
+ _response_types_map: Dict[str, Optional[str]] = {
842
+ '200': None,
843
+ '400': "Error",
844
+ '404': "Error",
845
+ }
846
+
847
+
848
+ response_data = await self.api_client.call_api(
849
+ *_param,
850
+ _request_timeout=_request_timeout
851
+ )
852
+ await response_data.read()
853
+ return self.api_client.response_deserialize(
854
+ response_data=response_data,
855
+ response_types_map=_response_types_map,
856
+ )
857
+
858
+
859
+ @validate_call
860
+ async def set_virtual_controller_behavior_without_preload_content(
861
+ self,
862
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
863
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
864
+ behavior: Optional[Behavior] = None,
865
+ _request_timeout: Union[
866
+ None,
867
+ Annotated[StrictFloat, Field(gt=0)],
868
+ Tuple[
869
+ Annotated[StrictFloat, Field(gt=0)],
870
+ Annotated[StrictFloat, Field(gt=0)]
871
+ ]
872
+ ] = None,
873
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
874
+ _content_type: Optional[StrictStr] = None,
875
+ _headers: Optional[Dict[StrictStr, Any]] = None,
876
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
877
+ ) -> RESTResponseType:
878
+ """Set Behavior
879
+
880
+ Set virtual controller behavior. See query parameters for details.
881
+
882
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
883
+ :type cell: str
884
+ :param controller: Unique identifier to address a controller in the cell. (required)
885
+ :type controller: str
886
+ :param behavior:
887
+ :type behavior: Behavior
888
+ :param _request_timeout: timeout setting for this request. If one
889
+ number provided, it will be total request
890
+ timeout. It can also be a pair (tuple) of
891
+ (connection, read) timeouts.
892
+ :type _request_timeout: int, tuple(int, int), optional
893
+ :param _request_auth: set to override the auth_settings for an a single
894
+ request; this effectively ignores the
895
+ authentication in the spec for a single request.
896
+ :type _request_auth: dict, optional
897
+ :param _content_type: force content-type for the request.
898
+ :type _content_type: str, Optional
899
+ :param _headers: set to override the headers for a single
900
+ request; this effectively ignores the headers
901
+ in the spec for a single request.
902
+ :type _headers: dict, optional
903
+ :param _host_index: set to override the host_index for a single
904
+ request; this effectively ignores the host_index
905
+ in the spec for a single request.
906
+ :type _host_index: int, optional
907
+ :return: Returns the result object.
908
+ """ # noqa: E501
909
+
910
+ _param = self._set_virtual_controller_behavior_serialize(
911
+ cell=cell,
912
+ controller=controller,
913
+ behavior=behavior,
914
+ _request_auth=_request_auth,
915
+ _content_type=_content_type,
916
+ _headers=_headers,
917
+ _host_index=_host_index
918
+ )
919
+
920
+ _response_types_map: Dict[str, Optional[str]] = {
921
+ '200': None,
922
+ '400': "Error",
923
+ '404': "Error",
924
+ }
925
+
926
+
927
+ response_data = await self.api_client.call_api(
928
+ *_param,
929
+ _request_timeout=_request_timeout
930
+ )
931
+ return response_data.response
932
+
933
+
934
+ def _set_virtual_controller_behavior_serialize(
935
+ self,
936
+ cell,
937
+ controller,
938
+ behavior,
939
+ _request_auth,
940
+ _content_type,
941
+ _headers,
942
+ _host_index,
943
+ ) -> RequestSerialized:
944
+
945
+ _host = None
946
+
947
+ _collection_formats: Dict[str, str] = {
948
+ }
949
+
950
+ _path_params: Dict[str, str] = {}
951
+ _query_params: List[Tuple[str, str]] = []
952
+ _header_params: Dict[str, Optional[str]] = _headers or {}
953
+ _form_params: List[Tuple[str, str]] = []
954
+ _files: Dict[str, Union[str, bytes]] = {}
955
+ _body_params: Optional[bytes] = None
956
+
957
+ # process the path parameters
958
+ if cell is not None:
959
+ _path_params['cell'] = cell
960
+ if controller is not None:
961
+ _path_params['controller'] = controller
962
+ # process the query parameters
963
+ if behavior is not None:
964
+
965
+ _query_params.append(('behavior', behavior.value))
966
+
967
+ # process the header parameters
968
+ # process the form parameters
969
+ # process the body parameter
970
+
971
+
972
+ # set the HTTP header `Accept`
973
+ _header_params['Accept'] = self.api_client.select_header_accept(
974
+ [
975
+ 'application/json'
976
+ ]
977
+ )
978
+
979
+
980
+ # authentication setting
981
+ _auth_settings: List[str] = [
982
+ 'BasicAuth',
983
+ 'BearerAuth'
984
+ ]
985
+
986
+ return self.api_client.param_serialize(
987
+ method='PUT',
988
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/behavior',
989
+ path_params=_path_params,
990
+ query_params=_query_params,
991
+ header_params=_header_params,
992
+ body=_body_params,
993
+ post_params=_form_params,
994
+ files=_files,
995
+ auth_settings=_auth_settings,
996
+ collection_formats=_collection_formats,
997
+ _host=_host,
998
+ _request_auth=_request_auth
999
+ )
1000
+
1001
+