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