wandelbots-isaacsim-api 2.2.2__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 (85) hide show
  1. wandelbots_isaacsim_api/__init__.py +50 -0
  2. wandelbots_isaacsim_api/api/__init__.py +25 -0
  3. wandelbots_isaacsim_api/api/collision_world_api.py +316 -0
  4. wandelbots_isaacsim_api/api/default_api.py +800 -0
  5. wandelbots_isaacsim_api/api/manipulators_motion_group_api.py +1619 -0
  6. wandelbots_isaacsim_api/api/periphery_camera_api.py +3434 -0
  7. wandelbots_isaacsim_api/api/prims_api.py +4963 -0
  8. wandelbots_isaacsim_api/api/stage_api.py +2351 -0
  9. wandelbots_isaacsim_api/api/teaching_api.py +1312 -0
  10. wandelbots_isaacsim_api/api/trajectory_api.py +1686 -0
  11. wandelbots_isaacsim_api/api/ui_api.py +562 -0
  12. wandelbots_isaacsim_api/api_client.py +800 -0
  13. wandelbots_isaacsim_api/api_response.py +21 -0
  14. wandelbots_isaacsim_api/collision/__init__.py +0 -0
  15. wandelbots_isaacsim_api/collision/utils.py +99 -0
  16. wandelbots_isaacsim_api/configuration.py +561 -0
  17. wandelbots_isaacsim_api/exceptions.py +216 -0
  18. wandelbots_isaacsim_api/models/__init__.py +135 -0
  19. wandelbots_isaacsim_api/models/auth0_credentials.py +100 -0
  20. wandelbots_isaacsim_api/models/body_apply_relative_pose.py +99 -0
  21. wandelbots_isaacsim_api/models/body_assign_default_poses.py +91 -0
  22. wandelbots_isaacsim_api/models/body_reset_to_default_poses.py +91 -0
  23. wandelbots_isaacsim_api/models/body_set_joint_state.py +93 -0
  24. wandelbots_isaacsim_api/models/body_set_prim_metadata.py +97 -0
  25. wandelbots_isaacsim_api/models/body_set_prim_visibility.py +103 -0
  26. wandelbots_isaacsim_api/models/body_set_semantic_label.py +93 -0
  27. wandelbots_isaacsim_api/models/body_update_colliders.py +93 -0
  28. wandelbots_isaacsim_api/models/body_update_pose.py +97 -0
  29. wandelbots_isaacsim_api/models/bounding_box2_d.py +98 -0
  30. wandelbots_isaacsim_api/models/bounding_box3_d.py +100 -0
  31. wandelbots_isaacsim_api/models/box.py +119 -0
  32. wandelbots_isaacsim_api/models/box_sweep_parameters.py +111 -0
  33. wandelbots_isaacsim_api/models/capsule.py +105 -0
  34. wandelbots_isaacsim_api/models/collider.py +101 -0
  35. wandelbots_isaacsim_api/models/convex_hull.py +103 -0
  36. wandelbots_isaacsim_api/models/create_ghost_object.py +102 -0
  37. wandelbots_isaacsim_api/models/custom_prim.py +100 -0
  38. wandelbots_isaacsim_api/models/custom_prim_data.py +93 -0
  39. wandelbots_isaacsim_api/models/cylinder.py +105 -0
  40. wandelbots_isaacsim_api/models/ghost_object.py +106 -0
  41. wandelbots_isaacsim_api/models/ghost_object_source.py +93 -0
  42. wandelbots_isaacsim_api/models/gizmo_prim.py +98 -0
  43. wandelbots_isaacsim_api/models/http_validation_error.py +108 -0
  44. wandelbots_isaacsim_api/models/instance_segmentation_data.py +97 -0
  45. wandelbots_isaacsim_api/models/instance_segmentation_info.py +91 -0
  46. wandelbots_isaacsim_api/models/motion_group_configuration.py +99 -0
  47. wandelbots_isaacsim_api/models/motion_stream_configuration.py +101 -0
  48. wandelbots_isaacsim_api/models/patch_trajectory_data.py +107 -0
  49. wandelbots_isaacsim_api/models/plane.py +101 -0
  50. wandelbots_isaacsim_api/models/point_cloud.py +95 -0
  51. wandelbots_isaacsim_api/models/pose.py +137 -0
  52. wandelbots_isaacsim_api/models/pose_position_inner.py +138 -0
  53. wandelbots_isaacsim_api/models/prim.py +165 -0
  54. wandelbots_isaacsim_api/models/prim_selection.py +91 -0
  55. wandelbots_isaacsim_api/models/quat_pose.py +92 -0
  56. wandelbots_isaacsim_api/models/relative_pose_mode.py +39 -0
  57. wandelbots_isaacsim_api/models/response_get_pose.py +134 -0
  58. wandelbots_isaacsim_api/models/response_get_relative_pose.py +134 -0
  59. wandelbots_isaacsim_api/models/response_list_default_poses_value.py +140 -0
  60. wandelbots_isaacsim_api/models/semantic_segmentation_data.py +97 -0
  61. wandelbots_isaacsim_api/models/semantic_segmentation_info.py +91 -0
  62. wandelbots_isaacsim_api/models/shape.py +194 -0
  63. wandelbots_isaacsim_api/models/simulation_state.py +101 -0
  64. wandelbots_isaacsim_api/models/sphere.py +103 -0
  65. wandelbots_isaacsim_api/models/sphere_sweep_parameters.py +107 -0
  66. wandelbots_isaacsim_api/models/stage_units.py +91 -0
  67. wandelbots_isaacsim_api/models/sweep_arguments.py +134 -0
  68. wandelbots_isaacsim_api/models/tcp_source.py +99 -0
  69. wandelbots_isaacsim_api/models/trajectory_data.py +101 -0
  70. wandelbots_isaacsim_api/models/trajectory_marker.py +97 -0
  71. wandelbots_isaacsim_api/models/trajectory_object.py +101 -0
  72. wandelbots_isaacsim_api/models/trajectory_options.py +94 -0
  73. wandelbots_isaacsim_api/models/usd_stage_model.py +91 -0
  74. wandelbots_isaacsim_api/models/validation_error.py +112 -0
  75. wandelbots_isaacsim_api/models/validation_error_loc_inner.py +138 -0
  76. wandelbots_isaacsim_api/models/ws_pose.py +92 -0
  77. wandelbots_isaacsim_api/py.typed +0 -0
  78. wandelbots_isaacsim_api/rest.py +212 -0
  79. wandelbots_isaacsim_api/trajectory/__init__.py +17 -0
  80. wandelbots_isaacsim_api/trajectory/trajectory_viewer.py +111 -0
  81. wandelbots_isaacsim_api/trajectory/utils.py +154 -0
  82. wandelbots_isaacsim_api-2.2.2.dist-info/LICENSE +201 -0
  83. wandelbots_isaacsim_api-2.2.2.dist-info/METADATA +60 -0
  84. wandelbots_isaacsim_api-2.2.2.dist-info/RECORD +85 -0
  85. wandelbots_isaacsim_api-2.2.2.dist-info/WHEEL +4 -0
@@ -0,0 +1,1619 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Wandelbots Omniservice
5
+
6
+ A microservice-based framework for managing Omniverse functionalities
7
+
8
+ The version of the OpenAPI document: 2.2.2
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 StrictStr
27
+ from typing import Dict
28
+ from wandelbots_isaacsim_api.models.motion_group_configuration import MotionGroupConfiguration
29
+ from wandelbots_isaacsim_api.models.motion_stream_configuration import MotionStreamConfiguration
30
+
31
+ from wandelbots_isaacsim_api.api_client import ApiClient, RequestSerialized
32
+ from wandelbots_isaacsim_api.api_response import ApiResponse
33
+ from wandelbots_isaacsim_api.rest import RESTResponseType
34
+
35
+ class ManipulatorsMotionGroupApi:
36
+ """NOTE: This class is auto generated by OpenAPI Generator
37
+ Ref: https://openapi-generator.tech
38
+
39
+ Do not edit the class manually.
40
+ """
41
+
42
+ def __init__(self, api_client=None) -> None:
43
+ if api_client is None:
44
+ api_client = ApiClient.get_default()
45
+ self.api_client = api_client
46
+
47
+ @validate_call
48
+ async def clear_motion_groups(
49
+ self,
50
+ _request_timeout: Union[
51
+ None,
52
+ Annotated[StrictFloat, Field(gt=0)],
53
+ Tuple[
54
+ Annotated[StrictFloat, Field(gt=0)],
55
+ Annotated[StrictFloat, Field(gt=0)]
56
+ ]
57
+ ] = None,
58
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
59
+ _content_type: Optional[StrictStr] = None,
60
+ _headers: Optional[Dict[StrictStr, Any]] = None,
61
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
62
+ ) -> None:
63
+ """Clear Motion Groups
64
+
65
+ Removes all motion_groups
66
+
67
+ :param _request_timeout: timeout setting for this request. If one
68
+ number provided, it will be total request
69
+ timeout. It can also be a pair (tuple) of
70
+ (connection, read) timeouts.
71
+ :type _request_timeout: int, tuple(int, int), optional
72
+ :param _request_auth: set to override the auth_settings for an a single
73
+ request; this effectively ignores the
74
+ authentication in the spec for a single request.
75
+ :type _request_auth: dict, optional
76
+ :param _content_type: force content-type for the request.
77
+ :type _content_type: str, Optional
78
+ :param _headers: set to override the headers for a single
79
+ request; this effectively ignores the headers
80
+ in the spec for a single request.
81
+ :type _headers: dict, optional
82
+ :param _host_index: set to override the host_index for a single
83
+ request; this effectively ignores the host_index
84
+ in the spec for a single request.
85
+ :type _host_index: int, optional
86
+ :return: Returns the result object.
87
+ """ # noqa: E501
88
+
89
+ _param = self._clear_motion_groups_serialize(
90
+ _request_auth=_request_auth,
91
+ _content_type=_content_type,
92
+ _headers=_headers,
93
+ _host_index=_host_index
94
+ )
95
+
96
+ _response_types_map: Dict[str, Optional[str]] = {
97
+ '204': None,
98
+ '404': None,
99
+ }
100
+ response_data = await self.api_client.call_api(
101
+ *_param,
102
+ _request_timeout=_request_timeout
103
+ )
104
+ await response_data.read()
105
+ return self.api_client.response_deserialize(
106
+ response_data=response_data,
107
+ response_types_map=_response_types_map,
108
+ ).data
109
+
110
+
111
+ @validate_call
112
+ async def clear_motion_groups_with_http_info(
113
+ self,
114
+ _request_timeout: Union[
115
+ None,
116
+ Annotated[StrictFloat, Field(gt=0)],
117
+ Tuple[
118
+ Annotated[StrictFloat, Field(gt=0)],
119
+ Annotated[StrictFloat, Field(gt=0)]
120
+ ]
121
+ ] = None,
122
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
123
+ _content_type: Optional[StrictStr] = None,
124
+ _headers: Optional[Dict[StrictStr, Any]] = None,
125
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
126
+ ) -> ApiResponse[None]:
127
+ """Clear Motion Groups
128
+
129
+ Removes all motion_groups
130
+
131
+ :param _request_timeout: timeout setting for this request. If one
132
+ number provided, it will be total request
133
+ timeout. It can also be a pair (tuple) of
134
+ (connection, read) timeouts.
135
+ :type _request_timeout: int, tuple(int, int), optional
136
+ :param _request_auth: set to override the auth_settings for an a single
137
+ request; this effectively ignores the
138
+ authentication in the spec for a single request.
139
+ :type _request_auth: dict, optional
140
+ :param _content_type: force content-type for the request.
141
+ :type _content_type: str, Optional
142
+ :param _headers: set to override the headers for a single
143
+ request; this effectively ignores the headers
144
+ in the spec for a single request.
145
+ :type _headers: dict, optional
146
+ :param _host_index: set to override the host_index for a single
147
+ request; this effectively ignores the host_index
148
+ in the spec for a single request.
149
+ :type _host_index: int, optional
150
+ :return: Returns the result object.
151
+ """ # noqa: E501
152
+
153
+ _param = self._clear_motion_groups_serialize(
154
+ _request_auth=_request_auth,
155
+ _content_type=_content_type,
156
+ _headers=_headers,
157
+ _host_index=_host_index
158
+ )
159
+
160
+ _response_types_map: Dict[str, Optional[str]] = {
161
+ '204': None,
162
+ '404': None,
163
+ }
164
+ response_data = await self.api_client.call_api(
165
+ *_param,
166
+ _request_timeout=_request_timeout
167
+ )
168
+ await response_data.read()
169
+ return self.api_client.response_deserialize(
170
+ response_data=response_data,
171
+ response_types_map=_response_types_map,
172
+ )
173
+
174
+
175
+ @validate_call
176
+ async def clear_motion_groups_without_preload_content(
177
+ self,
178
+ _request_timeout: Union[
179
+ None,
180
+ Annotated[StrictFloat, Field(gt=0)],
181
+ Tuple[
182
+ Annotated[StrictFloat, Field(gt=0)],
183
+ Annotated[StrictFloat, Field(gt=0)]
184
+ ]
185
+ ] = None,
186
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
187
+ _content_type: Optional[StrictStr] = None,
188
+ _headers: Optional[Dict[StrictStr, Any]] = None,
189
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
190
+ ) -> RESTResponseType:
191
+ """Clear Motion Groups
192
+
193
+ Removes all motion_groups
194
+
195
+ :param _request_timeout: timeout setting for this request. If one
196
+ number provided, it will be total request
197
+ timeout. It can also be a pair (tuple) of
198
+ (connection, read) timeouts.
199
+ :type _request_timeout: int, tuple(int, int), optional
200
+ :param _request_auth: set to override the auth_settings for an a single
201
+ request; this effectively ignores the
202
+ authentication in the spec for a single request.
203
+ :type _request_auth: dict, optional
204
+ :param _content_type: force content-type for the request.
205
+ :type _content_type: str, Optional
206
+ :param _headers: set to override the headers for a single
207
+ request; this effectively ignores the headers
208
+ in the spec for a single request.
209
+ :type _headers: dict, optional
210
+ :param _host_index: set to override the host_index for a single
211
+ request; this effectively ignores the host_index
212
+ in the spec for a single request.
213
+ :type _host_index: int, optional
214
+ :return: Returns the result object.
215
+ """ # noqa: E501
216
+
217
+ _param = self._clear_motion_groups_serialize(
218
+ _request_auth=_request_auth,
219
+ _content_type=_content_type,
220
+ _headers=_headers,
221
+ _host_index=_host_index
222
+ )
223
+
224
+ _response_types_map: Dict[str, Optional[str]] = {
225
+ '204': None,
226
+ '404': None,
227
+ }
228
+ response_data = await self.api_client.call_api(
229
+ *_param,
230
+ _request_timeout=_request_timeout
231
+ )
232
+ return response_data.response
233
+
234
+
235
+ def _clear_motion_groups_serialize(
236
+ self,
237
+ _request_auth,
238
+ _content_type,
239
+ _headers,
240
+ _host_index,
241
+ ) -> RequestSerialized:
242
+
243
+ _host = None
244
+
245
+ _collection_formats: Dict[str, str] = {
246
+ }
247
+
248
+ _path_params: Dict[str, str] = {}
249
+ _query_params: List[Tuple[str, str]] = []
250
+ _header_params: Dict[str, Optional[str]] = _headers or {}
251
+ _form_params: List[Tuple[str, str]] = []
252
+ _files: Dict[str, Union[str, bytes]] = {}
253
+ _body_params: Optional[bytes] = None
254
+
255
+ # process the path parameters
256
+ # process the query parameters
257
+ # process the header parameters
258
+ # process the form parameters
259
+ # process the body parameter
260
+
261
+
262
+
263
+
264
+ # authentication setting
265
+ _auth_settings: List[str] = [
266
+ ]
267
+
268
+ return self.api_client.param_serialize(
269
+ method='DELETE',
270
+ resource_path='/manipulators/motion-groups',
271
+ path_params=_path_params,
272
+ query_params=_query_params,
273
+ header_params=_header_params,
274
+ body=_body_params,
275
+ post_params=_form_params,
276
+ files=_files,
277
+ auth_settings=_auth_settings,
278
+ collection_formats=_collection_formats,
279
+ _host=_host,
280
+ _request_auth=_request_auth
281
+ )
282
+
283
+
284
+
285
+ @validate_call
286
+ async def create_motion_group(
287
+ self,
288
+ motion_group_configuration: MotionGroupConfiguration,
289
+ _request_timeout: Union[
290
+ None,
291
+ Annotated[StrictFloat, Field(gt=0)],
292
+ Tuple[
293
+ Annotated[StrictFloat, Field(gt=0)],
294
+ Annotated[StrictFloat, Field(gt=0)]
295
+ ]
296
+ ] = None,
297
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
298
+ _content_type: Optional[StrictStr] = None,
299
+ _headers: Optional[Dict[StrictStr, Any]] = None,
300
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
301
+ ) -> None:
302
+ """Create Motion Group
303
+
304
+ Create and link a motion_group to a motion stream
305
+
306
+ :param motion_group_configuration: (required)
307
+ :type motion_group_configuration: MotionGroupConfiguration
308
+ :param _request_timeout: timeout setting for this request. If one
309
+ number provided, it will be total request
310
+ timeout. It can also be a pair (tuple) of
311
+ (connection, read) timeouts.
312
+ :type _request_timeout: int, tuple(int, int), optional
313
+ :param _request_auth: set to override the auth_settings for an a single
314
+ request; this effectively ignores the
315
+ authentication in the spec for a single request.
316
+ :type _request_auth: dict, optional
317
+ :param _content_type: force content-type for the request.
318
+ :type _content_type: str, Optional
319
+ :param _headers: set to override the headers for a single
320
+ request; this effectively ignores the headers
321
+ in the spec for a single request.
322
+ :type _headers: dict, optional
323
+ :param _host_index: set to override the host_index for a single
324
+ request; this effectively ignores the host_index
325
+ in the spec for a single request.
326
+ :type _host_index: int, optional
327
+ :return: Returns the result object.
328
+ """ # noqa: E501
329
+
330
+ _param = self._create_motion_group_serialize(
331
+ motion_group_configuration=motion_group_configuration,
332
+ _request_auth=_request_auth,
333
+ _content_type=_content_type,
334
+ _headers=_headers,
335
+ _host_index=_host_index
336
+ )
337
+
338
+ _response_types_map: Dict[str, Optional[str]] = {
339
+ '204': None,
340
+ '400': None,
341
+ '409': None,
342
+ '422': "HTTPValidationError",
343
+ }
344
+ response_data = await self.api_client.call_api(
345
+ *_param,
346
+ _request_timeout=_request_timeout
347
+ )
348
+ await response_data.read()
349
+ return self.api_client.response_deserialize(
350
+ response_data=response_data,
351
+ response_types_map=_response_types_map,
352
+ ).data
353
+
354
+
355
+ @validate_call
356
+ async def create_motion_group_with_http_info(
357
+ self,
358
+ motion_group_configuration: MotionGroupConfiguration,
359
+ _request_timeout: Union[
360
+ None,
361
+ Annotated[StrictFloat, Field(gt=0)],
362
+ Tuple[
363
+ Annotated[StrictFloat, Field(gt=0)],
364
+ Annotated[StrictFloat, Field(gt=0)]
365
+ ]
366
+ ] = None,
367
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
368
+ _content_type: Optional[StrictStr] = None,
369
+ _headers: Optional[Dict[StrictStr, Any]] = None,
370
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
371
+ ) -> ApiResponse[None]:
372
+ """Create Motion Group
373
+
374
+ Create and link a motion_group to a motion stream
375
+
376
+ :param motion_group_configuration: (required)
377
+ :type motion_group_configuration: MotionGroupConfiguration
378
+ :param _request_timeout: timeout setting for this request. If one
379
+ number provided, it will be total request
380
+ timeout. It can also be a pair (tuple) of
381
+ (connection, read) timeouts.
382
+ :type _request_timeout: int, tuple(int, int), optional
383
+ :param _request_auth: set to override the auth_settings for an a single
384
+ request; this effectively ignores the
385
+ authentication in the spec for a single request.
386
+ :type _request_auth: dict, optional
387
+ :param _content_type: force content-type for the request.
388
+ :type _content_type: str, Optional
389
+ :param _headers: set to override the headers for a single
390
+ request; this effectively ignores the headers
391
+ in the spec for a single request.
392
+ :type _headers: dict, optional
393
+ :param _host_index: set to override the host_index for a single
394
+ request; this effectively ignores the host_index
395
+ in the spec for a single request.
396
+ :type _host_index: int, optional
397
+ :return: Returns the result object.
398
+ """ # noqa: E501
399
+
400
+ _param = self._create_motion_group_serialize(
401
+ motion_group_configuration=motion_group_configuration,
402
+ _request_auth=_request_auth,
403
+ _content_type=_content_type,
404
+ _headers=_headers,
405
+ _host_index=_host_index
406
+ )
407
+
408
+ _response_types_map: Dict[str, Optional[str]] = {
409
+ '204': None,
410
+ '400': None,
411
+ '409': None,
412
+ '422': "HTTPValidationError",
413
+ }
414
+ response_data = await self.api_client.call_api(
415
+ *_param,
416
+ _request_timeout=_request_timeout
417
+ )
418
+ await response_data.read()
419
+ return self.api_client.response_deserialize(
420
+ response_data=response_data,
421
+ response_types_map=_response_types_map,
422
+ )
423
+
424
+
425
+ @validate_call
426
+ async def create_motion_group_without_preload_content(
427
+ self,
428
+ motion_group_configuration: MotionGroupConfiguration,
429
+ _request_timeout: Union[
430
+ None,
431
+ Annotated[StrictFloat, Field(gt=0)],
432
+ Tuple[
433
+ Annotated[StrictFloat, Field(gt=0)],
434
+ Annotated[StrictFloat, Field(gt=0)]
435
+ ]
436
+ ] = None,
437
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
438
+ _content_type: Optional[StrictStr] = None,
439
+ _headers: Optional[Dict[StrictStr, Any]] = None,
440
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
441
+ ) -> RESTResponseType:
442
+ """Create Motion Group
443
+
444
+ Create and link a motion_group to a motion stream
445
+
446
+ :param motion_group_configuration: (required)
447
+ :type motion_group_configuration: MotionGroupConfiguration
448
+ :param _request_timeout: timeout setting for this request. If one
449
+ number provided, it will be total request
450
+ timeout. It can also be a pair (tuple) of
451
+ (connection, read) timeouts.
452
+ :type _request_timeout: int, tuple(int, int), optional
453
+ :param _request_auth: set to override the auth_settings for an a single
454
+ request; this effectively ignores the
455
+ authentication in the spec for a single request.
456
+ :type _request_auth: dict, optional
457
+ :param _content_type: force content-type for the request.
458
+ :type _content_type: str, Optional
459
+ :param _headers: set to override the headers for a single
460
+ request; this effectively ignores the headers
461
+ in the spec for a single request.
462
+ :type _headers: dict, optional
463
+ :param _host_index: set to override the host_index for a single
464
+ request; this effectively ignores the host_index
465
+ in the spec for a single request.
466
+ :type _host_index: int, optional
467
+ :return: Returns the result object.
468
+ """ # noqa: E501
469
+
470
+ _param = self._create_motion_group_serialize(
471
+ motion_group_configuration=motion_group_configuration,
472
+ _request_auth=_request_auth,
473
+ _content_type=_content_type,
474
+ _headers=_headers,
475
+ _host_index=_host_index
476
+ )
477
+
478
+ _response_types_map: Dict[str, Optional[str]] = {
479
+ '204': None,
480
+ '400': None,
481
+ '409': None,
482
+ '422': "HTTPValidationError",
483
+ }
484
+ response_data = await self.api_client.call_api(
485
+ *_param,
486
+ _request_timeout=_request_timeout
487
+ )
488
+ return response_data.response
489
+
490
+
491
+ def _create_motion_group_serialize(
492
+ self,
493
+ motion_group_configuration,
494
+ _request_auth,
495
+ _content_type,
496
+ _headers,
497
+ _host_index,
498
+ ) -> RequestSerialized:
499
+
500
+ _host = None
501
+
502
+ _collection_formats: Dict[str, str] = {
503
+ }
504
+
505
+ _path_params: Dict[str, str] = {}
506
+ _query_params: List[Tuple[str, str]] = []
507
+ _header_params: Dict[str, Optional[str]] = _headers or {}
508
+ _form_params: List[Tuple[str, str]] = []
509
+ _files: Dict[str, Union[str, bytes]] = {}
510
+ _body_params: Optional[bytes] = None
511
+
512
+ # process the path parameters
513
+ # process the query parameters
514
+ # process the header parameters
515
+ # process the form parameters
516
+ # process the body parameter
517
+ if motion_group_configuration is not None:
518
+ _body_params = motion_group_configuration
519
+
520
+
521
+ # set the HTTP header `Accept`
522
+ _header_params['Accept'] = self.api_client.select_header_accept(
523
+ [
524
+ 'application/json'
525
+ ]
526
+ )
527
+
528
+ # set the HTTP header `Content-Type`
529
+ if _content_type:
530
+ _header_params['Content-Type'] = _content_type
531
+ else:
532
+ _default_content_type = (
533
+ self.api_client.select_header_content_type(
534
+ [
535
+ 'application/json'
536
+ ]
537
+ )
538
+ )
539
+ if _default_content_type is not None:
540
+ _header_params['Content-Type'] = _default_content_type
541
+
542
+ # authentication setting
543
+ _auth_settings: List[str] = [
544
+ ]
545
+
546
+ return self.api_client.param_serialize(
547
+ method='POST',
548
+ resource_path='/manipulators/motion-groups',
549
+ path_params=_path_params,
550
+ query_params=_query_params,
551
+ header_params=_header_params,
552
+ body=_body_params,
553
+ post_params=_form_params,
554
+ files=_files,
555
+ auth_settings=_auth_settings,
556
+ collection_formats=_collection_formats,
557
+ _host=_host,
558
+ _request_auth=_request_auth
559
+ )
560
+
561
+
562
+
563
+ @validate_call
564
+ async def get_motion_group(
565
+ self,
566
+ motion_group_name: StrictStr,
567
+ _request_timeout: Union[
568
+ None,
569
+ Annotated[StrictFloat, Field(gt=0)],
570
+ Tuple[
571
+ Annotated[StrictFloat, Field(gt=0)],
572
+ Annotated[StrictFloat, Field(gt=0)]
573
+ ]
574
+ ] = None,
575
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
576
+ _content_type: Optional[StrictStr] = None,
577
+ _headers: Optional[Dict[StrictStr, Any]] = None,
578
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
579
+ ) -> MotionGroupConfiguration:
580
+ """Get Motion Group
581
+
582
+ Get the configuration of a motion_group
583
+
584
+ :param motion_group_name: (required)
585
+ :type motion_group_name: str
586
+ :param _request_timeout: timeout setting for this request. If one
587
+ number provided, it will be total request
588
+ timeout. It can also be a pair (tuple) of
589
+ (connection, read) timeouts.
590
+ :type _request_timeout: int, tuple(int, int), optional
591
+ :param _request_auth: set to override the auth_settings for an a single
592
+ request; this effectively ignores the
593
+ authentication in the spec for a single request.
594
+ :type _request_auth: dict, optional
595
+ :param _content_type: force content-type for the request.
596
+ :type _content_type: str, Optional
597
+ :param _headers: set to override the headers for a single
598
+ request; this effectively ignores the headers
599
+ in the spec for a single request.
600
+ :type _headers: dict, optional
601
+ :param _host_index: set to override the host_index for a single
602
+ request; this effectively ignores the host_index
603
+ in the spec for a single request.
604
+ :type _host_index: int, optional
605
+ :return: Returns the result object.
606
+ """ # noqa: E501
607
+
608
+ _param = self._get_motion_group_serialize(
609
+ motion_group_name=motion_group_name,
610
+ _request_auth=_request_auth,
611
+ _content_type=_content_type,
612
+ _headers=_headers,
613
+ _host_index=_host_index
614
+ )
615
+
616
+ _response_types_map: Dict[str, Optional[str]] = {
617
+ '200': "MotionGroupConfiguration",
618
+ '404': None,
619
+ '422': "HTTPValidationError",
620
+ }
621
+ response_data = await self.api_client.call_api(
622
+ *_param,
623
+ _request_timeout=_request_timeout
624
+ )
625
+ await response_data.read()
626
+ return self.api_client.response_deserialize(
627
+ response_data=response_data,
628
+ response_types_map=_response_types_map,
629
+ ).data
630
+
631
+
632
+ @validate_call
633
+ async def get_motion_group_with_http_info(
634
+ self,
635
+ motion_group_name: StrictStr,
636
+ _request_timeout: Union[
637
+ None,
638
+ Annotated[StrictFloat, Field(gt=0)],
639
+ Tuple[
640
+ Annotated[StrictFloat, Field(gt=0)],
641
+ Annotated[StrictFloat, Field(gt=0)]
642
+ ]
643
+ ] = None,
644
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
645
+ _content_type: Optional[StrictStr] = None,
646
+ _headers: Optional[Dict[StrictStr, Any]] = None,
647
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
648
+ ) -> ApiResponse[MotionGroupConfiguration]:
649
+ """Get Motion Group
650
+
651
+ Get the configuration of a motion_group
652
+
653
+ :param motion_group_name: (required)
654
+ :type motion_group_name: str
655
+ :param _request_timeout: timeout setting for this request. If one
656
+ number provided, it will be total request
657
+ timeout. It can also be a pair (tuple) of
658
+ (connection, read) timeouts.
659
+ :type _request_timeout: int, tuple(int, int), optional
660
+ :param _request_auth: set to override the auth_settings for an a single
661
+ request; this effectively ignores the
662
+ authentication in the spec for a single request.
663
+ :type _request_auth: dict, optional
664
+ :param _content_type: force content-type for the request.
665
+ :type _content_type: str, Optional
666
+ :param _headers: set to override the headers for a single
667
+ request; this effectively ignores the headers
668
+ in the spec for a single request.
669
+ :type _headers: dict, optional
670
+ :param _host_index: set to override the host_index for a single
671
+ request; this effectively ignores the host_index
672
+ in the spec for a single request.
673
+ :type _host_index: int, optional
674
+ :return: Returns the result object.
675
+ """ # noqa: E501
676
+
677
+ _param = self._get_motion_group_serialize(
678
+ motion_group_name=motion_group_name,
679
+ _request_auth=_request_auth,
680
+ _content_type=_content_type,
681
+ _headers=_headers,
682
+ _host_index=_host_index
683
+ )
684
+
685
+ _response_types_map: Dict[str, Optional[str]] = {
686
+ '200': "MotionGroupConfiguration",
687
+ '404': None,
688
+ '422': "HTTPValidationError",
689
+ }
690
+ response_data = await self.api_client.call_api(
691
+ *_param,
692
+ _request_timeout=_request_timeout
693
+ )
694
+ await response_data.read()
695
+ return self.api_client.response_deserialize(
696
+ response_data=response_data,
697
+ response_types_map=_response_types_map,
698
+ )
699
+
700
+
701
+ @validate_call
702
+ async def get_motion_group_without_preload_content(
703
+ self,
704
+ motion_group_name: StrictStr,
705
+ _request_timeout: Union[
706
+ None,
707
+ Annotated[StrictFloat, Field(gt=0)],
708
+ Tuple[
709
+ Annotated[StrictFloat, Field(gt=0)],
710
+ Annotated[StrictFloat, Field(gt=0)]
711
+ ]
712
+ ] = None,
713
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
714
+ _content_type: Optional[StrictStr] = None,
715
+ _headers: Optional[Dict[StrictStr, Any]] = None,
716
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
717
+ ) -> RESTResponseType:
718
+ """Get Motion Group
719
+
720
+ Get the configuration of a motion_group
721
+
722
+ :param motion_group_name: (required)
723
+ :type motion_group_name: str
724
+ :param _request_timeout: timeout setting for this request. If one
725
+ number provided, it will be total request
726
+ timeout. It can also be a pair (tuple) of
727
+ (connection, read) timeouts.
728
+ :type _request_timeout: int, tuple(int, int), optional
729
+ :param _request_auth: set to override the auth_settings for an a single
730
+ request; this effectively ignores the
731
+ authentication in the spec for a single request.
732
+ :type _request_auth: dict, optional
733
+ :param _content_type: force content-type for the request.
734
+ :type _content_type: str, Optional
735
+ :param _headers: set to override the headers for a single
736
+ request; this effectively ignores the headers
737
+ in the spec for a single request.
738
+ :type _headers: dict, optional
739
+ :param _host_index: set to override the host_index for a single
740
+ request; this effectively ignores the host_index
741
+ in the spec for a single request.
742
+ :type _host_index: int, optional
743
+ :return: Returns the result object.
744
+ """ # noqa: E501
745
+
746
+ _param = self._get_motion_group_serialize(
747
+ motion_group_name=motion_group_name,
748
+ _request_auth=_request_auth,
749
+ _content_type=_content_type,
750
+ _headers=_headers,
751
+ _host_index=_host_index
752
+ )
753
+
754
+ _response_types_map: Dict[str, Optional[str]] = {
755
+ '200': "MotionGroupConfiguration",
756
+ '404': None,
757
+ '422': "HTTPValidationError",
758
+ }
759
+ response_data = await self.api_client.call_api(
760
+ *_param,
761
+ _request_timeout=_request_timeout
762
+ )
763
+ return response_data.response
764
+
765
+
766
+ def _get_motion_group_serialize(
767
+ self,
768
+ motion_group_name,
769
+ _request_auth,
770
+ _content_type,
771
+ _headers,
772
+ _host_index,
773
+ ) -> RequestSerialized:
774
+
775
+ _host = None
776
+
777
+ _collection_formats: Dict[str, str] = {
778
+ }
779
+
780
+ _path_params: Dict[str, str] = {}
781
+ _query_params: List[Tuple[str, str]] = []
782
+ _header_params: Dict[str, Optional[str]] = _headers or {}
783
+ _form_params: List[Tuple[str, str]] = []
784
+ _files: Dict[str, Union[str, bytes]] = {}
785
+ _body_params: Optional[bytes] = None
786
+
787
+ # process the path parameters
788
+ if motion_group_name is not None:
789
+ _path_params['motion_group_name'] = motion_group_name
790
+ # process the query parameters
791
+ # process the header parameters
792
+ # process the form parameters
793
+ # process the body parameter
794
+
795
+
796
+ # set the HTTP header `Accept`
797
+ _header_params['Accept'] = self.api_client.select_header_accept(
798
+ [
799
+ 'application/json'
800
+ ]
801
+ )
802
+
803
+
804
+ # authentication setting
805
+ _auth_settings: List[str] = [
806
+ ]
807
+
808
+ return self.api_client.param_serialize(
809
+ method='GET',
810
+ resource_path='/manipulators/motion-groups/{motion_group_name}',
811
+ path_params=_path_params,
812
+ query_params=_query_params,
813
+ header_params=_header_params,
814
+ body=_body_params,
815
+ post_params=_form_params,
816
+ files=_files,
817
+ auth_settings=_auth_settings,
818
+ collection_formats=_collection_formats,
819
+ _host=_host,
820
+ _request_auth=_request_auth
821
+ )
822
+
823
+
824
+
825
+ @validate_call
826
+ async def list_motion_groups(
827
+ self,
828
+ _request_timeout: Union[
829
+ None,
830
+ Annotated[StrictFloat, Field(gt=0)],
831
+ Tuple[
832
+ Annotated[StrictFloat, Field(gt=0)],
833
+ Annotated[StrictFloat, Field(gt=0)]
834
+ ]
835
+ ] = None,
836
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
837
+ _content_type: Optional[StrictStr] = None,
838
+ _headers: Optional[Dict[StrictStr, Any]] = None,
839
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
840
+ ) -> Dict[str, MotionGroupConfiguration]:
841
+ """List Motion Groups
842
+
843
+ Fetches all the motion_groups configured in the scene
844
+
845
+ :param _request_timeout: timeout setting for this request. If one
846
+ number provided, it will be total request
847
+ timeout. It can also be a pair (tuple) of
848
+ (connection, read) timeouts.
849
+ :type _request_timeout: int, tuple(int, int), optional
850
+ :param _request_auth: set to override the auth_settings for an a single
851
+ request; this effectively ignores the
852
+ authentication in the spec for a single request.
853
+ :type _request_auth: dict, optional
854
+ :param _content_type: force content-type for the request.
855
+ :type _content_type: str, Optional
856
+ :param _headers: set to override the headers for a single
857
+ request; this effectively ignores the headers
858
+ in the spec for a single request.
859
+ :type _headers: dict, optional
860
+ :param _host_index: set to override the host_index for a single
861
+ request; this effectively ignores the host_index
862
+ in the spec for a single request.
863
+ :type _host_index: int, optional
864
+ :return: Returns the result object.
865
+ """ # noqa: E501
866
+
867
+ _param = self._list_motion_groups_serialize(
868
+ _request_auth=_request_auth,
869
+ _content_type=_content_type,
870
+ _headers=_headers,
871
+ _host_index=_host_index
872
+ )
873
+
874
+ _response_types_map: Dict[str, Optional[str]] = {
875
+ '200': "Dict[str, MotionGroupConfiguration]",
876
+ }
877
+ response_data = await self.api_client.call_api(
878
+ *_param,
879
+ _request_timeout=_request_timeout
880
+ )
881
+ await response_data.read()
882
+ return self.api_client.response_deserialize(
883
+ response_data=response_data,
884
+ response_types_map=_response_types_map,
885
+ ).data
886
+
887
+
888
+ @validate_call
889
+ async def list_motion_groups_with_http_info(
890
+ self,
891
+ _request_timeout: Union[
892
+ None,
893
+ Annotated[StrictFloat, Field(gt=0)],
894
+ Tuple[
895
+ Annotated[StrictFloat, Field(gt=0)],
896
+ Annotated[StrictFloat, Field(gt=0)]
897
+ ]
898
+ ] = None,
899
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
900
+ _content_type: Optional[StrictStr] = None,
901
+ _headers: Optional[Dict[StrictStr, Any]] = None,
902
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
903
+ ) -> ApiResponse[Dict[str, MotionGroupConfiguration]]:
904
+ """List Motion Groups
905
+
906
+ Fetches all the motion_groups configured in the scene
907
+
908
+ :param _request_timeout: timeout setting for this request. If one
909
+ number provided, it will be total request
910
+ timeout. It can also be a pair (tuple) of
911
+ (connection, read) timeouts.
912
+ :type _request_timeout: int, tuple(int, int), optional
913
+ :param _request_auth: set to override the auth_settings for an a single
914
+ request; this effectively ignores the
915
+ authentication in the spec for a single request.
916
+ :type _request_auth: dict, optional
917
+ :param _content_type: force content-type for the request.
918
+ :type _content_type: str, Optional
919
+ :param _headers: set to override the headers for a single
920
+ request; this effectively ignores the headers
921
+ in the spec for a single request.
922
+ :type _headers: dict, optional
923
+ :param _host_index: set to override the host_index for a single
924
+ request; this effectively ignores the host_index
925
+ in the spec for a single request.
926
+ :type _host_index: int, optional
927
+ :return: Returns the result object.
928
+ """ # noqa: E501
929
+
930
+ _param = self._list_motion_groups_serialize(
931
+ _request_auth=_request_auth,
932
+ _content_type=_content_type,
933
+ _headers=_headers,
934
+ _host_index=_host_index
935
+ )
936
+
937
+ _response_types_map: Dict[str, Optional[str]] = {
938
+ '200': "Dict[str, MotionGroupConfiguration]",
939
+ }
940
+ response_data = await self.api_client.call_api(
941
+ *_param,
942
+ _request_timeout=_request_timeout
943
+ )
944
+ await response_data.read()
945
+ return self.api_client.response_deserialize(
946
+ response_data=response_data,
947
+ response_types_map=_response_types_map,
948
+ )
949
+
950
+
951
+ @validate_call
952
+ async def list_motion_groups_without_preload_content(
953
+ self,
954
+ _request_timeout: Union[
955
+ None,
956
+ Annotated[StrictFloat, Field(gt=0)],
957
+ Tuple[
958
+ Annotated[StrictFloat, Field(gt=0)],
959
+ Annotated[StrictFloat, Field(gt=0)]
960
+ ]
961
+ ] = None,
962
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
963
+ _content_type: Optional[StrictStr] = None,
964
+ _headers: Optional[Dict[StrictStr, Any]] = None,
965
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
966
+ ) -> RESTResponseType:
967
+ """List Motion Groups
968
+
969
+ Fetches all the motion_groups configured in the scene
970
+
971
+ :param _request_timeout: timeout setting for this request. If one
972
+ number provided, it will be total request
973
+ timeout. It can also be a pair (tuple) of
974
+ (connection, read) timeouts.
975
+ :type _request_timeout: int, tuple(int, int), optional
976
+ :param _request_auth: set to override the auth_settings for an a single
977
+ request; this effectively ignores the
978
+ authentication in the spec for a single request.
979
+ :type _request_auth: dict, optional
980
+ :param _content_type: force content-type for the request.
981
+ :type _content_type: str, Optional
982
+ :param _headers: set to override the headers for a single
983
+ request; this effectively ignores the headers
984
+ in the spec for a single request.
985
+ :type _headers: dict, optional
986
+ :param _host_index: set to override the host_index for a single
987
+ request; this effectively ignores the host_index
988
+ in the spec for a single request.
989
+ :type _host_index: int, optional
990
+ :return: Returns the result object.
991
+ """ # noqa: E501
992
+
993
+ _param = self._list_motion_groups_serialize(
994
+ _request_auth=_request_auth,
995
+ _content_type=_content_type,
996
+ _headers=_headers,
997
+ _host_index=_host_index
998
+ )
999
+
1000
+ _response_types_map: Dict[str, Optional[str]] = {
1001
+ '200': "Dict[str, MotionGroupConfiguration]",
1002
+ }
1003
+ response_data = await self.api_client.call_api(
1004
+ *_param,
1005
+ _request_timeout=_request_timeout
1006
+ )
1007
+ return response_data.response
1008
+
1009
+
1010
+ def _list_motion_groups_serialize(
1011
+ self,
1012
+ _request_auth,
1013
+ _content_type,
1014
+ _headers,
1015
+ _host_index,
1016
+ ) -> RequestSerialized:
1017
+
1018
+ _host = None
1019
+
1020
+ _collection_formats: Dict[str, str] = {
1021
+ }
1022
+
1023
+ _path_params: Dict[str, str] = {}
1024
+ _query_params: List[Tuple[str, str]] = []
1025
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1026
+ _form_params: List[Tuple[str, str]] = []
1027
+ _files: Dict[str, Union[str, bytes]] = {}
1028
+ _body_params: Optional[bytes] = None
1029
+
1030
+ # process the path parameters
1031
+ # process the query parameters
1032
+ # process the header parameters
1033
+ # process the form parameters
1034
+ # process the body parameter
1035
+
1036
+
1037
+ # set the HTTP header `Accept`
1038
+ _header_params['Accept'] = self.api_client.select_header_accept(
1039
+ [
1040
+ 'application/json'
1041
+ ]
1042
+ )
1043
+
1044
+
1045
+ # authentication setting
1046
+ _auth_settings: List[str] = [
1047
+ ]
1048
+
1049
+ return self.api_client.param_serialize(
1050
+ method='GET',
1051
+ resource_path='/manipulators/motion-groups',
1052
+ path_params=_path_params,
1053
+ query_params=_query_params,
1054
+ header_params=_header_params,
1055
+ body=_body_params,
1056
+ post_params=_form_params,
1057
+ files=_files,
1058
+ auth_settings=_auth_settings,
1059
+ collection_formats=_collection_formats,
1060
+ _host=_host,
1061
+ _request_auth=_request_auth
1062
+ )
1063
+
1064
+
1065
+
1066
+ @validate_call
1067
+ async def remove_motion_group(
1068
+ self,
1069
+ motion_group_name: StrictStr,
1070
+ _request_timeout: Union[
1071
+ None,
1072
+ Annotated[StrictFloat, Field(gt=0)],
1073
+ Tuple[
1074
+ Annotated[StrictFloat, Field(gt=0)],
1075
+ Annotated[StrictFloat, Field(gt=0)]
1076
+ ]
1077
+ ] = None,
1078
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1079
+ _content_type: Optional[StrictStr] = None,
1080
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1081
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1082
+ ) -> None:
1083
+ """Remove Motion Group
1084
+
1085
+ Remove a motion_group
1086
+
1087
+ :param motion_group_name: (required)
1088
+ :type motion_group_name: str
1089
+ :param _request_timeout: timeout setting for this request. If one
1090
+ number provided, it will be total request
1091
+ timeout. It can also be a pair (tuple) of
1092
+ (connection, read) timeouts.
1093
+ :type _request_timeout: int, tuple(int, int), optional
1094
+ :param _request_auth: set to override the auth_settings for an a single
1095
+ request; this effectively ignores the
1096
+ authentication in the spec for a single request.
1097
+ :type _request_auth: dict, optional
1098
+ :param _content_type: force content-type for the request.
1099
+ :type _content_type: str, Optional
1100
+ :param _headers: set to override the headers for a single
1101
+ request; this effectively ignores the headers
1102
+ in the spec for a single request.
1103
+ :type _headers: dict, optional
1104
+ :param _host_index: set to override the host_index for a single
1105
+ request; this effectively ignores the host_index
1106
+ in the spec for a single request.
1107
+ :type _host_index: int, optional
1108
+ :return: Returns the result object.
1109
+ """ # noqa: E501
1110
+
1111
+ _param = self._remove_motion_group_serialize(
1112
+ motion_group_name=motion_group_name,
1113
+ _request_auth=_request_auth,
1114
+ _content_type=_content_type,
1115
+ _headers=_headers,
1116
+ _host_index=_host_index
1117
+ )
1118
+
1119
+ _response_types_map: Dict[str, Optional[str]] = {
1120
+ '204': None,
1121
+ '404': None,
1122
+ '422': "HTTPValidationError",
1123
+ }
1124
+ response_data = await self.api_client.call_api(
1125
+ *_param,
1126
+ _request_timeout=_request_timeout
1127
+ )
1128
+ await response_data.read()
1129
+ return self.api_client.response_deserialize(
1130
+ response_data=response_data,
1131
+ response_types_map=_response_types_map,
1132
+ ).data
1133
+
1134
+
1135
+ @validate_call
1136
+ async def remove_motion_group_with_http_info(
1137
+ self,
1138
+ motion_group_name: StrictStr,
1139
+ _request_timeout: Union[
1140
+ None,
1141
+ Annotated[StrictFloat, Field(gt=0)],
1142
+ Tuple[
1143
+ Annotated[StrictFloat, Field(gt=0)],
1144
+ Annotated[StrictFloat, Field(gt=0)]
1145
+ ]
1146
+ ] = None,
1147
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1148
+ _content_type: Optional[StrictStr] = None,
1149
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1150
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1151
+ ) -> ApiResponse[None]:
1152
+ """Remove Motion Group
1153
+
1154
+ Remove a motion_group
1155
+
1156
+ :param motion_group_name: (required)
1157
+ :type motion_group_name: str
1158
+ :param _request_timeout: timeout setting for this request. If one
1159
+ number provided, it will be total request
1160
+ timeout. It can also be a pair (tuple) of
1161
+ (connection, read) timeouts.
1162
+ :type _request_timeout: int, tuple(int, int), optional
1163
+ :param _request_auth: set to override the auth_settings for an a single
1164
+ request; this effectively ignores the
1165
+ authentication in the spec for a single request.
1166
+ :type _request_auth: dict, optional
1167
+ :param _content_type: force content-type for the request.
1168
+ :type _content_type: str, Optional
1169
+ :param _headers: set to override the headers for a single
1170
+ request; this effectively ignores the headers
1171
+ in the spec for a single request.
1172
+ :type _headers: dict, optional
1173
+ :param _host_index: set to override the host_index for a single
1174
+ request; this effectively ignores the host_index
1175
+ in the spec for a single request.
1176
+ :type _host_index: int, optional
1177
+ :return: Returns the result object.
1178
+ """ # noqa: E501
1179
+
1180
+ _param = self._remove_motion_group_serialize(
1181
+ motion_group_name=motion_group_name,
1182
+ _request_auth=_request_auth,
1183
+ _content_type=_content_type,
1184
+ _headers=_headers,
1185
+ _host_index=_host_index
1186
+ )
1187
+
1188
+ _response_types_map: Dict[str, Optional[str]] = {
1189
+ '204': None,
1190
+ '404': None,
1191
+ '422': "HTTPValidationError",
1192
+ }
1193
+ response_data = await self.api_client.call_api(
1194
+ *_param,
1195
+ _request_timeout=_request_timeout
1196
+ )
1197
+ await response_data.read()
1198
+ return self.api_client.response_deserialize(
1199
+ response_data=response_data,
1200
+ response_types_map=_response_types_map,
1201
+ )
1202
+
1203
+
1204
+ @validate_call
1205
+ async def remove_motion_group_without_preload_content(
1206
+ self,
1207
+ motion_group_name: StrictStr,
1208
+ _request_timeout: Union[
1209
+ None,
1210
+ Annotated[StrictFloat, Field(gt=0)],
1211
+ Tuple[
1212
+ Annotated[StrictFloat, Field(gt=0)],
1213
+ Annotated[StrictFloat, Field(gt=0)]
1214
+ ]
1215
+ ] = None,
1216
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1217
+ _content_type: Optional[StrictStr] = None,
1218
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1219
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1220
+ ) -> RESTResponseType:
1221
+ """Remove Motion Group
1222
+
1223
+ Remove a motion_group
1224
+
1225
+ :param motion_group_name: (required)
1226
+ :type motion_group_name: str
1227
+ :param _request_timeout: timeout setting for this request. If one
1228
+ number provided, it will be total request
1229
+ timeout. It can also be a pair (tuple) of
1230
+ (connection, read) timeouts.
1231
+ :type _request_timeout: int, tuple(int, int), optional
1232
+ :param _request_auth: set to override the auth_settings for an a single
1233
+ request; this effectively ignores the
1234
+ authentication in the spec for a single request.
1235
+ :type _request_auth: dict, optional
1236
+ :param _content_type: force content-type for the request.
1237
+ :type _content_type: str, Optional
1238
+ :param _headers: set to override the headers for a single
1239
+ request; this effectively ignores the headers
1240
+ in the spec for a single request.
1241
+ :type _headers: dict, optional
1242
+ :param _host_index: set to override the host_index for a single
1243
+ request; this effectively ignores the host_index
1244
+ in the spec for a single request.
1245
+ :type _host_index: int, optional
1246
+ :return: Returns the result object.
1247
+ """ # noqa: E501
1248
+
1249
+ _param = self._remove_motion_group_serialize(
1250
+ motion_group_name=motion_group_name,
1251
+ _request_auth=_request_auth,
1252
+ _content_type=_content_type,
1253
+ _headers=_headers,
1254
+ _host_index=_host_index
1255
+ )
1256
+
1257
+ _response_types_map: Dict[str, Optional[str]] = {
1258
+ '204': None,
1259
+ '404': None,
1260
+ '422': "HTTPValidationError",
1261
+ }
1262
+ response_data = await self.api_client.call_api(
1263
+ *_param,
1264
+ _request_timeout=_request_timeout
1265
+ )
1266
+ return response_data.response
1267
+
1268
+
1269
+ def _remove_motion_group_serialize(
1270
+ self,
1271
+ motion_group_name,
1272
+ _request_auth,
1273
+ _content_type,
1274
+ _headers,
1275
+ _host_index,
1276
+ ) -> RequestSerialized:
1277
+
1278
+ _host = None
1279
+
1280
+ _collection_formats: Dict[str, str] = {
1281
+ }
1282
+
1283
+ _path_params: Dict[str, str] = {}
1284
+ _query_params: List[Tuple[str, str]] = []
1285
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1286
+ _form_params: List[Tuple[str, str]] = []
1287
+ _files: Dict[str, Union[str, bytes]] = {}
1288
+ _body_params: Optional[bytes] = None
1289
+
1290
+ # process the path parameters
1291
+ if motion_group_name is not None:
1292
+ _path_params['motion_group_name'] = motion_group_name
1293
+ # process the query parameters
1294
+ # process the header parameters
1295
+ # process the form parameters
1296
+ # process the body parameter
1297
+
1298
+
1299
+ # set the HTTP header `Accept`
1300
+ _header_params['Accept'] = self.api_client.select_header_accept(
1301
+ [
1302
+ 'application/json'
1303
+ ]
1304
+ )
1305
+
1306
+
1307
+ # authentication setting
1308
+ _auth_settings: List[str] = [
1309
+ ]
1310
+
1311
+ return self.api_client.param_serialize(
1312
+ method='DELETE',
1313
+ resource_path='/manipulators/motion-groups/{motion_group_name}',
1314
+ path_params=_path_params,
1315
+ query_params=_query_params,
1316
+ header_params=_header_params,
1317
+ body=_body_params,
1318
+ post_params=_form_params,
1319
+ files=_files,
1320
+ auth_settings=_auth_settings,
1321
+ collection_formats=_collection_formats,
1322
+ _host=_host,
1323
+ _request_auth=_request_auth
1324
+ )
1325
+
1326
+
1327
+
1328
+ @validate_call
1329
+ async def update_motion_group_stream(
1330
+ self,
1331
+ motion_group_name: StrictStr,
1332
+ motion_stream_configuration: MotionStreamConfiguration,
1333
+ _request_timeout: Union[
1334
+ None,
1335
+ Annotated[StrictFloat, Field(gt=0)],
1336
+ Tuple[
1337
+ Annotated[StrictFloat, Field(gt=0)],
1338
+ Annotated[StrictFloat, Field(gt=0)]
1339
+ ]
1340
+ ] = None,
1341
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1342
+ _content_type: Optional[StrictStr] = None,
1343
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1344
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1345
+ ) -> None:
1346
+ """Update Motion Group Motion Stream
1347
+
1348
+ Update motion_group motion stream configuration. While it is possible to update the motion while simulating, its not guaranteed that all relations will directly pick up the new config
1349
+
1350
+ :param motion_group_name: (required)
1351
+ :type motion_group_name: str
1352
+ :param motion_stream_configuration: (required)
1353
+ :type motion_stream_configuration: MotionStreamConfiguration
1354
+ :param _request_timeout: timeout setting for this request. If one
1355
+ number provided, it will be total request
1356
+ timeout. It can also be a pair (tuple) of
1357
+ (connection, read) timeouts.
1358
+ :type _request_timeout: int, tuple(int, int), optional
1359
+ :param _request_auth: set to override the auth_settings for an a single
1360
+ request; this effectively ignores the
1361
+ authentication in the spec for a single request.
1362
+ :type _request_auth: dict, optional
1363
+ :param _content_type: force content-type for the request.
1364
+ :type _content_type: str, Optional
1365
+ :param _headers: set to override the headers for a single
1366
+ request; this effectively ignores the headers
1367
+ in the spec for a single request.
1368
+ :type _headers: dict, optional
1369
+ :param _host_index: set to override the host_index for a single
1370
+ request; this effectively ignores the host_index
1371
+ in the spec for a single request.
1372
+ :type _host_index: int, optional
1373
+ :return: Returns the result object.
1374
+ """ # noqa: E501
1375
+
1376
+ _param = self._update_motion_group_stream_serialize(
1377
+ motion_group_name=motion_group_name,
1378
+ motion_stream_configuration=motion_stream_configuration,
1379
+ _request_auth=_request_auth,
1380
+ _content_type=_content_type,
1381
+ _headers=_headers,
1382
+ _host_index=_host_index
1383
+ )
1384
+
1385
+ _response_types_map: Dict[str, Optional[str]] = {
1386
+ '204': None,
1387
+ '404': None,
1388
+ '400': None,
1389
+ '422': "HTTPValidationError",
1390
+ }
1391
+ response_data = await self.api_client.call_api(
1392
+ *_param,
1393
+ _request_timeout=_request_timeout
1394
+ )
1395
+ await response_data.read()
1396
+ return self.api_client.response_deserialize(
1397
+ response_data=response_data,
1398
+ response_types_map=_response_types_map,
1399
+ ).data
1400
+
1401
+
1402
+ @validate_call
1403
+ async def update_motion_group_stream_with_http_info(
1404
+ self,
1405
+ motion_group_name: StrictStr,
1406
+ motion_stream_configuration: MotionStreamConfiguration,
1407
+ _request_timeout: Union[
1408
+ None,
1409
+ Annotated[StrictFloat, Field(gt=0)],
1410
+ Tuple[
1411
+ Annotated[StrictFloat, Field(gt=0)],
1412
+ Annotated[StrictFloat, Field(gt=0)]
1413
+ ]
1414
+ ] = None,
1415
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1416
+ _content_type: Optional[StrictStr] = None,
1417
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1418
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1419
+ ) -> ApiResponse[None]:
1420
+ """Update Motion Group Motion Stream
1421
+
1422
+ Update motion_group motion stream configuration. While it is possible to update the motion while simulating, its not guaranteed that all relations will directly pick up the new config
1423
+
1424
+ :param motion_group_name: (required)
1425
+ :type motion_group_name: str
1426
+ :param motion_stream_configuration: (required)
1427
+ :type motion_stream_configuration: MotionStreamConfiguration
1428
+ :param _request_timeout: timeout setting for this request. If one
1429
+ number provided, it will be total request
1430
+ timeout. It can also be a pair (tuple) of
1431
+ (connection, read) timeouts.
1432
+ :type _request_timeout: int, tuple(int, int), optional
1433
+ :param _request_auth: set to override the auth_settings for an a single
1434
+ request; this effectively ignores the
1435
+ authentication in the spec for a single request.
1436
+ :type _request_auth: dict, optional
1437
+ :param _content_type: force content-type for the request.
1438
+ :type _content_type: str, Optional
1439
+ :param _headers: set to override the headers for a single
1440
+ request; this effectively ignores the headers
1441
+ in the spec for a single request.
1442
+ :type _headers: dict, optional
1443
+ :param _host_index: set to override the host_index for a single
1444
+ request; this effectively ignores the host_index
1445
+ in the spec for a single request.
1446
+ :type _host_index: int, optional
1447
+ :return: Returns the result object.
1448
+ """ # noqa: E501
1449
+
1450
+ _param = self._update_motion_group_stream_serialize(
1451
+ motion_group_name=motion_group_name,
1452
+ motion_stream_configuration=motion_stream_configuration,
1453
+ _request_auth=_request_auth,
1454
+ _content_type=_content_type,
1455
+ _headers=_headers,
1456
+ _host_index=_host_index
1457
+ )
1458
+
1459
+ _response_types_map: Dict[str, Optional[str]] = {
1460
+ '204': None,
1461
+ '404': None,
1462
+ '400': None,
1463
+ '422': "HTTPValidationError",
1464
+ }
1465
+ response_data = await self.api_client.call_api(
1466
+ *_param,
1467
+ _request_timeout=_request_timeout
1468
+ )
1469
+ await response_data.read()
1470
+ return self.api_client.response_deserialize(
1471
+ response_data=response_data,
1472
+ response_types_map=_response_types_map,
1473
+ )
1474
+
1475
+
1476
+ @validate_call
1477
+ async def update_motion_group_stream_without_preload_content(
1478
+ self,
1479
+ motion_group_name: StrictStr,
1480
+ motion_stream_configuration: MotionStreamConfiguration,
1481
+ _request_timeout: Union[
1482
+ None,
1483
+ Annotated[StrictFloat, Field(gt=0)],
1484
+ Tuple[
1485
+ Annotated[StrictFloat, Field(gt=0)],
1486
+ Annotated[StrictFloat, Field(gt=0)]
1487
+ ]
1488
+ ] = None,
1489
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1490
+ _content_type: Optional[StrictStr] = None,
1491
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1492
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1493
+ ) -> RESTResponseType:
1494
+ """Update Motion Group Motion Stream
1495
+
1496
+ Update motion_group motion stream configuration. While it is possible to update the motion while simulating, its not guaranteed that all relations will directly pick up the new config
1497
+
1498
+ :param motion_group_name: (required)
1499
+ :type motion_group_name: str
1500
+ :param motion_stream_configuration: (required)
1501
+ :type motion_stream_configuration: MotionStreamConfiguration
1502
+ :param _request_timeout: timeout setting for this request. If one
1503
+ number provided, it will be total request
1504
+ timeout. It can also be a pair (tuple) of
1505
+ (connection, read) timeouts.
1506
+ :type _request_timeout: int, tuple(int, int), optional
1507
+ :param _request_auth: set to override the auth_settings for an a single
1508
+ request; this effectively ignores the
1509
+ authentication in the spec for a single request.
1510
+ :type _request_auth: dict, optional
1511
+ :param _content_type: force content-type for the request.
1512
+ :type _content_type: str, Optional
1513
+ :param _headers: set to override the headers for a single
1514
+ request; this effectively ignores the headers
1515
+ in the spec for a single request.
1516
+ :type _headers: dict, optional
1517
+ :param _host_index: set to override the host_index for a single
1518
+ request; this effectively ignores the host_index
1519
+ in the spec for a single request.
1520
+ :type _host_index: int, optional
1521
+ :return: Returns the result object.
1522
+ """ # noqa: E501
1523
+
1524
+ _param = self._update_motion_group_stream_serialize(
1525
+ motion_group_name=motion_group_name,
1526
+ motion_stream_configuration=motion_stream_configuration,
1527
+ _request_auth=_request_auth,
1528
+ _content_type=_content_type,
1529
+ _headers=_headers,
1530
+ _host_index=_host_index
1531
+ )
1532
+
1533
+ _response_types_map: Dict[str, Optional[str]] = {
1534
+ '204': None,
1535
+ '404': None,
1536
+ '400': None,
1537
+ '422': "HTTPValidationError",
1538
+ }
1539
+ response_data = await self.api_client.call_api(
1540
+ *_param,
1541
+ _request_timeout=_request_timeout
1542
+ )
1543
+ return response_data.response
1544
+
1545
+
1546
+ def _update_motion_group_stream_serialize(
1547
+ self,
1548
+ motion_group_name,
1549
+ motion_stream_configuration,
1550
+ _request_auth,
1551
+ _content_type,
1552
+ _headers,
1553
+ _host_index,
1554
+ ) -> RequestSerialized:
1555
+
1556
+ _host = None
1557
+
1558
+ _collection_formats: Dict[str, str] = {
1559
+ }
1560
+
1561
+ _path_params: Dict[str, str] = {}
1562
+ _query_params: List[Tuple[str, str]] = []
1563
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1564
+ _form_params: List[Tuple[str, str]] = []
1565
+ _files: Dict[str, Union[str, bytes]] = {}
1566
+ _body_params: Optional[bytes] = None
1567
+
1568
+ # process the path parameters
1569
+ if motion_group_name is not None:
1570
+ _path_params['motion_group_name'] = motion_group_name
1571
+ # process the query parameters
1572
+ # process the header parameters
1573
+ # process the form parameters
1574
+ # process the body parameter
1575
+ if motion_stream_configuration is not None:
1576
+ _body_params = motion_stream_configuration
1577
+
1578
+
1579
+ # set the HTTP header `Accept`
1580
+ _header_params['Accept'] = self.api_client.select_header_accept(
1581
+ [
1582
+ 'application/json'
1583
+ ]
1584
+ )
1585
+
1586
+ # set the HTTP header `Content-Type`
1587
+ if _content_type:
1588
+ _header_params['Content-Type'] = _content_type
1589
+ else:
1590
+ _default_content_type = (
1591
+ self.api_client.select_header_content_type(
1592
+ [
1593
+ 'application/json'
1594
+ ]
1595
+ )
1596
+ )
1597
+ if _default_content_type is not None:
1598
+ _header_params['Content-Type'] = _default_content_type
1599
+
1600
+ # authentication setting
1601
+ _auth_settings: List[str] = [
1602
+ ]
1603
+
1604
+ return self.api_client.param_serialize(
1605
+ method='PUT',
1606
+ resource_path='/manipulators/motion-groups/{motion_group_name}',
1607
+ path_params=_path_params,
1608
+ query_params=_query_params,
1609
+ header_params=_header_params,
1610
+ body=_body_params,
1611
+ post_params=_form_params,
1612
+ files=_files,
1613
+ auth_settings=_auth_settings,
1614
+ collection_formats=_collection_formats,
1615
+ _host=_host,
1616
+ _request_auth=_request_auth
1617
+ )
1618
+
1619
+