flywheel-sdk 21.2.0rc0__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 (772) hide show
  1. flywheel/__init__.py +784 -0
  2. flywheel/api/__init__.py +46 -0
  3. flywheel/api/acquisitions_api.py +5014 -0
  4. flywheel/api/analyses_api.py +3848 -0
  5. flywheel/api/audit_trail_api.py +568 -0
  6. flywheel/api/auth_api.py +121 -0
  7. flywheel/api/batch_api.py +630 -0
  8. flywheel/api/bulk_api.py +140 -0
  9. flywheel/api/change_log_api.py +254 -0
  10. flywheel/api/collections_api.py +3913 -0
  11. flywheel/api/config_api.py +299 -0
  12. flywheel/api/container_tasks_api.py +137 -0
  13. flywheel/api/container_type_api.py +137 -0
  14. flywheel/api/containers_api.py +4784 -0
  15. flywheel/api/custom_filters_api.py +466 -0
  16. flywheel/api/data_view_executions_api.py +549 -0
  17. flywheel/api/dataexplorer_api.py +1192 -0
  18. flywheel/api/devices_api.py +1071 -0
  19. flywheel/api/dimse_api.py +814 -0
  20. flywheel/api/download_api.py +261 -0
  21. flywheel/api/files_api.py +1868 -0
  22. flywheel/api/form_responses_api.py +703 -0
  23. flywheel/api/gears_api.py +1875 -0
  24. flywheel/api/groups_api.py +2829 -0
  25. flywheel/api/jobs_api.py +2320 -0
  26. flywheel/api/jupyterlab_servers_api.py +245 -0
  27. flywheel/api/modalities_api.py +562 -0
  28. flywheel/api/packfiles_api.py +121 -0
  29. flywheel/api/projects_api.py +7820 -0
  30. flywheel/api/protocols_api.py +757 -0
  31. flywheel/api/reports_api.py +1057 -0
  32. flywheel/api/resolve_api.py +276 -0
  33. flywheel/api/roles_api.py +563 -0
  34. flywheel/api/sessions_api.py +5296 -0
  35. flywheel/api/site_api.py +1552 -0
  36. flywheel/api/staffing_pools_api.py +677 -0
  37. flywheel/api/subjects_api.py +5349 -0
  38. flywheel/api/tasks_api.py +897 -0
  39. flywheel/api/tree_api.py +266 -0
  40. flywheel/api/uids_api.py +140 -0
  41. flywheel/api/upload_api.py +842 -0
  42. flywheel/api/users_api.py +2142 -0
  43. flywheel/api/views_api.py +1089 -0
  44. flywheel/api_client.py +748 -0
  45. flywheel/client.py +291 -0
  46. flywheel/configuration.py +308 -0
  47. flywheel/drone_login.py +65 -0
  48. flywheel/file_spec.py +67 -0
  49. flywheel/finder.py +168 -0
  50. flywheel/flywheel.py +9867 -0
  51. flywheel/gear_context.py +374 -0
  52. flywheel/models/__init__.py +726 -0
  53. flywheel/models/access_level.py +30 -0
  54. flywheel/models/access_permission.py +197 -0
  55. flywheel/models/access_permission_output.py +192 -0
  56. flywheel/models/access_permission_update.py +166 -0
  57. flywheel/models/access_type.py +54 -0
  58. flywheel/models/accumulator.py +33 -0
  59. flywheel/models/acquisition.py +25 -0
  60. flywheel/models/acquisition_container_output.py +34 -0
  61. flywheel/models/acquisition_copy_input.py +223 -0
  62. flywheel/models/acquisition_input.py +297 -0
  63. flywheel/models/acquisition_list_output.py +767 -0
  64. flywheel/models/acquisition_modify_input.py +299 -0
  65. flywheel/models/acquisition_node.py +35 -0
  66. flywheel/models/acquisition_output.py +767 -0
  67. flywheel/models/acquisition_parents.py +241 -0
  68. flywheel/models/acquisition_template_options.py +275 -0
  69. flywheel/models/acquisition_upsert_input.py +383 -0
  70. flywheel/models/acquisition_upsert_output.py +243 -0
  71. flywheel/models/action.py +91 -0
  72. flywheel/models/adhoc_analysis_input.py +247 -0
  73. flywheel/models/analysis.py +25 -0
  74. flywheel/models/analysis_container_output.py +34 -0
  75. flywheel/models/analysis_files_create_ticket_output.py +241 -0
  76. flywheel/models/analysis_input.py +310 -0
  77. flywheel/models/analysis_input_legacy.py +25 -0
  78. flywheel/models/analysis_list_output.py +680 -0
  79. flywheel/models/analysis_list_output_inflated_job.py +650 -0
  80. flywheel/models/analysis_modify_input.py +191 -0
  81. flywheel/models/analysis_node.py +35 -0
  82. flywheel/models/analysis_output.py +683 -0
  83. flywheel/models/analysis_output_inflated_job.py +674 -0
  84. flywheel/models/analysis_parents.py +270 -0
  85. flywheel/models/analysis_update.py +25 -0
  86. flywheel/models/api_key_input_with_optional_label.py +191 -0
  87. flywheel/models/api_key_output.py +297 -0
  88. flywheel/models/as_storage.py +298 -0
  89. flywheel/models/assignee.py +192 -0
  90. flywheel/models/assignee_type.py +29 -0
  91. flywheel/models/audit_trail_report.py +486 -0
  92. flywheel/models/audit_trail_report_status.py +32 -0
  93. flywheel/models/auth0_auth_out.py +323 -0
  94. flywheel/models/auth0_options_out.py +319 -0
  95. flywheel/models/auth_out.py +357 -0
  96. flywheel/models/auth_session_output.py +272 -0
  97. flywheel/models/avatars.py +218 -0
  98. flywheel/models/aws_creds.py +191 -0
  99. flywheel/models/aws_storage.py +354 -0
  100. flywheel/models/azure_creds.py +190 -0
  101. flywheel/models/base_aet.py +245 -0
  102. flywheel/models/base_compute.py +426 -0
  103. flywheel/models/batch.py +360 -0
  104. flywheel/models/batch_cancel_output.py +36 -0
  105. flywheel/models/batch_create_filters.py +220 -0
  106. flywheel/models/batch_job_analysis_input.py +281 -0
  107. flywheel/models/batch_jobs_proposal_input.py +36 -0
  108. flywheel/models/batch_proposal.py +25 -0
  109. flywheel/models/batch_proposal_detail.py +36 -0
  110. flywheel/models/batch_proposal_input.py +25 -0
  111. flywheel/models/body.py +36 -0
  112. flywheel/models/body_regenerate_key_api_devices_device_id_key_post.py +25 -0
  113. flywheel/models/body_region.py +46 -0
  114. flywheel/models/bookmark.py +189 -0
  115. flywheel/models/bulk_move_input.py +272 -0
  116. flywheel/models/bulk_move_sessions.py +25 -0
  117. flywheel/models/callbacks_virus_scan_input.py +36 -0
  118. flywheel/models/cancelled_batch_output.py +163 -0
  119. flywheel/models/catalog_list_output.py +407 -0
  120. flywheel/models/central_out.py +299 -0
  121. flywheel/models/change.py +379 -0
  122. flywheel/models/change_log_container_type.py +38 -0
  123. flywheel/models/change_log_document.py +245 -0
  124. flywheel/models/change_method.py +33 -0
  125. flywheel/models/classic_batch_job_output.py +352 -0
  126. flywheel/models/classic_batch_job_output_inflated_jobs.py +379 -0
  127. flywheel/models/classic_batch_proposal_input.py +388 -0
  128. flywheel/models/classic_batch_proposal_output.py +471 -0
  129. flywheel/models/classification_add_delete.py +36 -0
  130. flywheel/models/classification_replace.py +36 -0
  131. flywheel/models/classification_update_input.py +36 -0
  132. flywheel/models/cohort.py +29 -0
  133. flywheel/models/collection.py +25 -0
  134. flywheel/models/collection_container_output.py +32 -0
  135. flywheel/models/collection_input.py +217 -0
  136. flywheel/models/collection_input_with_contents.py +248 -0
  137. flywheel/models/collection_node.py +192 -0
  138. flywheel/models/collection_node_level.py +31 -0
  139. flywheel/models/collection_operation.py +193 -0
  140. flywheel/models/collection_operation_type.py +29 -0
  141. flywheel/models/collection_output.py +639 -0
  142. flywheel/models/collection_with_stats.py +637 -0
  143. flywheel/models/column.py +286 -0
  144. flywheel/models/column_type.py +32 -0
  145. flywheel/models/common_classification.py +135 -0
  146. flywheel/models/common_deleted_count.py +25 -0
  147. flywheel/models/common_editions.py +25 -0
  148. flywheel/models/common_info.py +135 -0
  149. flywheel/models/common_join_origins.py +25 -0
  150. flywheel/models/common_key.py +36 -0
  151. flywheel/models/common_modified_count.py +25 -0
  152. flywheel/models/common_object_created.py +36 -0
  153. flywheel/models/common_project_settings.py +25 -0
  154. flywheel/models/common_settings.py +36 -0
  155. flywheel/models/complete_multipart_upload_output.py +189 -0
  156. flywheel/models/complete_s3_multipart_upload_input.py +241 -0
  157. flywheel/models/config_feature_map.py +36 -0
  158. flywheel/models/config_out.py +381 -0
  159. flywheel/models/config_output.py +36 -0
  160. flywheel/models/config_site_config_output.py +36 -0
  161. flywheel/models/config_site_settings.py +36 -0
  162. flywheel/models/config_site_settings_input.py +36 -0
  163. flywheel/models/conflict_types.py +30 -0
  164. flywheel/models/container_delete_reason.py +39 -0
  165. flywheel/models/container_filter.py +193 -0
  166. flywheel/models/container_id_view_input.py +521 -0
  167. flywheel/models/container_id_view_input_execute_and_save.py +308 -0
  168. flywheel/models/container_modify.py +536 -0
  169. flywheel/models/container_new_output.py +25 -0
  170. flywheel/models/container_node_min.py +350 -0
  171. flywheel/models/container_output.py +36 -0
  172. flywheel/models/container_output_with_files.py +283 -0
  173. flywheel/models/container_parents.py +311 -0
  174. flywheel/models/container_pipeline_input.py +536 -0
  175. flywheel/models/container_project_parents.py +25 -0
  176. flywheel/models/container_reference.py +193 -0
  177. flywheel/models/container_reference_with_label.py +219 -0
  178. flywheel/models/container_session_parents.py +25 -0
  179. flywheel/models/container_subject_parents.py +25 -0
  180. flywheel/models/container_type.py +39 -0
  181. flywheel/models/container_uidcheck.py +253 -0
  182. flywheel/models/container_update.py +135 -0
  183. flywheel/models/context_input.py +217 -0
  184. flywheel/models/copy_filter.py +299 -0
  185. flywheel/models/copy_status.py +32 -0
  186. flywheel/models/core_models_api_key_api_key_input.py +190 -0
  187. flywheel/models/core_models_audit_trail_create_report_input.py +273 -0
  188. flywheel/models/core_models_audit_trail_modify_report_input.py +167 -0
  189. flywheel/models/core_models_common_source.py +189 -0
  190. flywheel/models/core_models_jobs_api_key_input.py +191 -0
  191. flywheel/models/core_models_search_parent_type.py +33 -0
  192. flywheel/models/core_workflows_form_responses_models_form_parents.py +163 -0
  193. flywheel/models/core_workflows_form_responses_models_form_response_output.py +440 -0
  194. flywheel/models/core_workflows_reader_models_reader_task_parents.py +295 -0
  195. flywheel/models/creds.py +135 -0
  196. flywheel/models/curator.py +221 -0
  197. flywheel/models/current_user_output.py +707 -0
  198. flywheel/models/custom_field.py +437 -0
  199. flywheel/models/custom_form.py +244 -0
  200. flywheel/models/cvat_info.py +275 -0
  201. flywheel/models/cvat_settings.py +272 -0
  202. flywheel/models/cvat_settings_input.py +272 -0
  203. flywheel/models/cvat_sync_state.py +30 -0
  204. flywheel/models/daily_report_usage.py +565 -0
  205. flywheel/models/data_strategy.py +29 -0
  206. flywheel/models/data_view.py +25 -0
  207. flywheel/models/data_view_analysis_file_spec.py +221 -0
  208. flywheel/models/data_view_analysis_filter_spec.py +221 -0
  209. flywheel/models/data_view_column_alias.py +337 -0
  210. flywheel/models/data_view_column_spec.py +286 -0
  211. flywheel/models/data_view_execution.py +505 -0
  212. flywheel/models/data_view_execution_state.py +31 -0
  213. flywheel/models/data_view_file_spec.py +392 -0
  214. flywheel/models/data_view_group_by.py +166 -0
  215. flywheel/models/data_view_group_by_column.py +194 -0
  216. flywheel/models/data_view_name_filter_spec.py +194 -0
  217. flywheel/models/data_view_output.py +25 -0
  218. flywheel/models/data_view_save_data_view_input.py +25 -0
  219. flywheel/models/data_view_zip_filter_spec.py +223 -0
  220. flywheel/models/default_flywheel_role.py +30 -0
  221. flywheel/models/deid_log_skip_reason.py +29 -0
  222. flywheel/models/delete_by_search_query.py +253 -0
  223. flywheel/models/deleted_file.py +514 -0
  224. flywheel/models/deleted_result.py +194 -0
  225. flywheel/models/deprecated_action.py +29 -0
  226. flywheel/models/destination_container_type.py +30 -0
  227. flywheel/models/device.py +437 -0
  228. flywheel/models/device_admin_update.py +194 -0
  229. flywheel/models/device_create.py +219 -0
  230. flywheel/models/device_self_update.py +272 -0
  231. flywheel/models/device_status.py +36 -0
  232. flywheel/models/device_status_entry.py +221 -0
  233. flywheel/models/device_storage_strategy_update.py +193 -0
  234. flywheel/models/dimse_project_input.py +36 -0
  235. flywheel/models/dimse_project_output.py +36 -0
  236. flywheel/models/dimse_service_input.py +36 -0
  237. flywheel/models/dimse_service_output.py +36 -0
  238. flywheel/models/download.py +249 -0
  239. flywheel/models/download_container_filter.py +167 -0
  240. flywheel/models/download_container_filter_definition.py +222 -0
  241. flywheel/models/download_filter.py +221 -0
  242. flywheel/models/download_filter_definition.py +195 -0
  243. flywheel/models/download_format.py +29 -0
  244. flywheel/models/download_input.py +25 -0
  245. flywheel/models/download_node.py +189 -0
  246. flywheel/models/download_strategy.py +31 -0
  247. flywheel/models/download_ticket.py +36 -0
  248. flywheel/models/download_ticket_stub.py +249 -0
  249. flywheel/models/download_ticket_with_summary.py +36 -0
  250. flywheel/models/e_signature.py +242 -0
  251. flywheel/models/edition.py +169 -0
  252. flywheel/models/egress_device.py +597 -0
  253. flywheel/models/egress_device_page.py +219 -0
  254. flywheel/models/egress_provider.py +408 -0
  255. flywheel/models/egress_provider_id.py +164 -0
  256. flywheel/models/exchange_storage.py +243 -0
  257. flywheel/models/executor_info.py +353 -0
  258. flywheel/models/export_templates.py +195 -0
  259. flywheel/models/features.py +1838 -0
  260. flywheel/models/field_change.py +271 -0
  261. flywheel/models/field_change_log_document.py +245 -0
  262. flywheel/models/field_type.py +37 -0
  263. flywheel/models/file.py +1139 -0
  264. flywheel/models/file_classification_delta.py +245 -0
  265. flywheel/models/file_container_type.py +34 -0
  266. flywheel/models/file_entry.py +740 -0
  267. flywheel/models/file_export_templates.py +272 -0
  268. flywheel/models/file_format.py +33 -0
  269. flywheel/models/file_gear_info.py +215 -0
  270. flywheel/models/file_group.py +29 -0
  271. flywheel/models/file_list_output.py +1115 -0
  272. flywheel/models/file_modify_input.py +191 -0
  273. flywheel/models/file_move_input.py +221 -0
  274. flywheel/models/file_node.py +1138 -0
  275. flywheel/models/file_node_min.py +321 -0
  276. flywheel/models/file_origin.py +283 -0
  277. flywheel/models/file_output.py +1135 -0
  278. flywheel/models/file_parents.py +297 -0
  279. flywheel/models/file_reference.py +221 -0
  280. flywheel/models/file_suggestion.py +241 -0
  281. flywheel/models/file_template_options.py +299 -0
  282. flywheel/models/file_upsert_input.py +612 -0
  283. flywheel/models/file_upsert_origin.py +36 -0
  284. flywheel/models/file_upsert_output.py +1154 -0
  285. flywheel/models/file_version.py +190 -0
  286. flywheel/models/file_version_copy_of.py +273 -0
  287. flywheel/models/file_version_output.py +325 -0
  288. flywheel/models/file_via.py +245 -0
  289. flywheel/models/file_zip_entry.py +25 -0
  290. flywheel/models/file_zip_info.py +25 -0
  291. flywheel/models/filter.py +350 -0
  292. flywheel/models/filter_input.py +218 -0
  293. flywheel/models/filter_values.py +195 -0
  294. flywheel/models/filter_view.py +28 -0
  295. flywheel/models/fixed_file_version_input.py +216 -0
  296. flywheel/models/fixed_input.py +299 -0
  297. flywheel/models/form_definition.py +163 -0
  298. flywheel/models/form_response_base.py +311 -0
  299. flywheel/models/form_response_create.py +193 -0
  300. flywheel/models/gcp_creds.py +397 -0
  301. flywheel/models/gcp_storage.py +298 -0
  302. flywheel/models/gear.py +619 -0
  303. flywheel/models/gear_category.py +32 -0
  304. flywheel/models/gear_config.py +138 -0
  305. flywheel/models/gear_context_input.py +164 -0
  306. flywheel/models/gear_context_lookup.py +25 -0
  307. flywheel/models/gear_context_lookup_item.py +36 -0
  308. flywheel/models/gear_context_value_output.py +272 -0
  309. flywheel/models/gear_context_value_output_unfound.py +164 -0
  310. flywheel/models/gear_custom.py +135 -0
  311. flywheel/models/gear_directive.py +135 -0
  312. flywheel/models/gear_doc.py +25 -0
  313. flywheel/models/gear_document.py +332 -0
  314. flywheel/models/gear_document_input.py +303 -0
  315. flywheel/models/gear_document_legacy_input.py +302 -0
  316. flywheel/models/gear_environment.py +135 -0
  317. flywheel/models/gear_exchange.py +221 -0
  318. flywheel/models/gear_file_input.py +192 -0
  319. flywheel/models/gear_id_output.py +170 -0
  320. flywheel/models/gear_info.py +251 -0
  321. flywheel/models/gear_input_item.py +231 -0
  322. flywheel/models/gear_inputs.py +140 -0
  323. flywheel/models/gear_invocation.py +138 -0
  324. flywheel/models/gear_key_input.py +191 -0
  325. flywheel/models/gear_manifest.py +624 -0
  326. flywheel/models/gear_mixin.py +218 -0
  327. flywheel/models/gear_node.py +355 -0
  328. flywheel/models/gear_output_configuration.py +164 -0
  329. flywheel/models/gear_permissions.py +191 -0
  330. flywheel/models/gear_permissions_input.py +163 -0
  331. flywheel/models/gear_permissions_type.py +29 -0
  332. flywheel/models/gear_return_ticket.py +25 -0
  333. flywheel/models/gear_rule.py +653 -0
  334. flywheel/models/gear_rule_condition.py +219 -0
  335. flywheel/models/gear_rule_condition_type.py +37 -0
  336. flywheel/models/gear_rule_input.py +517 -0
  337. flywheel/models/gear_rule_modify_input.py +492 -0
  338. flywheel/models/gear_rule_output.py +652 -0
  339. flywheel/models/gear_save_submission.py +221 -0
  340. flywheel/models/gear_series.py +298 -0
  341. flywheel/models/gear_series_update.py +163 -0
  342. flywheel/models/gear_suggestion_output.py +301 -0
  343. flywheel/models/gear_ticket.py +245 -0
  344. flywheel/models/gear_ticket_output.py +163 -0
  345. flywheel/models/google_auth_out.py +299 -0
  346. flywheel/models/graph_filter.py +329 -0
  347. flywheel/models/group.py +25 -0
  348. flywheel/models/group_by.py +163 -0
  349. flywheel/models/group_by_column.py +36 -0
  350. flywheel/models/group_container_output.py +33 -0
  351. flywheel/models/group_input.py +248 -0
  352. flywheel/models/group_metadata_input.py +36 -0
  353. flywheel/models/group_node.py +34 -0
  354. flywheel/models/group_output.py +471 -0
  355. flywheel/models/group_report.py +218 -0
  356. flywheel/models/group_role.py +163 -0
  357. flywheel/models/group_settings_output.py +249 -0
  358. flywheel/models/group_update.py +249 -0
  359. flywheel/models/header_feature.py +37 -0
  360. flywheel/models/hierarchy_export_templates.py +272 -0
  361. flywheel/models/http_validation_error.py +167 -0
  362. flywheel/models/info.py +218 -0
  363. flywheel/models/info_add_remove.py +36 -0
  364. flywheel/models/info_container_type.py +35 -0
  365. flywheel/models/info_replace.py +36 -0
  366. flywheel/models/info_update_input.py +36 -0
  367. flywheel/models/ingress_provider.py +299 -0
  368. flywheel/models/ingress_providers.py +272 -0
  369. flywheel/models/ingress_site_settings.py +305 -0
  370. flywheel/models/ingress_update_provider.py +218 -0
  371. flywheel/models/inline_response200.py +163 -0
  372. flywheel/models/inline_response2001.py +171 -0
  373. flywheel/models/inline_response2002.py +163 -0
  374. flywheel/models/inline_response2003.py +36 -0
  375. flywheel/models/inline_response2005.py +25 -0
  376. flywheel/models/input_filter.py +221 -0
  377. flywheel/models/input_job.py +521 -0
  378. flywheel/models/input_job_profile.py +275 -0
  379. flywheel/models/inserted_id.py +163 -0
  380. flywheel/models/job.py +841 -0
  381. flywheel/models/job_analysis_input.py +273 -0
  382. flywheel/models/job_ask.py +301 -0
  383. flywheel/models/job_ask_response.py +195 -0
  384. flywheel/models/job_ask_response_job.py +978 -0
  385. flywheel/models/job_ask_return.py +25 -0
  386. flywheel/models/job_ask_return_criteria.py +245 -0
  387. flywheel/models/job_ask_state.py +25 -0
  388. flywheel/models/job_ask_state_response.py +163 -0
  389. flywheel/models/job_complete.py +220 -0
  390. flywheel/models/job_completion_input.py +25 -0
  391. flywheel/models/job_completion_ticket.py +25 -0
  392. flywheel/models/job_config.py +135 -0
  393. flywheel/models/job_config_input.py +272 -0
  394. flywheel/models/job_config_inputs.py +25 -0
  395. flywheel/models/job_config_output.py +25 -0
  396. flywheel/models/job_container_detail.py +25 -0
  397. flywheel/models/job_destination.py +189 -0
  398. flywheel/models/job_detail.py +925 -0
  399. flywheel/models/job_detail_container.py +190 -0
  400. flywheel/models/job_detail_file_entry.py +194 -0
  401. flywheel/models/job_detail_group.py +190 -0
  402. flywheel/models/job_detail_parent_info.py +303 -0
  403. flywheel/models/job_executor_info.py +369 -0
  404. flywheel/models/job_file_input.py +247 -0
  405. flywheel/models/job_file_input_list_output.py +247 -0
  406. flywheel/models/job_file_object.py +435 -0
  407. flywheel/models/job_file_object_list_output.py +407 -0
  408. flywheel/models/job_gear_match.py +25 -0
  409. flywheel/models/job_inputs_array_item.py +305 -0
  410. flywheel/models/job_inputs_item.py +242 -0
  411. flywheel/models/job_inputs_object.py +138 -0
  412. flywheel/models/job_list_entry.py +25 -0
  413. flywheel/models/job_list_output.py +979 -0
  414. flywheel/models/job_list_output_config.py +220 -0
  415. flywheel/models/job_log.py +189 -0
  416. flywheel/models/job_log_column.py +40 -0
  417. flywheel/models/job_log_record.py +192 -0
  418. flywheel/models/job_modify.py +193 -0
  419. flywheel/models/job_origin.py +190 -0
  420. flywheel/models/job_output.py +1005 -0
  421. flywheel/models/job_output_config.py +247 -0
  422. flywheel/models/job_parents.py +297 -0
  423. flywheel/models/job_priority.py +31 -0
  424. flywheel/models/job_priority_update.py +192 -0
  425. flywheel/models/job_profile.py +427 -0
  426. flywheel/models/job_profile_input.py +25 -0
  427. flywheel/models/job_request.py +221 -0
  428. flywheel/models/job_request_item.py +246 -0
  429. flywheel/models/job_request_item_type.py +31 -0
  430. flywheel/models/job_request_target.py +270 -0
  431. flywheel/models/job_state.py +32 -0
  432. flywheel/models/job_state_counts.py +25 -0
  433. flywheel/models/job_stats_by_state.py +25 -0
  434. flywheel/models/job_ticket_output.py +165 -0
  435. flywheel/models/job_transition_times.py +253 -0
  436. flywheel/models/job_version_info.py +135 -0
  437. flywheel/models/jobs_by_state.py +272 -0
  438. flywheel/models/jobs_list.py +166 -0
  439. flywheel/models/join_origin_device.py +164 -0
  440. flywheel/models/join_origin_job.py +219 -0
  441. flywheel/models/join_origin_user.py +189 -0
  442. flywheel/models/join_origins.py +223 -0
  443. flywheel/models/join_type.py +28 -0
  444. flywheel/models/jupyterhub_workspace.py +163 -0
  445. flywheel/models/jupyterlab_server_modify.py +275 -0
  446. flywheel/models/jupyterlab_server_origin.py +25 -0
  447. flywheel/models/jupyterlab_server_output.py +25 -0
  448. flywheel/models/jupyterlab_server_response.py +415 -0
  449. flywheel/models/jupyterlab_server_update.py +25 -0
  450. flywheel/models/ldap_sync.py +36 -0
  451. flywheel/models/ldap_sync_config.py +163 -0
  452. flywheel/models/ldap_sync_input.py +36 -0
  453. flywheel/models/ldap_sync_status.py +250 -0
  454. flywheel/models/legacy_api_key_output.py +271 -0
  455. flywheel/models/legacy_input.py +244 -0
  456. flywheel/models/legacy_usage_report.py +309 -0
  457. flywheel/models/legacys_usage_project_entry.py +194 -0
  458. flywheel/models/libs_workflows_models_parent_type.py +33 -0
  459. flywheel/models/libs_workflows_models_task_status.py +32 -0
  460. flywheel/models/local_storage.py +217 -0
  461. flywheel/models/location.py +189 -0
  462. flywheel/models/locked.py +219 -0
  463. flywheel/models/master_subject_code_dob_input.py +279 -0
  464. flywheel/models/master_subject_code_input.py +281 -0
  465. flywheel/models/master_subject_code_output.py +166 -0
  466. flywheel/models/matched_acquisition_output.py +518 -0
  467. flywheel/models/mfa_channel.py +30 -0
  468. flywheel/models/mfa_settings.py +167 -0
  469. flywheel/models/mixins.py +794 -0
  470. flywheel/models/ml_set_filter.py +194 -0
  471. flywheel/models/ml_type.py +30 -0
  472. flywheel/models/modality.py +250 -0
  473. flywheel/models/modality_input.py +244 -0
  474. flywheel/models/modality_modify.py +218 -0
  475. flywheel/models/modality_output.py +271 -0
  476. flywheel/models/modified_result.py +190 -0
  477. flywheel/models/modify_user_input.py +466 -0
  478. flywheel/models/move_conflict.py +300 -0
  479. flywheel/models/note.py +391 -0
  480. flywheel/models/note_input.py +165 -0
  481. flywheel/models/optional_input_policy.py +30 -0
  482. flywheel/models/order.py +29 -0
  483. flywheel/models/organ_system.py +64 -0
  484. flywheel/models/origin.py +193 -0
  485. flywheel/models/origin_type.py +35 -0
  486. flywheel/models/orphaned_count.py +163 -0
  487. flywheel/models/output_user_page.py +219 -0
  488. flywheel/models/packfile_cleanup_output.py +166 -0
  489. flywheel/models/packfile_removed_output.py +189 -0
  490. flywheel/models/page.py +216 -0
  491. flywheel/models/page_generic_file_output.py +219 -0
  492. flywheel/models/page_generic_filter.py +219 -0
  493. flywheel/models/page_generic_form_response_output.py +219 -0
  494. flywheel/models/page_generic_protocol.py +244 -0
  495. flywheel/models/page_generic_reader_task_output.py +244 -0
  496. flywheel/models/page_generic_staffing_pool.py +244 -0
  497. flywheel/models/parsed_query_response.py +194 -0
  498. flywheel/models/permission_access_permission.py +25 -0
  499. flywheel/models/premade_jobs_batch_job_output.py +298 -0
  500. flywheel/models/premade_jobs_batch_job_output_inflated_jobs.py +299 -0
  501. flywheel/models/premade_jobs_batch_proposal.py +334 -0
  502. flywheel/models/premade_jobs_batch_proposal_detail.py +166 -0
  503. flywheel/models/premade_jobs_batch_proposal_input.py +166 -0
  504. flywheel/models/project.py +25 -0
  505. flywheel/models/project_acquisition_upsert_input.py +25 -0
  506. flywheel/models/project_acquisition_upsert_output.py +25 -0
  507. flywheel/models/project_aet.py +331 -0
  508. flywheel/models/project_aet_input.py +248 -0
  509. flywheel/models/project_catalog_list_output.py +25 -0
  510. flywheel/models/project_contact.py +194 -0
  511. flywheel/models/project_container_output.py +41 -0
  512. flywheel/models/project_copy_input.py +245 -0
  513. flywheel/models/project_copy_output.py +215 -0
  514. flywheel/models/project_counters.py +346 -0
  515. flywheel/models/project_hierarchy_input.py +278 -0
  516. flywheel/models/project_hierarchy_output.py +222 -0
  517. flywheel/models/project_hierarchy_upsert_input.py +25 -0
  518. flywheel/models/project_hierarchy_upsert_output.py +25 -0
  519. flywheel/models/project_input.py +384 -0
  520. flywheel/models/project_institution.py +194 -0
  521. flywheel/models/project_list_output.py +897 -0
  522. flywheel/models/project_locking_reason.py +32 -0
  523. flywheel/models/project_modify.py +413 -0
  524. flywheel/models/project_node.py +42 -0
  525. flywheel/models/project_output.py +899 -0
  526. flywheel/models/project_parents.py +168 -0
  527. flywheel/models/project_report.py +463 -0
  528. flywheel/models/project_report_list.py +167 -0
  529. flywheel/models/project_session_upsert_input.py +25 -0
  530. flywheel/models/project_session_upsert_output.py +25 -0
  531. flywheel/models/project_settings_input.py +333 -0
  532. flywheel/models/project_settings_output.py +333 -0
  533. flywheel/models/project_settings_sharing.py +327 -0
  534. flywheel/models/project_settings_sharing_input.py +334 -0
  535. flywheel/models/project_settings_workspaces.py +167 -0
  536. flywheel/models/project_settings_workspaces_input.py +167 -0
  537. flywheel/models/project_share_level.py +29 -0
  538. flywheel/models/project_sharing_settings_project_contact.py +25 -0
  539. flywheel/models/project_sharing_settings_project_counters.py +36 -0
  540. flywheel/models/project_sharing_settings_project_institution.py +25 -0
  541. flywheel/models/project_sharing_settings_project_settings_input.py +25 -0
  542. flywheel/models/project_sharing_settings_project_settings_output.py +25 -0
  543. flywheel/models/project_sharing_settings_project_settings_sharing.py +25 -0
  544. flywheel/models/project_sharing_settings_project_settings_sharing_input.py +25 -0
  545. flywheel/models/project_sharing_settings_project_stats.py +36 -0
  546. flywheel/models/project_stats.py +270 -0
  547. flywheel/models/project_subject_upsert_input.py +25 -0
  548. flywheel/models/project_subject_upsert_output.py +25 -0
  549. flywheel/models/project_template.py +195 -0
  550. flywheel/models/project_template_input.py +195 -0
  551. flywheel/models/project_template_list_input.py +166 -0
  552. flywheel/models/project_template_requirement.py +36 -0
  553. flywheel/models/project_template_session_template.py +36 -0
  554. flywheel/models/project_upsert_origin.py +36 -0
  555. flywheel/models/protocol.py +515 -0
  556. flywheel/models/protocol_e_signature_config.py +191 -0
  557. flywheel/models/protocol_input.py +354 -0
  558. flywheel/models/protocol_modify.py +277 -0
  559. flywheel/models/protocol_status.py +30 -0
  560. flywheel/models/provider.py +461 -0
  561. flywheel/models/provider_access_type.py +29 -0
  562. flywheel/models/provider_class.py +29 -0
  563. flywheel/models/provider_deletion_status.py +189 -0
  564. flywheel/models/provider_input.py +25 -0
  565. flywheel/models/provider_links.py +282 -0
  566. flywheel/models/provider_type.py +34 -0
  567. flywheel/models/providers.py +277 -0
  568. flywheel/models/reader_batch_create.py +463 -0
  569. flywheel/models/reader_task.py +725 -0
  570. flywheel/models/reader_task_config.py +189 -0
  571. flywheel/models/reader_task_create.py +543 -0
  572. flywheel/models/reader_task_modify.py +303 -0
  573. flywheel/models/reader_task_output.py +752 -0
  574. flywheel/models/reader_task_parent_details.py +322 -0
  575. flywheel/models/report_access_log_context.py +301 -0
  576. flywheel/models/report_access_log_context_entry.py +194 -0
  577. flywheel/models/report_access_log_context_file_entry.py +165 -0
  578. flywheel/models/report_access_log_entry.py +624 -0
  579. flywheel/models/report_access_log_origin.py +194 -0
  580. flywheel/models/report_availability_list.py +167 -0
  581. flywheel/models/report_daily_usage_entry.py +501 -0
  582. flywheel/models/report_demographics_grid.py +36 -0
  583. flywheel/models/report_ethnicity_grid.py +252 -0
  584. flywheel/models/report_gender_count.py +222 -0
  585. flywheel/models/report_group_report.py +217 -0
  586. flywheel/models/report_legacy_usage_entry.py +36 -0
  587. flywheel/models/report_legacy_usage_project_entry.py +36 -0
  588. flywheel/models/report_project.py +25 -0
  589. flywheel/models/report_site.py +192 -0
  590. flywheel/models/report_time_period.py +193 -0
  591. flywheel/models/report_usage.py +630 -0
  592. flywheel/models/report_usage_entry.py +25 -0
  593. flywheel/models/resolve_input.py +163 -0
  594. flywheel/models/resolve_output.py +194 -0
  595. flywheel/models/resolver_acquisition_node.py +36 -0
  596. flywheel/models/resolver_analysis_node.py +36 -0
  597. flywheel/models/resolver_file_node.py +36 -0
  598. flywheel/models/resolver_gear_node.py +36 -0
  599. flywheel/models/resolver_group_node.py +36 -0
  600. flywheel/models/resolver_input.py +25 -0
  601. flywheel/models/resolver_node.py +182 -0
  602. flywheel/models/resolver_output.py +25 -0
  603. flywheel/models/resolver_project_node.py +36 -0
  604. flywheel/models/resolver_session_node.py +36 -0
  605. flywheel/models/resolver_subject_node.py +36 -0
  606. flywheel/models/role_input.py +192 -0
  607. flywheel/models/role_output.py +273 -0
  608. flywheel/models/role_permission.py +194 -0
  609. flywheel/models/role_permission_output.py +189 -0
  610. flywheel/models/role_permission_update.py +163 -0
  611. flywheel/models/role_type.py +32 -0
  612. flywheel/models/role_update.py +194 -0
  613. flywheel/models/roles_backwards_compatible_role_assignment.py +36 -0
  614. flywheel/models/roles_group_role_pool_input.py +36 -0
  615. flywheel/models/roles_role.py +36 -0
  616. flywheel/models/roles_role_assignment.py +195 -0
  617. flywheel/models/roles_role_input.py +36 -0
  618. flywheel/models/rule.py +467 -0
  619. flywheel/models/rule_any.py +216 -0
  620. flywheel/models/s3_addressing_style.py +29 -0
  621. flywheel/models/s3_compat_storage.py +381 -0
  622. flywheel/models/save_search.py +298 -0
  623. flywheel/models/save_search_input.py +219 -0
  624. flywheel/models/save_search_output.py +301 -0
  625. flywheel/models/save_search_page.py +219 -0
  626. flywheel/models/save_search_parent.py +192 -0
  627. flywheel/models/save_search_update.py +194 -0
  628. flywheel/models/search_acquisition_response.py +252 -0
  629. flywheel/models/search_analysis_response.py +254 -0
  630. flywheel/models/search_collection_response.py +254 -0
  631. flywheel/models/search_file_response.py +312 -0
  632. flywheel/models/search_group_response.py +196 -0
  633. flywheel/models/search_parent_acquisition.py +47 -0
  634. flywheel/models/search_parent_analysis.py +47 -0
  635. flywheel/models/search_parent_collection.py +46 -0
  636. flywheel/models/search_parent_project.py +54 -0
  637. flywheel/models/search_parent_response.py +213 -0
  638. flywheel/models/search_parent_session.py +48 -0
  639. flywheel/models/search_parent_subject.py +48 -0
  640. flywheel/models/search_parse_error.py +252 -0
  641. flywheel/models/search_parse_search_query_result.py +36 -0
  642. flywheel/models/search_project_response.py +196 -0
  643. flywheel/models/search_query.py +337 -0
  644. flywheel/models/search_query_suggestions.py +36 -0
  645. flywheel/models/search_response.py +448 -0
  646. flywheel/models/search_return_type.py +33 -0
  647. flywheel/models/search_save_search.py +36 -0
  648. flywheel/models/search_save_search_input.py +36 -0
  649. flywheel/models/search_save_search_parent.py +36 -0
  650. flywheel/models/search_save_search_update.py +36 -0
  651. flywheel/models/search_session_response.py +252 -0
  652. flywheel/models/search_status.py +166 -0
  653. flywheel/models/search_structured_search_query.py +25 -0
  654. flywheel/models/search_subject_response.py +225 -0
  655. flywheel/models/search_suggestion.py +36 -0
  656. flywheel/models/select_item.py +190 -0
  657. flywheel/models/server_state.py +303 -0
  658. flywheel/models/service_aet.py +301 -0
  659. flywheel/models/service_aet_input.py +276 -0
  660. flywheel/models/session.py +25 -0
  661. flywheel/models/session_container_output.py +35 -0
  662. flywheel/models/session_copy_input.py +253 -0
  663. flywheel/models/session_embedded_subject.py +299 -0
  664. flywheel/models/session_input.py +431 -0
  665. flywheel/models/session_list_output.py +897 -0
  666. flywheel/models/session_metadata_input.py +36 -0
  667. flywheel/models/session_modify.py +464 -0
  668. flywheel/models/session_node.py +36 -0
  669. flywheel/models/session_output.py +897 -0
  670. flywheel/models/session_parents.py +220 -0
  671. flywheel/models/session_template_options.py +221 -0
  672. flywheel/models/session_template_recalc_output.py +165 -0
  673. flywheel/models/session_upsert_input.py +464 -0
  674. flywheel/models/session_upsert_output.py +243 -0
  675. flywheel/models/sharing_filter_options.py +345 -0
  676. flywheel/models/signed_fs_upload_output.py +189 -0
  677. flywheel/models/signed_url_cleanup_input.py +189 -0
  678. flywheel/models/signed_url_upload_input.py +190 -0
  679. flywheel/models/signed_url_upload_output.py +349 -0
  680. flywheel/models/site.py +623 -0
  681. flywheel/models/site_report.py +194 -0
  682. flywheel/models/site_settings.py +385 -0
  683. flywheel/models/sort.py +192 -0
  684. flywheel/models/stable_api_key_input.py +25 -0
  685. flywheel/models/staffing_pool.py +324 -0
  686. flywheel/models/staffing_pool_create.py +216 -0
  687. flywheel/models/staffing_pool_list.py +164 -0
  688. flywheel/models/staffing_pool_modify.py +218 -0
  689. flywheel/models/state.py +32 -0
  690. flywheel/models/static_compute.py +218 -0
  691. flywheel/models/status_transitions.py +245 -0
  692. flywheel/models/status_type.py +31 -0
  693. flywheel/models/status_value.py +31 -0
  694. flywheel/models/storage_strategy.py +30 -0
  695. flywheel/models/storage_strategy_config.py +194 -0
  696. flywheel/models/structured_query.py +165 -0
  697. flywheel/models/structured_query_suggestions.py +196 -0
  698. flywheel/models/structured_query_value_suggestion.py +247 -0
  699. flywheel/models/subject.py +34 -0
  700. flywheel/models/subject_container_output.py +36 -0
  701. flywheel/models/subject_copy_input.py +223 -0
  702. flywheel/models/subject_input.py +627 -0
  703. flywheel/models/subject_modify.py +684 -0
  704. flywheel/models/subject_node.py +37 -0
  705. flywheel/models/subject_output.py +1008 -0
  706. flywheel/models/subject_output_for_list.py +1005 -0
  707. flywheel/models/subject_parents.py +194 -0
  708. flywheel/models/subject_role_permission.py +194 -0
  709. flywheel/models/subject_state.py +30 -0
  710. flywheel/models/subject_template_options.py +191 -0
  711. flywheel/models/subject_upsert_input.py +573 -0
  712. flywheel/models/subject_upsert_output.py +216 -0
  713. flywheel/models/sync_user_input.py +322 -0
  714. flywheel/models/tag.py +165 -0
  715. flywheel/models/task_assign.py +194 -0
  716. flywheel/models/task_facet.py +29 -0
  717. flywheel/models/task_parent_ref.py +245 -0
  718. flywheel/models/task_parent_ref_input.py +219 -0
  719. flywheel/models/task_priority.py +31 -0
  720. flywheel/models/task_submission.py +189 -0
  721. flywheel/models/therapeutic_area.py +60 -0
  722. flywheel/models/transitions.py +272 -0
  723. flywheel/models/tree_container_request_spec.py +281 -0
  724. flywheel/models/tree_graph.py +142 -0
  725. flywheel/models/tree_graph_connection.py +244 -0
  726. flywheel/models/tree_graph_connections.py +142 -0
  727. flywheel/models/tree_graph_node.py +166 -0
  728. flywheel/models/tree_request.py +25 -0
  729. flywheel/models/tree_response_item.py +142 -0
  730. flywheel/models/type_str.py +31 -0
  731. flywheel/models/uid_check_input_acquisitions.py +244 -0
  732. flywheel/models/uid_check_input_sessions.py +244 -0
  733. flywheel/models/uid_check_output.py +191 -0
  734. flywheel/models/upload_complete_s3_multipart_input.py +25 -0
  735. flywheel/models/upload_complete_s3_multipart_output.py +25 -0
  736. flywheel/models/upload_signed_fs_file_upload_output.py +36 -0
  737. flywheel/models/upload_signed_upload_url_input.py +36 -0
  738. flywheel/models/upload_signed_upload_url_output.py +36 -0
  739. flywheel/models/upload_ticket_output.py +215 -0
  740. flywheel/models/upload_token_output.py +163 -0
  741. flywheel/models/upsert_result.py +31 -0
  742. flywheel/models/user.py +760 -0
  743. flywheel/models/user_api_key.py +220 -0
  744. flywheel/models/user_input.py +461 -0
  745. flywheel/models/user_jobs.py +219 -0
  746. flywheel/models/user_jobs_output.py +25 -0
  747. flywheel/models/user_output.py +36 -0
  748. flywheel/models/user_output_id.py +163 -0
  749. flywheel/models/user_preferences.py +135 -0
  750. flywheel/models/user_wechat.py +135 -0
  751. flywheel/models/validation_error.py +215 -0
  752. flywheel/models/validation_rule.py +190 -0
  753. flywheel/models/version.py +363 -0
  754. flywheel/models/version_output.py +25 -0
  755. flywheel/models/view_id_output.py +164 -0
  756. flywheel/models/view_output.py +440 -0
  757. flywheel/models/viewer_app.py +381 -0
  758. flywheel/models/viewer_app_input.py +382 -0
  759. flywheel/models/viewer_app_type.py +29 -0
  760. flywheel/models/virus_scan.py +166 -0
  761. flywheel/models/virus_scan_state.py +30 -0
  762. flywheel/models/work_in_progress_features.py +135 -0
  763. flywheel/models/zipfile_info.py +192 -0
  764. flywheel/models/zipfile_member_info.py +241 -0
  765. flywheel/partial_reader.py +50 -0
  766. flywheel/rest.py +352 -0
  767. flywheel/util.py +95 -0
  768. flywheel/view_builder.py +449 -0
  769. flywheel_sdk-21.2.0rc0.dist-info/METADATA +41 -0
  770. flywheel_sdk-21.2.0rc0.dist-info/RECORD +772 -0
  771. flywheel_sdk-21.2.0rc0.dist-info/WHEEL +4 -0
  772. flywheel_sdk-21.2.0rc0.dist-info/licenses/LICENSE.txt +18 -0
@@ -0,0 +1,1071 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Flywheel
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: 0.0.1
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+ """
12
+
13
+
14
+ from __future__ import absolute_import
15
+
16
+ import re # noqa: F401
17
+
18
+ # python 2 and python 3 compatibility library
19
+ import six
20
+
21
+ from flywheel.api_client import ApiClient
22
+ import flywheel.models
23
+ from flywheel.util import check_filename_params
24
+
25
+ # NOTE: This file is auto generated by the swagger code generator program.
26
+ # Do not edit the class manually.
27
+
28
+ class DevicesApi(object):
29
+ def __init__(self, api_client=None):
30
+ if api_client is None:
31
+ api_client = ApiClient()
32
+ self.api_client = api_client
33
+
34
+ def create_device(self, body, **kwargs): # noqa: E501
35
+ """Create a new device.
36
+
37
+ Will create a new device record together with an api key. Request must be an admin request.
38
+ This method makes a synchronous HTTP request by default.
39
+
40
+ :param DeviceCreate body: (required)
41
+ :param bool async_: Perform the request asynchronously
42
+ :return: EgressDevice
43
+ """
44
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
45
+ kwargs['_return_http_data_only'] = True
46
+
47
+ if kwargs.get('async_'):
48
+ return self.create_device_with_http_info(body, **kwargs) # noqa: E501
49
+ else:
50
+ (data) = self.create_device_with_http_info(body, **kwargs) # noqa: E501
51
+ if (
52
+ data
53
+ and hasattr(data, 'return_value')
54
+ and not ignore_simplified_return_value
55
+ ):
56
+ return data.return_value()
57
+ return data
58
+
59
+
60
+ def create_device_with_http_info(self, body, **kwargs): # noqa: E501
61
+ """Create a new device.
62
+
63
+ Will create a new device record together with an api key. Request must be an admin request.
64
+ This method makes a synchronous HTTP request by default.
65
+
66
+ :param DeviceCreate body: (required)
67
+ :param bool async_: Perform the request asynchronously
68
+ :return: EgressDevice
69
+ """
70
+
71
+ all_params = ['body',] # noqa: E501
72
+ all_params.append('async_')
73
+ all_params.append('_return_http_data_only')
74
+ all_params.append('_preload_content')
75
+ all_params.append('_request_timeout')
76
+ all_params.append('_request_out')
77
+
78
+ params = locals()
79
+ for key, val in six.iteritems(params['kwargs']):
80
+ if key not in all_params:
81
+ raise TypeError(
82
+ "Got an unexpected keyword argument '%s'"
83
+ " to method create_device" % key
84
+ )
85
+ params[key] = val
86
+ del params['kwargs']
87
+ # verify the required parameter 'body' is set
88
+ if ('body' not in params or
89
+ params['body'] is None):
90
+ raise ValueError("Missing the required parameter `body` when calling `create_device`") # noqa: E501
91
+ check_filename_params(params)
92
+
93
+ collection_formats = {}
94
+
95
+ path_params = {}
96
+
97
+ query_params = []
98
+
99
+ header_params = {}
100
+
101
+ form_params = []
102
+ local_var_files = {}
103
+
104
+ body_params = None
105
+ if 'body' in params:
106
+ if 'DeviceCreate'.startswith('union'):
107
+ body_type = type(params['body'])
108
+ if getattr(body_type, 'positional_to_model', None):
109
+ body_params = body_type.positional_to_model(params['body'])
110
+ else:
111
+ body_params = params['body']
112
+ else:
113
+ body_params = flywheel.models.DeviceCreate.positional_to_model(params['body'])
114
+ # HTTP header `Accept`
115
+ header_params['Accept'] = self.api_client.select_header_accept(
116
+ ['application/json']) # noqa: E501
117
+
118
+ # HTTP header `Content-Type`
119
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
120
+ ['application/json']) # noqa: E501
121
+
122
+ # Authentication setting
123
+ auth_settings = ['ApiKey'] # noqa: E501
124
+
125
+ return self.api_client.call_api(
126
+ '/devices', 'POST',
127
+ path_params,
128
+ query_params,
129
+ header_params,
130
+ body=body_params,
131
+ post_params=form_params,
132
+ files=local_var_files,
133
+ response_type='EgressDevice', # noqa: E501
134
+ auth_settings=auth_settings,
135
+ async_=params.get('async_'),
136
+ _return_http_data_only=params.get('_return_http_data_only'),
137
+ _preload_content=params.get('_preload_content', True),
138
+ _request_timeout=params.get('_request_timeout'),
139
+ _request_out=params.get('_request_out'),
140
+ collection_formats=collection_formats)
141
+
142
+ def delete_device(self, device_id, **kwargs): # noqa: E501
143
+ """Delete a device
144
+
145
+ Delete a device
146
+ This method makes a synchronous HTTP request by default.
147
+
148
+ :param str device_id: (required)
149
+ :param bool async_: Perform the request asynchronously
150
+ :return: None
151
+ """
152
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
153
+ kwargs['_return_http_data_only'] = True
154
+
155
+ if kwargs.get('async_'):
156
+ return self.delete_device_with_http_info(device_id, **kwargs) # noqa: E501
157
+ else:
158
+ (data) = self.delete_device_with_http_info(device_id, **kwargs) # noqa: E501
159
+ if (
160
+ data
161
+ and hasattr(data, 'return_value')
162
+ and not ignore_simplified_return_value
163
+ ):
164
+ return data.return_value()
165
+ return data
166
+
167
+
168
+ def delete_device_with_http_info(self, device_id, **kwargs): # noqa: E501
169
+ """Delete a device
170
+
171
+ Delete a device
172
+ This method makes a synchronous HTTP request by default.
173
+
174
+ :param str device_id: (required)
175
+ :param bool async_: Perform the request asynchronously
176
+ :return: None
177
+ """
178
+
179
+ all_params = ['device_id',] # noqa: E501
180
+ all_params.append('async_')
181
+ all_params.append('_return_http_data_only')
182
+ all_params.append('_preload_content')
183
+ all_params.append('_request_timeout')
184
+ all_params.append('_request_out')
185
+
186
+ params = locals()
187
+ for key, val in six.iteritems(params['kwargs']):
188
+ if key not in all_params:
189
+ raise TypeError(
190
+ "Got an unexpected keyword argument '%s'"
191
+ " to method delete_device" % key
192
+ )
193
+ params[key] = val
194
+ del params['kwargs']
195
+ # verify the required parameter 'device_id' is set
196
+ if ('device_id' not in params or
197
+ params['device_id'] is None):
198
+ raise ValueError("Missing the required parameter `device_id` when calling `delete_device`") # noqa: E501
199
+ check_filename_params(params)
200
+
201
+ collection_formats = {}
202
+
203
+ path_params = {}
204
+ if 'device_id' in params:
205
+ path_params['device_id'] = params['device_id'] # noqa: E501
206
+
207
+ query_params = []
208
+
209
+ header_params = {}
210
+
211
+ form_params = []
212
+ local_var_files = {}
213
+
214
+ body_params = None
215
+ # HTTP header `Accept`
216
+ header_params['Accept'] = self.api_client.select_header_accept(
217
+ ['application/json']) # noqa: E501
218
+
219
+ # Authentication setting
220
+ auth_settings = ['ApiKey'] # noqa: E501
221
+
222
+ return self.api_client.call_api(
223
+ '/devices/{device_id}', 'DELETE',
224
+ path_params,
225
+ query_params,
226
+ header_params,
227
+ body=body_params,
228
+ post_params=form_params,
229
+ files=local_var_files,
230
+ response_type=None, # noqa: E501
231
+ auth_settings=auth_settings,
232
+ async_=params.get('async_'),
233
+ _return_http_data_only=params.get('_return_http_data_only'),
234
+ _preload_content=params.get('_preload_content', True),
235
+ _request_timeout=params.get('_request_timeout'),
236
+ _request_out=params.get('_request_out'),
237
+ collection_formats=collection_formats)
238
+
239
+ def delete_device_key(self, device_id, key_id, **kwargs): # noqa: E501
240
+ """Delete Device Key
241
+
242
+ This method makes a synchronous HTTP request by default.
243
+
244
+ :param str device_id: (required)
245
+ :param str key_id: (required)
246
+ :param bool async_: Perform the request asynchronously
247
+ :return: None
248
+ """
249
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
250
+ kwargs['_return_http_data_only'] = True
251
+
252
+ if kwargs.get('async_'):
253
+ return self.delete_device_key_with_http_info(device_id, key_id, **kwargs) # noqa: E501
254
+ else:
255
+ (data) = self.delete_device_key_with_http_info(device_id, key_id, **kwargs) # noqa: E501
256
+ if (
257
+ data
258
+ and hasattr(data, 'return_value')
259
+ and not ignore_simplified_return_value
260
+ ):
261
+ return data.return_value()
262
+ return data
263
+
264
+
265
+ def delete_device_key_with_http_info(self, device_id, key_id, **kwargs): # noqa: E501
266
+ """Delete Device Key
267
+
268
+ This method makes a synchronous HTTP request by default.
269
+
270
+ :param str device_id: (required)
271
+ :param str key_id: (required)
272
+ :param bool async_: Perform the request asynchronously
273
+ :return: None
274
+ """
275
+
276
+ all_params = ['device_id','key_id',] # noqa: E501
277
+ all_params.append('async_')
278
+ all_params.append('_return_http_data_only')
279
+ all_params.append('_preload_content')
280
+ all_params.append('_request_timeout')
281
+ all_params.append('_request_out')
282
+
283
+ params = locals()
284
+ for key, val in six.iteritems(params['kwargs']):
285
+ if key not in all_params:
286
+ raise TypeError(
287
+ "Got an unexpected keyword argument '%s'"
288
+ " to method delete_device_key" % key
289
+ )
290
+ params[key] = val
291
+ del params['kwargs']
292
+ # verify the required parameter 'device_id' is set
293
+ if ('device_id' not in params or
294
+ params['device_id'] is None):
295
+ raise ValueError("Missing the required parameter `device_id` when calling `delete_device_key`") # noqa: E501
296
+ # verify the required parameter 'key_id' is set
297
+ if ('key_id' not in params or
298
+ params['key_id'] is None):
299
+ raise ValueError("Missing the required parameter `key_id` when calling `delete_device_key`") # noqa: E501
300
+ check_filename_params(params)
301
+
302
+ collection_formats = {}
303
+
304
+ path_params = {}
305
+ if 'device_id' in params:
306
+ path_params['device_id'] = params['device_id'] # noqa: E501
307
+ if 'key_id' in params:
308
+ path_params['key_id'] = params['key_id'] # noqa: E501
309
+
310
+ query_params = []
311
+
312
+ header_params = {}
313
+
314
+ form_params = []
315
+ local_var_files = {}
316
+
317
+ body_params = None
318
+ # HTTP header `Accept`
319
+ header_params['Accept'] = self.api_client.select_header_accept(
320
+ ['application/json']) # noqa: E501
321
+
322
+ # Authentication setting
323
+ auth_settings = ['ApiKey'] # noqa: E501
324
+
325
+ return self.api_client.call_api(
326
+ '/devices/{device_id}/key/{key_id}', 'DELETE',
327
+ path_params,
328
+ query_params,
329
+ header_params,
330
+ body=body_params,
331
+ post_params=form_params,
332
+ files=local_var_files,
333
+ response_type=None, # noqa: E501
334
+ auth_settings=auth_settings,
335
+ async_=params.get('async_'),
336
+ _return_http_data_only=params.get('_return_http_data_only'),
337
+ _preload_content=params.get('_preload_content', True),
338
+ _request_timeout=params.get('_request_timeout'),
339
+ _request_out=params.get('_request_out'),
340
+ collection_formats=collection_formats)
341
+
342
+ def generate_key(self, device_id, **kwargs): # noqa: E501
343
+ """Generate device API key
344
+
345
+ Regenerate device API key
346
+ This method makes a synchronous HTTP request by default.
347
+
348
+ :param str device_id: (required)
349
+ :param ApiKeyInputWithOptionalLabel body:
350
+ :param bool async_: Perform the request asynchronously
351
+ :return: object
352
+ """
353
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
354
+ kwargs['_return_http_data_only'] = True
355
+
356
+ if kwargs.get('async_'):
357
+ return self.generate_key_with_http_info(device_id, **kwargs) # noqa: E501
358
+ else:
359
+ (data) = self.generate_key_with_http_info(device_id, **kwargs) # noqa: E501
360
+ if (
361
+ data
362
+ and hasattr(data, 'return_value')
363
+ and not ignore_simplified_return_value
364
+ ):
365
+ return data.return_value()
366
+ return data
367
+
368
+
369
+ def generate_key_with_http_info(self, device_id, **kwargs): # noqa: E501
370
+ """Generate device API key
371
+
372
+ Regenerate device API key
373
+ This method makes a synchronous HTTP request by default.
374
+
375
+ :param str device_id: (required)
376
+ :param ApiKeyInputWithOptionalLabel body:
377
+ :param bool async_: Perform the request asynchronously
378
+ :return: object
379
+ """
380
+
381
+ all_params = ['device_id','body',] # noqa: E501
382
+ all_params.append('async_')
383
+ all_params.append('_return_http_data_only')
384
+ all_params.append('_preload_content')
385
+ all_params.append('_request_timeout')
386
+ all_params.append('_request_out')
387
+
388
+ params = locals()
389
+ for key, val in six.iteritems(params['kwargs']):
390
+ if key not in all_params:
391
+ raise TypeError(
392
+ "Got an unexpected keyword argument '%s'"
393
+ " to method generate_key" % key
394
+ )
395
+ params[key] = val
396
+ del params['kwargs']
397
+ # verify the required parameter 'device_id' is set
398
+ if ('device_id' not in params or
399
+ params['device_id'] is None):
400
+ raise ValueError("Missing the required parameter `device_id` when calling `generate_key`") # noqa: E501
401
+ check_filename_params(params)
402
+
403
+ collection_formats = {}
404
+
405
+ path_params = {}
406
+ if 'device_id' in params:
407
+ path_params['device_id'] = params['device_id'] # noqa: E501
408
+
409
+ query_params = []
410
+
411
+ header_params = {}
412
+
413
+ form_params = []
414
+ local_var_files = {}
415
+
416
+ body_params = None
417
+ if 'body' in params:
418
+ if 'ApiKeyInputWithOptionalLabel'.startswith('union'):
419
+ body_type = type(params['body'])
420
+ if getattr(body_type, 'positional_to_model', None):
421
+ body_params = body_type.positional_to_model(params['body'])
422
+ else:
423
+ body_params = params['body']
424
+ else:
425
+ body_params = flywheel.models.ApiKeyInputWithOptionalLabel.positional_to_model(params['body'])
426
+ # HTTP header `Accept`
427
+ header_params['Accept'] = self.api_client.select_header_accept(
428
+ ['application/json']) # noqa: E501
429
+
430
+ # HTTP header `Content-Type`
431
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
432
+ ['application/json']) # noqa: E501
433
+
434
+ # Authentication setting
435
+ auth_settings = ['ApiKey'] # noqa: E501
436
+
437
+ return self.api_client.call_api(
438
+ '/devices/{device_id}/key', 'POST',
439
+ path_params,
440
+ query_params,
441
+ header_params,
442
+ body=body_params,
443
+ post_params=form_params,
444
+ files=local_var_files,
445
+ response_type='object', # noqa: E501
446
+ auth_settings=auth_settings,
447
+ async_=params.get('async_'),
448
+ _return_http_data_only=params.get('_return_http_data_only'),
449
+ _preload_content=params.get('_preload_content', True),
450
+ _request_timeout=params.get('_request_timeout'),
451
+ _request_out=params.get('_request_out'),
452
+ collection_formats=collection_formats)
453
+
454
+ def get_all_devices(self, **kwargs): # noqa: E501
455
+ """List all devices.
456
+
457
+ Requires login.
458
+ This method makes a synchronous HTTP request by default.
459
+
460
+ :param bool join_keys: Return device key. Admins only
461
+ :param str filter: The filter to apply. (e.g. label=my-label,created>2018-09-22)
462
+ :param str sort: The sort fields and order. (e.g. label:asc,created:desc)
463
+ :param int limit: The maximum number of entries to return.
464
+ :param int skip: The number of entries to skip.
465
+ :param int page: The page number (i.e. skip limit*page entries)
466
+ :param str after_id: Paginate after the given id. (Cannot be used with sort, page or skip)
467
+ :param list[str] x_accept_feature:
468
+ :param bool async_: Perform the request asynchronously
469
+ :return: union[list[EgressDevice],EgressDevicePage]
470
+ """
471
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
472
+ kwargs['_return_http_data_only'] = True
473
+
474
+ if kwargs.get('async_'):
475
+ return self.get_all_devices_with_http_info(**kwargs) # noqa: E501
476
+ else:
477
+ (data) = self.get_all_devices_with_http_info(**kwargs) # noqa: E501
478
+ if (
479
+ data
480
+ and hasattr(data, 'return_value')
481
+ and not ignore_simplified_return_value
482
+ ):
483
+ return data.return_value()
484
+ return data
485
+
486
+
487
+ def get_all_devices_with_http_info(self, **kwargs): # noqa: E501
488
+ """List all devices.
489
+
490
+ Requires login.
491
+ This method makes a synchronous HTTP request by default.
492
+
493
+ :param bool join_keys: Return device key. Admins only
494
+ :param str filter: The filter to apply. (e.g. label=my-label,created>2018-09-22)
495
+ :param str sort: The sort fields and order. (e.g. label:asc,created:desc)
496
+ :param int limit: The maximum number of entries to return.
497
+ :param int skip: The number of entries to skip.
498
+ :param int page: The page number (i.e. skip limit*page entries)
499
+ :param str after_id: Paginate after the given id. (Cannot be used with sort, page or skip)
500
+ :param list[str] x_accept_feature:
501
+ :param bool async_: Perform the request asynchronously
502
+ :return: union[list[EgressDevice],EgressDevicePage]
503
+ """
504
+
505
+ all_params = ['join_keys','filter','sort','limit','skip','page','after_id','x_accept_feature',] # noqa: E501
506
+ all_params.append('async_')
507
+ all_params.append('_return_http_data_only')
508
+ all_params.append('_preload_content')
509
+ all_params.append('_request_timeout')
510
+ all_params.append('_request_out')
511
+
512
+ params = locals()
513
+ for key, val in six.iteritems(params['kwargs']):
514
+ if key not in all_params:
515
+ raise TypeError(
516
+ "Got an unexpected keyword argument '%s'"
517
+ " to method get_all_devices" % key
518
+ )
519
+ params[key] = val
520
+ del params['kwargs']
521
+ check_filename_params(params)
522
+
523
+ collection_formats = {}
524
+
525
+ path_params = {}
526
+
527
+ query_params = []
528
+ if 'join_keys' in params:
529
+ query_params.append(('join_keys', params['join_keys'])) # noqa: E501
530
+ if 'filter' in params:
531
+ query_params.append(('filter', params['filter'])) # noqa: E501
532
+ if 'sort' in params:
533
+ query_params.append(('sort', params['sort'])) # noqa: E501
534
+ if 'limit' in params:
535
+ query_params.append(('limit', params['limit'])) # noqa: E501
536
+ if 'skip' in params:
537
+ query_params.append(('skip', params['skip'])) # noqa: E501
538
+ if 'page' in params:
539
+ query_params.append(('page', params['page'])) # noqa: E501
540
+ if 'after_id' in params:
541
+ query_params.append(('after_id', params['after_id'])) # noqa: E501
542
+
543
+ header_params = {}
544
+ if 'x_accept_feature' in params:
545
+ header_params['x-accept-feature'] = params['x_accept_feature'] # noqa: E501
546
+ collection_formats['x-accept-feature'] = '' # noqa: E501
547
+
548
+ form_params = []
549
+ local_var_files = {}
550
+
551
+ body_params = None
552
+ # HTTP header `Accept`
553
+ header_params['Accept'] = self.api_client.select_header_accept(
554
+ ['application/json']) # noqa: E501
555
+
556
+ # Authentication setting
557
+ auth_settings = ['ApiKey'] # noqa: E501
558
+
559
+ return self.api_client.call_api(
560
+ '/devices', 'GET',
561
+ path_params,
562
+ query_params,
563
+ header_params,
564
+ body=body_params,
565
+ post_params=form_params,
566
+ files=local_var_files,
567
+ response_type='union[list[EgressDevice],EgressDevicePage]', # noqa: E501
568
+ auth_settings=auth_settings,
569
+ async_=params.get('async_'),
570
+ _return_http_data_only=params.get('_return_http_data_only'),
571
+ _preload_content=params.get('_preload_content', True),
572
+ _request_timeout=params.get('_request_timeout'),
573
+ _request_out=params.get('_request_out'),
574
+ collection_formats=collection_formats)
575
+
576
+ def get_all_devices_status(self, **kwargs): # noqa: E501
577
+ """Get status for all known devices.
578
+
579
+ ok - missing - error - unknown
580
+ This method makes a synchronous HTTP request by default.
581
+
582
+ :param bool async_: Perform the request asynchronously
583
+ :return: dict(str, DeviceStatusEntry)
584
+ """
585
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
586
+ kwargs['_return_http_data_only'] = True
587
+
588
+ if kwargs.get('async_'):
589
+ return self.get_all_devices_status_with_http_info(**kwargs) # noqa: E501
590
+ else:
591
+ (data) = self.get_all_devices_status_with_http_info(**kwargs) # noqa: E501
592
+ if (
593
+ data
594
+ and hasattr(data, 'return_value')
595
+ and not ignore_simplified_return_value
596
+ ):
597
+ return data.return_value()
598
+ return data
599
+
600
+
601
+ def get_all_devices_status_with_http_info(self, **kwargs): # noqa: E501
602
+ """Get status for all known devices.
603
+
604
+ ok - missing - error - unknown
605
+ This method makes a synchronous HTTP request by default.
606
+
607
+ :param bool async_: Perform the request asynchronously
608
+ :return: dict(str, DeviceStatusEntry)
609
+ """
610
+
611
+ all_params = [] # noqa: E501
612
+ all_params.append('async_')
613
+ all_params.append('_return_http_data_only')
614
+ all_params.append('_preload_content')
615
+ all_params.append('_request_timeout')
616
+ all_params.append('_request_out')
617
+
618
+ params = locals()
619
+ for key, val in six.iteritems(params['kwargs']):
620
+ if key not in all_params:
621
+ raise TypeError(
622
+ "Got an unexpected keyword argument '%s'"
623
+ " to method get_all_devices_status" % key
624
+ )
625
+ params[key] = val
626
+ del params['kwargs']
627
+ check_filename_params(params)
628
+
629
+ collection_formats = {}
630
+
631
+ path_params = {}
632
+
633
+ query_params = []
634
+
635
+ header_params = {}
636
+
637
+ form_params = []
638
+ local_var_files = {}
639
+
640
+ body_params = None
641
+ # HTTP header `Accept`
642
+ header_params['Accept'] = self.api_client.select_header_accept(
643
+ ['application/json']) # noqa: E501
644
+
645
+ # Authentication setting
646
+ auth_settings = ['ApiKey'] # noqa: E501
647
+
648
+ return self.api_client.call_api(
649
+ '/devices/status', 'GET',
650
+ path_params,
651
+ query_params,
652
+ header_params,
653
+ body=body_params,
654
+ post_params=form_params,
655
+ files=local_var_files,
656
+ response_type='dict(str, DeviceStatusEntry)', # noqa: E501
657
+ auth_settings=auth_settings,
658
+ async_=params.get('async_'),
659
+ _return_http_data_only=params.get('_return_http_data_only'),
660
+ _preload_content=params.get('_preload_content', True),
661
+ _request_timeout=params.get('_request_timeout'),
662
+ _request_out=params.get('_request_out'),
663
+ collection_formats=collection_formats)
664
+
665
+ def get_current_device(self, **kwargs): # noqa: E501
666
+ """Get current device.
667
+
668
+ Get current device.
669
+ This method makes a synchronous HTTP request by default.
670
+
671
+ :param bool async_: Perform the request asynchronously
672
+ :return: EgressDevice
673
+ """
674
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
675
+ kwargs['_return_http_data_only'] = True
676
+
677
+ if kwargs.get('async_'):
678
+ return self.get_current_device_with_http_info(**kwargs) # noqa: E501
679
+ else:
680
+ (data) = self.get_current_device_with_http_info(**kwargs) # noqa: E501
681
+ if (
682
+ data
683
+ and hasattr(data, 'return_value')
684
+ and not ignore_simplified_return_value
685
+ ):
686
+ return data.return_value()
687
+ return data
688
+
689
+
690
+ def get_current_device_with_http_info(self, **kwargs): # noqa: E501
691
+ """Get current device.
692
+
693
+ Get current device.
694
+ This method makes a synchronous HTTP request by default.
695
+
696
+ :param bool async_: Perform the request asynchronously
697
+ :return: EgressDevice
698
+ """
699
+
700
+ all_params = [] # noqa: E501
701
+ all_params.append('async_')
702
+ all_params.append('_return_http_data_only')
703
+ all_params.append('_preload_content')
704
+ all_params.append('_request_timeout')
705
+ all_params.append('_request_out')
706
+
707
+ params = locals()
708
+ for key, val in six.iteritems(params['kwargs']):
709
+ if key not in all_params:
710
+ raise TypeError(
711
+ "Got an unexpected keyword argument '%s'"
712
+ " to method get_current_device" % key
713
+ )
714
+ params[key] = val
715
+ del params['kwargs']
716
+ check_filename_params(params)
717
+
718
+ collection_formats = {}
719
+
720
+ path_params = {}
721
+
722
+ query_params = []
723
+
724
+ header_params = {}
725
+
726
+ form_params = []
727
+ local_var_files = {}
728
+
729
+ body_params = None
730
+ # HTTP header `Accept`
731
+ header_params['Accept'] = self.api_client.select_header_accept(
732
+ ['application/json']) # noqa: E501
733
+
734
+ # Authentication setting
735
+ auth_settings = ['ApiKey'] # noqa: E501
736
+
737
+ return self.api_client.call_api(
738
+ '/devices/self', 'GET',
739
+ path_params,
740
+ query_params,
741
+ header_params,
742
+ body=body_params,
743
+ post_params=form_params,
744
+ files=local_var_files,
745
+ response_type='EgressDevice', # noqa: E501
746
+ auth_settings=auth_settings,
747
+ async_=params.get('async_'),
748
+ _return_http_data_only=params.get('_return_http_data_only'),
749
+ _preload_content=params.get('_preload_content', True),
750
+ _request_timeout=params.get('_request_timeout'),
751
+ _request_out=params.get('_request_out'),
752
+ collection_formats=collection_formats)
753
+
754
+ def get_device(self, device_id, **kwargs): # noqa: E501
755
+ """Get device details
756
+
757
+ This method makes a synchronous HTTP request by default.
758
+
759
+ :param str device_id: (required)
760
+ :param bool async_: Perform the request asynchronously
761
+ :return: EgressDevice
762
+ """
763
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
764
+ kwargs['_return_http_data_only'] = True
765
+
766
+ if kwargs.get('async_'):
767
+ return self.get_device_with_http_info(device_id, **kwargs) # noqa: E501
768
+ else:
769
+ (data) = self.get_device_with_http_info(device_id, **kwargs) # noqa: E501
770
+ if (
771
+ data
772
+ and hasattr(data, 'return_value')
773
+ and not ignore_simplified_return_value
774
+ ):
775
+ return data.return_value()
776
+ return data
777
+
778
+
779
+ def get_device_with_http_info(self, device_id, **kwargs): # noqa: E501
780
+ """Get device details
781
+
782
+ This method makes a synchronous HTTP request by default.
783
+
784
+ :param str device_id: (required)
785
+ :param bool async_: Perform the request asynchronously
786
+ :return: EgressDevice
787
+ """
788
+
789
+ all_params = ['device_id',] # noqa: E501
790
+ all_params.append('async_')
791
+ all_params.append('_return_http_data_only')
792
+ all_params.append('_preload_content')
793
+ all_params.append('_request_timeout')
794
+ all_params.append('_request_out')
795
+
796
+ params = locals()
797
+ for key, val in six.iteritems(params['kwargs']):
798
+ if key not in all_params:
799
+ raise TypeError(
800
+ "Got an unexpected keyword argument '%s'"
801
+ " to method get_device" % key
802
+ )
803
+ params[key] = val
804
+ del params['kwargs']
805
+ # verify the required parameter 'device_id' is set
806
+ if ('device_id' not in params or
807
+ params['device_id'] is None):
808
+ raise ValueError("Missing the required parameter `device_id` when calling `get_device`") # noqa: E501
809
+ check_filename_params(params)
810
+
811
+ collection_formats = {}
812
+
813
+ path_params = {}
814
+ if 'device_id' in params:
815
+ path_params['device_id'] = params['device_id'] # noqa: E501
816
+
817
+ query_params = []
818
+
819
+ header_params = {}
820
+
821
+ form_params = []
822
+ local_var_files = {}
823
+
824
+ body_params = None
825
+ # HTTP header `Accept`
826
+ header_params['Accept'] = self.api_client.select_header_accept(
827
+ ['application/json']) # noqa: E501
828
+
829
+ # Authentication setting
830
+ auth_settings = ['ApiKey'] # noqa: E501
831
+
832
+ return self.api_client.call_api(
833
+ '/devices/{device_id}', 'GET',
834
+ path_params,
835
+ query_params,
836
+ header_params,
837
+ body=body_params,
838
+ post_params=form_params,
839
+ files=local_var_files,
840
+ response_type='EgressDevice', # noqa: E501
841
+ auth_settings=auth_settings,
842
+ async_=params.get('async_'),
843
+ _return_http_data_only=params.get('_return_http_data_only'),
844
+ _preload_content=params.get('_preload_content', True),
845
+ _request_timeout=params.get('_request_timeout'),
846
+ _request_out=params.get('_request_out'),
847
+ collection_formats=collection_formats)
848
+
849
+ def modify_device(self, device_id, body, **kwargs): # noqa: E501
850
+ """Update a device
851
+
852
+ Update a device
853
+ This method makes a synchronous HTTP request by default.
854
+
855
+ :param str device_id: (required)
856
+ :param DeviceAdminUpdate body: (required)
857
+ :param bool async_: Perform the request asynchronously
858
+ :return: EgressDevice
859
+ """
860
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
861
+ kwargs['_return_http_data_only'] = True
862
+
863
+ if kwargs.get('async_'):
864
+ return self.modify_device_with_http_info(device_id, body, **kwargs) # noqa: E501
865
+ else:
866
+ (data) = self.modify_device_with_http_info(device_id, body, **kwargs) # noqa: E501
867
+ if (
868
+ data
869
+ and hasattr(data, 'return_value')
870
+ and not ignore_simplified_return_value
871
+ ):
872
+ return data.return_value()
873
+ return data
874
+
875
+
876
+ def modify_device_with_http_info(self, device_id, body, **kwargs): # noqa: E501
877
+ """Update a device
878
+
879
+ Update a device
880
+ This method makes a synchronous HTTP request by default.
881
+
882
+ :param str device_id: (required)
883
+ :param DeviceAdminUpdate body: (required)
884
+ :param bool async_: Perform the request asynchronously
885
+ :return: EgressDevice
886
+ """
887
+
888
+ all_params = ['device_id','body',] # noqa: E501
889
+ all_params.append('async_')
890
+ all_params.append('_return_http_data_only')
891
+ all_params.append('_preload_content')
892
+ all_params.append('_request_timeout')
893
+ all_params.append('_request_out')
894
+
895
+ params = locals()
896
+ for key, val in six.iteritems(params['kwargs']):
897
+ if key not in all_params:
898
+ raise TypeError(
899
+ "Got an unexpected keyword argument '%s'"
900
+ " to method modify_device" % key
901
+ )
902
+ params[key] = val
903
+ del params['kwargs']
904
+ # verify the required parameter 'device_id' is set
905
+ if ('device_id' not in params or
906
+ params['device_id'] is None):
907
+ raise ValueError("Missing the required parameter `device_id` when calling `modify_device`") # noqa: E501
908
+ # verify the required parameter 'body' is set
909
+ if ('body' not in params or
910
+ params['body'] is None):
911
+ raise ValueError("Missing the required parameter `body` when calling `modify_device`") # noqa: E501
912
+ check_filename_params(params)
913
+
914
+ collection_formats = {}
915
+
916
+ path_params = {}
917
+ if 'device_id' in params:
918
+ path_params['device_id'] = params['device_id'] # noqa: E501
919
+
920
+ query_params = []
921
+
922
+ header_params = {}
923
+
924
+ form_params = []
925
+ local_var_files = {}
926
+
927
+ body_params = None
928
+ if 'body' in params:
929
+ if 'DeviceAdminUpdate'.startswith('union'):
930
+ body_type = type(params['body'])
931
+ if getattr(body_type, 'positional_to_model', None):
932
+ body_params = body_type.positional_to_model(params['body'])
933
+ else:
934
+ body_params = params['body']
935
+ else:
936
+ body_params = flywheel.models.DeviceAdminUpdate.positional_to_model(params['body'])
937
+ # HTTP header `Accept`
938
+ header_params['Accept'] = self.api_client.select_header_accept(
939
+ ['application/json']) # noqa: E501
940
+
941
+ # HTTP header `Content-Type`
942
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
943
+ ['application/json']) # noqa: E501
944
+
945
+ # Authentication setting
946
+ auth_settings = ['ApiKey'] # noqa: E501
947
+
948
+ return self.api_client.call_api(
949
+ '/devices/{device_id}', 'PUT',
950
+ path_params,
951
+ query_params,
952
+ header_params,
953
+ body=body_params,
954
+ post_params=form_params,
955
+ files=local_var_files,
956
+ response_type='EgressDevice', # noqa: E501
957
+ auth_settings=auth_settings,
958
+ async_=params.get('async_'),
959
+ _return_http_data_only=params.get('_return_http_data_only'),
960
+ _preload_content=params.get('_preload_content', True),
961
+ _request_timeout=params.get('_request_timeout'),
962
+ _request_out=params.get('_request_out'),
963
+ collection_formats=collection_formats)
964
+
965
+ def update_device(self, body, **kwargs): # noqa: E501
966
+ """Modify a device's type, name, interval, info or set errors.
967
+
968
+ Will modify the device record of the device making the request. Type may only be set once if not already specified at creation. Request must be a drone request.
969
+ This method makes a synchronous HTTP request by default.
970
+
971
+ :param DeviceSelfUpdate body: (required)
972
+ :param bool async_: Perform the request asynchronously
973
+ :return: EgressDevice
974
+ """
975
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
976
+ kwargs['_return_http_data_only'] = True
977
+
978
+ if kwargs.get('async_'):
979
+ return self.update_device_with_http_info(body, **kwargs) # noqa: E501
980
+ else:
981
+ (data) = self.update_device_with_http_info(body, **kwargs) # noqa: E501
982
+ if (
983
+ data
984
+ and hasattr(data, 'return_value')
985
+ and not ignore_simplified_return_value
986
+ ):
987
+ return data.return_value()
988
+ return data
989
+
990
+
991
+ def update_device_with_http_info(self, body, **kwargs): # noqa: E501
992
+ """Modify a device's type, name, interval, info or set errors.
993
+
994
+ Will modify the device record of the device making the request. Type may only be set once if not already specified at creation. Request must be a drone request.
995
+ This method makes a synchronous HTTP request by default.
996
+
997
+ :param DeviceSelfUpdate body: (required)
998
+ :param bool async_: Perform the request asynchronously
999
+ :return: EgressDevice
1000
+ """
1001
+
1002
+ all_params = ['body',] # noqa: E501
1003
+ all_params.append('async_')
1004
+ all_params.append('_return_http_data_only')
1005
+ all_params.append('_preload_content')
1006
+ all_params.append('_request_timeout')
1007
+ all_params.append('_request_out')
1008
+
1009
+ params = locals()
1010
+ for key, val in six.iteritems(params['kwargs']):
1011
+ if key not in all_params:
1012
+ raise TypeError(
1013
+ "Got an unexpected keyword argument '%s'"
1014
+ " to method update_device" % key
1015
+ )
1016
+ params[key] = val
1017
+ del params['kwargs']
1018
+ # verify the required parameter 'body' is set
1019
+ if ('body' not in params or
1020
+ params['body'] is None):
1021
+ raise ValueError("Missing the required parameter `body` when calling `update_device`") # noqa: E501
1022
+ check_filename_params(params)
1023
+
1024
+ collection_formats = {}
1025
+
1026
+ path_params = {}
1027
+
1028
+ query_params = []
1029
+
1030
+ header_params = {}
1031
+
1032
+ form_params = []
1033
+ local_var_files = {}
1034
+
1035
+ body_params = None
1036
+ if 'body' in params:
1037
+ if 'DeviceSelfUpdate'.startswith('union'):
1038
+ body_type = type(params['body'])
1039
+ if getattr(body_type, 'positional_to_model', None):
1040
+ body_params = body_type.positional_to_model(params['body'])
1041
+ else:
1042
+ body_params = params['body']
1043
+ else:
1044
+ body_params = flywheel.models.DeviceSelfUpdate.positional_to_model(params['body'])
1045
+ # HTTP header `Accept`
1046
+ header_params['Accept'] = self.api_client.select_header_accept(
1047
+ ['application/json']) # noqa: E501
1048
+
1049
+ # HTTP header `Content-Type`
1050
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
1051
+ ['application/json']) # noqa: E501
1052
+
1053
+ # Authentication setting
1054
+ auth_settings = ['ApiKey'] # noqa: E501
1055
+
1056
+ return self.api_client.call_api(
1057
+ '/devices/self', 'PUT',
1058
+ path_params,
1059
+ query_params,
1060
+ header_params,
1061
+ body=body_params,
1062
+ post_params=form_params,
1063
+ files=local_var_files,
1064
+ response_type='EgressDevice', # noqa: E501
1065
+ auth_settings=auth_settings,
1066
+ async_=params.get('async_'),
1067
+ _return_http_data_only=params.get('_return_http_data_only'),
1068
+ _preload_content=params.get('_preload_content', True),
1069
+ _request_timeout=params.get('_request_timeout'),
1070
+ _request_out=params.get('_request_out'),
1071
+ collection_formats=collection_formats)