flywheel-sdk 21.2.0__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.
- flywheel/__init__.py +784 -0
- flywheel/api/__init__.py +46 -0
- flywheel/api/acquisitions_api.py +5014 -0
- flywheel/api/analyses_api.py +3848 -0
- flywheel/api/audit_trail_api.py +568 -0
- flywheel/api/auth_api.py +121 -0
- flywheel/api/batch_api.py +630 -0
- flywheel/api/bulk_api.py +140 -0
- flywheel/api/change_log_api.py +254 -0
- flywheel/api/collections_api.py +3913 -0
- flywheel/api/config_api.py +299 -0
- flywheel/api/container_tasks_api.py +137 -0
- flywheel/api/container_type_api.py +137 -0
- flywheel/api/containers_api.py +4784 -0
- flywheel/api/custom_filters_api.py +466 -0
- flywheel/api/data_view_executions_api.py +549 -0
- flywheel/api/dataexplorer_api.py +1192 -0
- flywheel/api/devices_api.py +1071 -0
- flywheel/api/dimse_api.py +814 -0
- flywheel/api/download_api.py +261 -0
- flywheel/api/files_api.py +1868 -0
- flywheel/api/form_responses_api.py +703 -0
- flywheel/api/gears_api.py +1875 -0
- flywheel/api/groups_api.py +2829 -0
- flywheel/api/jobs_api.py +2320 -0
- flywheel/api/jupyterlab_servers_api.py +245 -0
- flywheel/api/modalities_api.py +562 -0
- flywheel/api/packfiles_api.py +121 -0
- flywheel/api/projects_api.py +7820 -0
- flywheel/api/protocols_api.py +757 -0
- flywheel/api/reports_api.py +1057 -0
- flywheel/api/resolve_api.py +276 -0
- flywheel/api/roles_api.py +563 -0
- flywheel/api/sessions_api.py +5296 -0
- flywheel/api/site_api.py +1552 -0
- flywheel/api/staffing_pools_api.py +677 -0
- flywheel/api/subjects_api.py +5349 -0
- flywheel/api/tasks_api.py +897 -0
- flywheel/api/tree_api.py +266 -0
- flywheel/api/uids_api.py +140 -0
- flywheel/api/upload_api.py +842 -0
- flywheel/api/users_api.py +2142 -0
- flywheel/api/views_api.py +1089 -0
- flywheel/api_client.py +748 -0
- flywheel/client.py +291 -0
- flywheel/configuration.py +308 -0
- flywheel/drone_login.py +65 -0
- flywheel/file_spec.py +67 -0
- flywheel/finder.py +168 -0
- flywheel/flywheel.py +9867 -0
- flywheel/gear_context.py +374 -0
- flywheel/models/__init__.py +726 -0
- flywheel/models/access_level.py +30 -0
- flywheel/models/access_permission.py +197 -0
- flywheel/models/access_permission_output.py +192 -0
- flywheel/models/access_permission_update.py +166 -0
- flywheel/models/access_type.py +54 -0
- flywheel/models/accumulator.py +33 -0
- flywheel/models/acquisition.py +25 -0
- flywheel/models/acquisition_container_output.py +34 -0
- flywheel/models/acquisition_copy_input.py +223 -0
- flywheel/models/acquisition_input.py +297 -0
- flywheel/models/acquisition_list_output.py +767 -0
- flywheel/models/acquisition_modify_input.py +299 -0
- flywheel/models/acquisition_node.py +35 -0
- flywheel/models/acquisition_output.py +767 -0
- flywheel/models/acquisition_parents.py +241 -0
- flywheel/models/acquisition_template_options.py +275 -0
- flywheel/models/acquisition_upsert_input.py +383 -0
- flywheel/models/acquisition_upsert_output.py +243 -0
- flywheel/models/action.py +91 -0
- flywheel/models/adhoc_analysis_input.py +247 -0
- flywheel/models/analysis.py +25 -0
- flywheel/models/analysis_container_output.py +34 -0
- flywheel/models/analysis_files_create_ticket_output.py +241 -0
- flywheel/models/analysis_input.py +310 -0
- flywheel/models/analysis_input_legacy.py +25 -0
- flywheel/models/analysis_list_output.py +680 -0
- flywheel/models/analysis_list_output_inflated_job.py +650 -0
- flywheel/models/analysis_modify_input.py +191 -0
- flywheel/models/analysis_node.py +35 -0
- flywheel/models/analysis_output.py +683 -0
- flywheel/models/analysis_output_inflated_job.py +674 -0
- flywheel/models/analysis_parents.py +270 -0
- flywheel/models/analysis_update.py +25 -0
- flywheel/models/api_key_input_with_optional_label.py +191 -0
- flywheel/models/api_key_output.py +297 -0
- flywheel/models/as_storage.py +298 -0
- flywheel/models/assignee.py +192 -0
- flywheel/models/assignee_type.py +29 -0
- flywheel/models/audit_trail_report.py +486 -0
- flywheel/models/audit_trail_report_status.py +32 -0
- flywheel/models/auth0_auth_out.py +323 -0
- flywheel/models/auth0_options_out.py +319 -0
- flywheel/models/auth_out.py +357 -0
- flywheel/models/auth_session_output.py +272 -0
- flywheel/models/avatars.py +218 -0
- flywheel/models/aws_creds.py +191 -0
- flywheel/models/aws_storage.py +354 -0
- flywheel/models/azure_creds.py +190 -0
- flywheel/models/base_aet.py +245 -0
- flywheel/models/base_compute.py +426 -0
- flywheel/models/batch.py +360 -0
- flywheel/models/batch_cancel_output.py +36 -0
- flywheel/models/batch_create_filters.py +220 -0
- flywheel/models/batch_job_analysis_input.py +281 -0
- flywheel/models/batch_jobs_proposal_input.py +36 -0
- flywheel/models/batch_proposal.py +25 -0
- flywheel/models/batch_proposal_detail.py +36 -0
- flywheel/models/batch_proposal_input.py +25 -0
- flywheel/models/body.py +36 -0
- flywheel/models/body_regenerate_key_api_devices_device_id_key_post.py +25 -0
- flywheel/models/body_region.py +46 -0
- flywheel/models/bookmark.py +189 -0
- flywheel/models/bulk_move_input.py +272 -0
- flywheel/models/bulk_move_sessions.py +25 -0
- flywheel/models/callbacks_virus_scan_input.py +36 -0
- flywheel/models/cancelled_batch_output.py +163 -0
- flywheel/models/catalog_list_output.py +407 -0
- flywheel/models/central_out.py +299 -0
- flywheel/models/change.py +379 -0
- flywheel/models/change_log_container_type.py +38 -0
- flywheel/models/change_log_document.py +245 -0
- flywheel/models/change_method.py +33 -0
- flywheel/models/classic_batch_job_output.py +352 -0
- flywheel/models/classic_batch_job_output_inflated_jobs.py +379 -0
- flywheel/models/classic_batch_proposal_input.py +388 -0
- flywheel/models/classic_batch_proposal_output.py +471 -0
- flywheel/models/classification_add_delete.py +36 -0
- flywheel/models/classification_replace.py +36 -0
- flywheel/models/classification_update_input.py +36 -0
- flywheel/models/cohort.py +29 -0
- flywheel/models/collection.py +25 -0
- flywheel/models/collection_container_output.py +32 -0
- flywheel/models/collection_input.py +217 -0
- flywheel/models/collection_input_with_contents.py +248 -0
- flywheel/models/collection_node.py +192 -0
- flywheel/models/collection_node_level.py +31 -0
- flywheel/models/collection_operation.py +193 -0
- flywheel/models/collection_operation_type.py +29 -0
- flywheel/models/collection_output.py +639 -0
- flywheel/models/collection_with_stats.py +637 -0
- flywheel/models/column.py +286 -0
- flywheel/models/column_type.py +32 -0
- flywheel/models/common_classification.py +135 -0
- flywheel/models/common_deleted_count.py +25 -0
- flywheel/models/common_editions.py +25 -0
- flywheel/models/common_info.py +135 -0
- flywheel/models/common_join_origins.py +25 -0
- flywheel/models/common_key.py +36 -0
- flywheel/models/common_modified_count.py +25 -0
- flywheel/models/common_object_created.py +36 -0
- flywheel/models/common_project_settings.py +25 -0
- flywheel/models/common_settings.py +36 -0
- flywheel/models/complete_multipart_upload_output.py +189 -0
- flywheel/models/complete_s3_multipart_upload_input.py +241 -0
- flywheel/models/config_feature_map.py +36 -0
- flywheel/models/config_out.py +381 -0
- flywheel/models/config_output.py +36 -0
- flywheel/models/config_site_config_output.py +36 -0
- flywheel/models/config_site_settings.py +36 -0
- flywheel/models/config_site_settings_input.py +36 -0
- flywheel/models/conflict_types.py +30 -0
- flywheel/models/container_delete_reason.py +39 -0
- flywheel/models/container_filter.py +193 -0
- flywheel/models/container_id_view_input.py +521 -0
- flywheel/models/container_id_view_input_execute_and_save.py +308 -0
- flywheel/models/container_modify.py +536 -0
- flywheel/models/container_new_output.py +25 -0
- flywheel/models/container_node_min.py +350 -0
- flywheel/models/container_output.py +36 -0
- flywheel/models/container_output_with_files.py +283 -0
- flywheel/models/container_parents.py +311 -0
- flywheel/models/container_pipeline_input.py +536 -0
- flywheel/models/container_project_parents.py +25 -0
- flywheel/models/container_reference.py +193 -0
- flywheel/models/container_reference_with_label.py +219 -0
- flywheel/models/container_session_parents.py +25 -0
- flywheel/models/container_subject_parents.py +25 -0
- flywheel/models/container_type.py +39 -0
- flywheel/models/container_uidcheck.py +253 -0
- flywheel/models/container_update.py +135 -0
- flywheel/models/context_input.py +217 -0
- flywheel/models/copy_filter.py +299 -0
- flywheel/models/copy_status.py +32 -0
- flywheel/models/core_models_api_key_api_key_input.py +190 -0
- flywheel/models/core_models_audit_trail_create_report_input.py +273 -0
- flywheel/models/core_models_audit_trail_modify_report_input.py +167 -0
- flywheel/models/core_models_common_source.py +189 -0
- flywheel/models/core_models_jobs_api_key_input.py +191 -0
- flywheel/models/core_models_search_parent_type.py +33 -0
- flywheel/models/core_workflows_form_responses_models_form_parents.py +163 -0
- flywheel/models/core_workflows_form_responses_models_form_response_output.py +440 -0
- flywheel/models/core_workflows_reader_models_reader_task_parents.py +295 -0
- flywheel/models/creds.py +135 -0
- flywheel/models/curator.py +221 -0
- flywheel/models/current_user_output.py +707 -0
- flywheel/models/custom_field.py +437 -0
- flywheel/models/custom_form.py +244 -0
- flywheel/models/cvat_info.py +275 -0
- flywheel/models/cvat_settings.py +272 -0
- flywheel/models/cvat_settings_input.py +272 -0
- flywheel/models/cvat_sync_state.py +30 -0
- flywheel/models/daily_report_usage.py +565 -0
- flywheel/models/data_strategy.py +29 -0
- flywheel/models/data_view.py +25 -0
- flywheel/models/data_view_analysis_file_spec.py +221 -0
- flywheel/models/data_view_analysis_filter_spec.py +221 -0
- flywheel/models/data_view_column_alias.py +337 -0
- flywheel/models/data_view_column_spec.py +286 -0
- flywheel/models/data_view_execution.py +505 -0
- flywheel/models/data_view_execution_state.py +31 -0
- flywheel/models/data_view_file_spec.py +392 -0
- flywheel/models/data_view_group_by.py +166 -0
- flywheel/models/data_view_group_by_column.py +194 -0
- flywheel/models/data_view_name_filter_spec.py +194 -0
- flywheel/models/data_view_output.py +25 -0
- flywheel/models/data_view_save_data_view_input.py +25 -0
- flywheel/models/data_view_zip_filter_spec.py +223 -0
- flywheel/models/default_flywheel_role.py +30 -0
- flywheel/models/deid_log_skip_reason.py +29 -0
- flywheel/models/delete_by_search_query.py +253 -0
- flywheel/models/deleted_file.py +514 -0
- flywheel/models/deleted_result.py +194 -0
- flywheel/models/deprecated_action.py +29 -0
- flywheel/models/destination_container_type.py +30 -0
- flywheel/models/device.py +437 -0
- flywheel/models/device_admin_update.py +194 -0
- flywheel/models/device_create.py +219 -0
- flywheel/models/device_self_update.py +272 -0
- flywheel/models/device_status.py +36 -0
- flywheel/models/device_status_entry.py +221 -0
- flywheel/models/device_storage_strategy_update.py +193 -0
- flywheel/models/dimse_project_input.py +36 -0
- flywheel/models/dimse_project_output.py +36 -0
- flywheel/models/dimse_service_input.py +36 -0
- flywheel/models/dimse_service_output.py +36 -0
- flywheel/models/download.py +249 -0
- flywheel/models/download_container_filter.py +167 -0
- flywheel/models/download_container_filter_definition.py +222 -0
- flywheel/models/download_filter.py +221 -0
- flywheel/models/download_filter_definition.py +195 -0
- flywheel/models/download_format.py +29 -0
- flywheel/models/download_input.py +25 -0
- flywheel/models/download_node.py +189 -0
- flywheel/models/download_strategy.py +31 -0
- flywheel/models/download_ticket.py +36 -0
- flywheel/models/download_ticket_stub.py +249 -0
- flywheel/models/download_ticket_with_summary.py +36 -0
- flywheel/models/e_signature.py +242 -0
- flywheel/models/edition.py +169 -0
- flywheel/models/egress_device.py +597 -0
- flywheel/models/egress_device_page.py +219 -0
- flywheel/models/egress_provider.py +408 -0
- flywheel/models/egress_provider_id.py +164 -0
- flywheel/models/exchange_storage.py +243 -0
- flywheel/models/executor_info.py +353 -0
- flywheel/models/export_templates.py +195 -0
- flywheel/models/features.py +1838 -0
- flywheel/models/field_change.py +271 -0
- flywheel/models/field_change_log_document.py +245 -0
- flywheel/models/field_type.py +37 -0
- flywheel/models/file.py +1139 -0
- flywheel/models/file_classification_delta.py +245 -0
- flywheel/models/file_container_type.py +34 -0
- flywheel/models/file_entry.py +740 -0
- flywheel/models/file_export_templates.py +272 -0
- flywheel/models/file_format.py +33 -0
- flywheel/models/file_gear_info.py +215 -0
- flywheel/models/file_group.py +29 -0
- flywheel/models/file_list_output.py +1115 -0
- flywheel/models/file_modify_input.py +191 -0
- flywheel/models/file_move_input.py +221 -0
- flywheel/models/file_node.py +1138 -0
- flywheel/models/file_node_min.py +321 -0
- flywheel/models/file_origin.py +283 -0
- flywheel/models/file_output.py +1135 -0
- flywheel/models/file_parents.py +297 -0
- flywheel/models/file_reference.py +221 -0
- flywheel/models/file_suggestion.py +241 -0
- flywheel/models/file_template_options.py +299 -0
- flywheel/models/file_upsert_input.py +612 -0
- flywheel/models/file_upsert_origin.py +36 -0
- flywheel/models/file_upsert_output.py +1154 -0
- flywheel/models/file_version.py +190 -0
- flywheel/models/file_version_copy_of.py +273 -0
- flywheel/models/file_version_output.py +325 -0
- flywheel/models/file_via.py +245 -0
- flywheel/models/file_zip_entry.py +25 -0
- flywheel/models/file_zip_info.py +25 -0
- flywheel/models/filter.py +350 -0
- flywheel/models/filter_input.py +218 -0
- flywheel/models/filter_values.py +195 -0
- flywheel/models/filter_view.py +28 -0
- flywheel/models/fixed_file_version_input.py +216 -0
- flywheel/models/fixed_input.py +299 -0
- flywheel/models/form_definition.py +163 -0
- flywheel/models/form_response_base.py +311 -0
- flywheel/models/form_response_create.py +193 -0
- flywheel/models/gcp_creds.py +397 -0
- flywheel/models/gcp_storage.py +298 -0
- flywheel/models/gear.py +619 -0
- flywheel/models/gear_category.py +32 -0
- flywheel/models/gear_config.py +138 -0
- flywheel/models/gear_context_input.py +164 -0
- flywheel/models/gear_context_lookup.py +25 -0
- flywheel/models/gear_context_lookup_item.py +36 -0
- flywheel/models/gear_context_value_output.py +272 -0
- flywheel/models/gear_context_value_output_unfound.py +164 -0
- flywheel/models/gear_custom.py +135 -0
- flywheel/models/gear_directive.py +135 -0
- flywheel/models/gear_doc.py +25 -0
- flywheel/models/gear_document.py +332 -0
- flywheel/models/gear_document_input.py +303 -0
- flywheel/models/gear_document_legacy_input.py +302 -0
- flywheel/models/gear_environment.py +135 -0
- flywheel/models/gear_exchange.py +221 -0
- flywheel/models/gear_file_input.py +192 -0
- flywheel/models/gear_id_output.py +170 -0
- flywheel/models/gear_info.py +251 -0
- flywheel/models/gear_input_item.py +231 -0
- flywheel/models/gear_inputs.py +140 -0
- flywheel/models/gear_invocation.py +138 -0
- flywheel/models/gear_key_input.py +191 -0
- flywheel/models/gear_manifest.py +624 -0
- flywheel/models/gear_mixin.py +218 -0
- flywheel/models/gear_node.py +355 -0
- flywheel/models/gear_output_configuration.py +164 -0
- flywheel/models/gear_permissions.py +191 -0
- flywheel/models/gear_permissions_input.py +163 -0
- flywheel/models/gear_permissions_type.py +29 -0
- flywheel/models/gear_return_ticket.py +25 -0
- flywheel/models/gear_rule.py +653 -0
- flywheel/models/gear_rule_condition.py +219 -0
- flywheel/models/gear_rule_condition_type.py +37 -0
- flywheel/models/gear_rule_input.py +517 -0
- flywheel/models/gear_rule_modify_input.py +492 -0
- flywheel/models/gear_rule_output.py +652 -0
- flywheel/models/gear_save_submission.py +221 -0
- flywheel/models/gear_series.py +298 -0
- flywheel/models/gear_series_update.py +163 -0
- flywheel/models/gear_suggestion_output.py +301 -0
- flywheel/models/gear_ticket.py +245 -0
- flywheel/models/gear_ticket_output.py +163 -0
- flywheel/models/google_auth_out.py +299 -0
- flywheel/models/graph_filter.py +329 -0
- flywheel/models/group.py +25 -0
- flywheel/models/group_by.py +163 -0
- flywheel/models/group_by_column.py +36 -0
- flywheel/models/group_container_output.py +33 -0
- flywheel/models/group_input.py +248 -0
- flywheel/models/group_metadata_input.py +36 -0
- flywheel/models/group_node.py +34 -0
- flywheel/models/group_output.py +471 -0
- flywheel/models/group_report.py +218 -0
- flywheel/models/group_role.py +163 -0
- flywheel/models/group_settings_output.py +249 -0
- flywheel/models/group_update.py +249 -0
- flywheel/models/header_feature.py +37 -0
- flywheel/models/hierarchy_export_templates.py +272 -0
- flywheel/models/http_validation_error.py +167 -0
- flywheel/models/info.py +218 -0
- flywheel/models/info_add_remove.py +36 -0
- flywheel/models/info_container_type.py +35 -0
- flywheel/models/info_replace.py +36 -0
- flywheel/models/info_update_input.py +36 -0
- flywheel/models/ingress_provider.py +299 -0
- flywheel/models/ingress_providers.py +272 -0
- flywheel/models/ingress_site_settings.py +305 -0
- flywheel/models/ingress_update_provider.py +218 -0
- flywheel/models/inline_response200.py +163 -0
- flywheel/models/inline_response2001.py +171 -0
- flywheel/models/inline_response2002.py +163 -0
- flywheel/models/inline_response2003.py +36 -0
- flywheel/models/inline_response2005.py +25 -0
- flywheel/models/input_filter.py +221 -0
- flywheel/models/input_job.py +521 -0
- flywheel/models/input_job_profile.py +275 -0
- flywheel/models/inserted_id.py +163 -0
- flywheel/models/job.py +841 -0
- flywheel/models/job_analysis_input.py +273 -0
- flywheel/models/job_ask.py +301 -0
- flywheel/models/job_ask_response.py +195 -0
- flywheel/models/job_ask_response_job.py +978 -0
- flywheel/models/job_ask_return.py +25 -0
- flywheel/models/job_ask_return_criteria.py +245 -0
- flywheel/models/job_ask_state.py +25 -0
- flywheel/models/job_ask_state_response.py +163 -0
- flywheel/models/job_complete.py +220 -0
- flywheel/models/job_completion_input.py +25 -0
- flywheel/models/job_completion_ticket.py +25 -0
- flywheel/models/job_config.py +135 -0
- flywheel/models/job_config_input.py +272 -0
- flywheel/models/job_config_inputs.py +25 -0
- flywheel/models/job_config_output.py +25 -0
- flywheel/models/job_container_detail.py +25 -0
- flywheel/models/job_destination.py +189 -0
- flywheel/models/job_detail.py +925 -0
- flywheel/models/job_detail_container.py +190 -0
- flywheel/models/job_detail_file_entry.py +194 -0
- flywheel/models/job_detail_group.py +190 -0
- flywheel/models/job_detail_parent_info.py +303 -0
- flywheel/models/job_executor_info.py +369 -0
- flywheel/models/job_file_input.py +247 -0
- flywheel/models/job_file_input_list_output.py +247 -0
- flywheel/models/job_file_object.py +435 -0
- flywheel/models/job_file_object_list_output.py +407 -0
- flywheel/models/job_gear_match.py +25 -0
- flywheel/models/job_inputs_array_item.py +305 -0
- flywheel/models/job_inputs_item.py +242 -0
- flywheel/models/job_inputs_object.py +138 -0
- flywheel/models/job_list_entry.py +25 -0
- flywheel/models/job_list_output.py +979 -0
- flywheel/models/job_list_output_config.py +220 -0
- flywheel/models/job_log.py +189 -0
- flywheel/models/job_log_column.py +40 -0
- flywheel/models/job_log_record.py +192 -0
- flywheel/models/job_modify.py +193 -0
- flywheel/models/job_origin.py +190 -0
- flywheel/models/job_output.py +1005 -0
- flywheel/models/job_output_config.py +247 -0
- flywheel/models/job_parents.py +297 -0
- flywheel/models/job_priority.py +31 -0
- flywheel/models/job_priority_update.py +192 -0
- flywheel/models/job_profile.py +427 -0
- flywheel/models/job_profile_input.py +25 -0
- flywheel/models/job_request.py +221 -0
- flywheel/models/job_request_item.py +246 -0
- flywheel/models/job_request_item_type.py +31 -0
- flywheel/models/job_request_target.py +270 -0
- flywheel/models/job_state.py +32 -0
- flywheel/models/job_state_counts.py +25 -0
- flywheel/models/job_stats_by_state.py +25 -0
- flywheel/models/job_ticket_output.py +165 -0
- flywheel/models/job_transition_times.py +253 -0
- flywheel/models/job_version_info.py +135 -0
- flywheel/models/jobs_by_state.py +272 -0
- flywheel/models/jobs_list.py +166 -0
- flywheel/models/join_origin_device.py +164 -0
- flywheel/models/join_origin_job.py +219 -0
- flywheel/models/join_origin_user.py +189 -0
- flywheel/models/join_origins.py +223 -0
- flywheel/models/join_type.py +28 -0
- flywheel/models/jupyterhub_workspace.py +163 -0
- flywheel/models/jupyterlab_server_modify.py +275 -0
- flywheel/models/jupyterlab_server_origin.py +25 -0
- flywheel/models/jupyterlab_server_output.py +25 -0
- flywheel/models/jupyterlab_server_response.py +415 -0
- flywheel/models/jupyterlab_server_update.py +25 -0
- flywheel/models/ldap_sync.py +36 -0
- flywheel/models/ldap_sync_config.py +163 -0
- flywheel/models/ldap_sync_input.py +36 -0
- flywheel/models/ldap_sync_status.py +250 -0
- flywheel/models/legacy_api_key_output.py +271 -0
- flywheel/models/legacy_input.py +244 -0
- flywheel/models/legacy_usage_report.py +309 -0
- flywheel/models/legacys_usage_project_entry.py +194 -0
- flywheel/models/libs_workflows_models_parent_type.py +33 -0
- flywheel/models/libs_workflows_models_task_status.py +32 -0
- flywheel/models/local_storage.py +217 -0
- flywheel/models/location.py +189 -0
- flywheel/models/locked.py +219 -0
- flywheel/models/master_subject_code_dob_input.py +279 -0
- flywheel/models/master_subject_code_input.py +281 -0
- flywheel/models/master_subject_code_output.py +166 -0
- flywheel/models/matched_acquisition_output.py +518 -0
- flywheel/models/mfa_channel.py +30 -0
- flywheel/models/mfa_settings.py +167 -0
- flywheel/models/mixins.py +794 -0
- flywheel/models/ml_set_filter.py +194 -0
- flywheel/models/ml_type.py +30 -0
- flywheel/models/modality.py +250 -0
- flywheel/models/modality_input.py +244 -0
- flywheel/models/modality_modify.py +218 -0
- flywheel/models/modality_output.py +271 -0
- flywheel/models/modified_result.py +190 -0
- flywheel/models/modify_user_input.py +466 -0
- flywheel/models/move_conflict.py +300 -0
- flywheel/models/note.py +391 -0
- flywheel/models/note_input.py +165 -0
- flywheel/models/optional_input_policy.py +30 -0
- flywheel/models/order.py +29 -0
- flywheel/models/organ_system.py +64 -0
- flywheel/models/origin.py +193 -0
- flywheel/models/origin_type.py +35 -0
- flywheel/models/orphaned_count.py +163 -0
- flywheel/models/output_user_page.py +219 -0
- flywheel/models/packfile_cleanup_output.py +166 -0
- flywheel/models/packfile_removed_output.py +189 -0
- flywheel/models/page.py +216 -0
- flywheel/models/page_generic_file_output.py +219 -0
- flywheel/models/page_generic_filter.py +219 -0
- flywheel/models/page_generic_form_response_output.py +219 -0
- flywheel/models/page_generic_protocol.py +244 -0
- flywheel/models/page_generic_reader_task_output.py +244 -0
- flywheel/models/page_generic_staffing_pool.py +244 -0
- flywheel/models/parsed_query_response.py +194 -0
- flywheel/models/permission_access_permission.py +25 -0
- flywheel/models/premade_jobs_batch_job_output.py +298 -0
- flywheel/models/premade_jobs_batch_job_output_inflated_jobs.py +299 -0
- flywheel/models/premade_jobs_batch_proposal.py +334 -0
- flywheel/models/premade_jobs_batch_proposal_detail.py +166 -0
- flywheel/models/premade_jobs_batch_proposal_input.py +166 -0
- flywheel/models/project.py +25 -0
- flywheel/models/project_acquisition_upsert_input.py +25 -0
- flywheel/models/project_acquisition_upsert_output.py +25 -0
- flywheel/models/project_aet.py +331 -0
- flywheel/models/project_aet_input.py +248 -0
- flywheel/models/project_catalog_list_output.py +25 -0
- flywheel/models/project_contact.py +194 -0
- flywheel/models/project_container_output.py +41 -0
- flywheel/models/project_copy_input.py +245 -0
- flywheel/models/project_copy_output.py +215 -0
- flywheel/models/project_counters.py +346 -0
- flywheel/models/project_hierarchy_input.py +278 -0
- flywheel/models/project_hierarchy_output.py +222 -0
- flywheel/models/project_hierarchy_upsert_input.py +25 -0
- flywheel/models/project_hierarchy_upsert_output.py +25 -0
- flywheel/models/project_input.py +384 -0
- flywheel/models/project_institution.py +194 -0
- flywheel/models/project_list_output.py +897 -0
- flywheel/models/project_locking_reason.py +32 -0
- flywheel/models/project_modify.py +413 -0
- flywheel/models/project_node.py +42 -0
- flywheel/models/project_output.py +899 -0
- flywheel/models/project_parents.py +168 -0
- flywheel/models/project_report.py +463 -0
- flywheel/models/project_report_list.py +167 -0
- flywheel/models/project_session_upsert_input.py +25 -0
- flywheel/models/project_session_upsert_output.py +25 -0
- flywheel/models/project_settings_input.py +333 -0
- flywheel/models/project_settings_output.py +333 -0
- flywheel/models/project_settings_sharing.py +327 -0
- flywheel/models/project_settings_sharing_input.py +334 -0
- flywheel/models/project_settings_workspaces.py +167 -0
- flywheel/models/project_settings_workspaces_input.py +167 -0
- flywheel/models/project_share_level.py +29 -0
- flywheel/models/project_sharing_settings_project_contact.py +25 -0
- flywheel/models/project_sharing_settings_project_counters.py +36 -0
- flywheel/models/project_sharing_settings_project_institution.py +25 -0
- flywheel/models/project_sharing_settings_project_settings_input.py +25 -0
- flywheel/models/project_sharing_settings_project_settings_output.py +25 -0
- flywheel/models/project_sharing_settings_project_settings_sharing.py +25 -0
- flywheel/models/project_sharing_settings_project_settings_sharing_input.py +25 -0
- flywheel/models/project_sharing_settings_project_stats.py +36 -0
- flywheel/models/project_stats.py +270 -0
- flywheel/models/project_subject_upsert_input.py +25 -0
- flywheel/models/project_subject_upsert_output.py +25 -0
- flywheel/models/project_template.py +195 -0
- flywheel/models/project_template_input.py +195 -0
- flywheel/models/project_template_list_input.py +166 -0
- flywheel/models/project_template_requirement.py +36 -0
- flywheel/models/project_template_session_template.py +36 -0
- flywheel/models/project_upsert_origin.py +36 -0
- flywheel/models/protocol.py +515 -0
- flywheel/models/protocol_e_signature_config.py +191 -0
- flywheel/models/protocol_input.py +354 -0
- flywheel/models/protocol_modify.py +277 -0
- flywheel/models/protocol_status.py +30 -0
- flywheel/models/provider.py +461 -0
- flywheel/models/provider_access_type.py +29 -0
- flywheel/models/provider_class.py +29 -0
- flywheel/models/provider_deletion_status.py +189 -0
- flywheel/models/provider_input.py +25 -0
- flywheel/models/provider_links.py +282 -0
- flywheel/models/provider_type.py +34 -0
- flywheel/models/providers.py +277 -0
- flywheel/models/reader_batch_create.py +463 -0
- flywheel/models/reader_task.py +725 -0
- flywheel/models/reader_task_config.py +189 -0
- flywheel/models/reader_task_create.py +543 -0
- flywheel/models/reader_task_modify.py +303 -0
- flywheel/models/reader_task_output.py +752 -0
- flywheel/models/reader_task_parent_details.py +322 -0
- flywheel/models/report_access_log_context.py +301 -0
- flywheel/models/report_access_log_context_entry.py +194 -0
- flywheel/models/report_access_log_context_file_entry.py +165 -0
- flywheel/models/report_access_log_entry.py +624 -0
- flywheel/models/report_access_log_origin.py +194 -0
- flywheel/models/report_availability_list.py +167 -0
- flywheel/models/report_daily_usage_entry.py +501 -0
- flywheel/models/report_demographics_grid.py +36 -0
- flywheel/models/report_ethnicity_grid.py +252 -0
- flywheel/models/report_gender_count.py +222 -0
- flywheel/models/report_group_report.py +217 -0
- flywheel/models/report_legacy_usage_entry.py +36 -0
- flywheel/models/report_legacy_usage_project_entry.py +36 -0
- flywheel/models/report_project.py +25 -0
- flywheel/models/report_site.py +192 -0
- flywheel/models/report_time_period.py +193 -0
- flywheel/models/report_usage.py +630 -0
- flywheel/models/report_usage_entry.py +25 -0
- flywheel/models/resolve_input.py +163 -0
- flywheel/models/resolve_output.py +194 -0
- flywheel/models/resolver_acquisition_node.py +36 -0
- flywheel/models/resolver_analysis_node.py +36 -0
- flywheel/models/resolver_file_node.py +36 -0
- flywheel/models/resolver_gear_node.py +36 -0
- flywheel/models/resolver_group_node.py +36 -0
- flywheel/models/resolver_input.py +25 -0
- flywheel/models/resolver_node.py +182 -0
- flywheel/models/resolver_output.py +25 -0
- flywheel/models/resolver_project_node.py +36 -0
- flywheel/models/resolver_session_node.py +36 -0
- flywheel/models/resolver_subject_node.py +36 -0
- flywheel/models/role_input.py +192 -0
- flywheel/models/role_output.py +273 -0
- flywheel/models/role_permission.py +194 -0
- flywheel/models/role_permission_output.py +189 -0
- flywheel/models/role_permission_update.py +163 -0
- flywheel/models/role_type.py +32 -0
- flywheel/models/role_update.py +194 -0
- flywheel/models/roles_backwards_compatible_role_assignment.py +36 -0
- flywheel/models/roles_group_role_pool_input.py +36 -0
- flywheel/models/roles_role.py +36 -0
- flywheel/models/roles_role_assignment.py +195 -0
- flywheel/models/roles_role_input.py +36 -0
- flywheel/models/rule.py +467 -0
- flywheel/models/rule_any.py +216 -0
- flywheel/models/s3_addressing_style.py +29 -0
- flywheel/models/s3_compat_storage.py +381 -0
- flywheel/models/save_search.py +298 -0
- flywheel/models/save_search_input.py +219 -0
- flywheel/models/save_search_output.py +301 -0
- flywheel/models/save_search_page.py +219 -0
- flywheel/models/save_search_parent.py +192 -0
- flywheel/models/save_search_update.py +194 -0
- flywheel/models/search_acquisition_response.py +252 -0
- flywheel/models/search_analysis_response.py +254 -0
- flywheel/models/search_collection_response.py +254 -0
- flywheel/models/search_file_response.py +312 -0
- flywheel/models/search_group_response.py +196 -0
- flywheel/models/search_parent_acquisition.py +47 -0
- flywheel/models/search_parent_analysis.py +47 -0
- flywheel/models/search_parent_collection.py +46 -0
- flywheel/models/search_parent_project.py +54 -0
- flywheel/models/search_parent_response.py +213 -0
- flywheel/models/search_parent_session.py +48 -0
- flywheel/models/search_parent_subject.py +48 -0
- flywheel/models/search_parse_error.py +252 -0
- flywheel/models/search_parse_search_query_result.py +36 -0
- flywheel/models/search_project_response.py +196 -0
- flywheel/models/search_query.py +337 -0
- flywheel/models/search_query_suggestions.py +36 -0
- flywheel/models/search_response.py +448 -0
- flywheel/models/search_return_type.py +33 -0
- flywheel/models/search_save_search.py +36 -0
- flywheel/models/search_save_search_input.py +36 -0
- flywheel/models/search_save_search_parent.py +36 -0
- flywheel/models/search_save_search_update.py +36 -0
- flywheel/models/search_session_response.py +252 -0
- flywheel/models/search_status.py +166 -0
- flywheel/models/search_structured_search_query.py +25 -0
- flywheel/models/search_subject_response.py +225 -0
- flywheel/models/search_suggestion.py +36 -0
- flywheel/models/select_item.py +190 -0
- flywheel/models/server_state.py +303 -0
- flywheel/models/service_aet.py +301 -0
- flywheel/models/service_aet_input.py +276 -0
- flywheel/models/session.py +25 -0
- flywheel/models/session_container_output.py +35 -0
- flywheel/models/session_copy_input.py +253 -0
- flywheel/models/session_embedded_subject.py +299 -0
- flywheel/models/session_input.py +431 -0
- flywheel/models/session_list_output.py +897 -0
- flywheel/models/session_metadata_input.py +36 -0
- flywheel/models/session_modify.py +464 -0
- flywheel/models/session_node.py +36 -0
- flywheel/models/session_output.py +897 -0
- flywheel/models/session_parents.py +220 -0
- flywheel/models/session_template_options.py +221 -0
- flywheel/models/session_template_recalc_output.py +165 -0
- flywheel/models/session_upsert_input.py +464 -0
- flywheel/models/session_upsert_output.py +243 -0
- flywheel/models/sharing_filter_options.py +345 -0
- flywheel/models/signed_fs_upload_output.py +189 -0
- flywheel/models/signed_url_cleanup_input.py +189 -0
- flywheel/models/signed_url_upload_input.py +190 -0
- flywheel/models/signed_url_upload_output.py +349 -0
- flywheel/models/site.py +623 -0
- flywheel/models/site_report.py +194 -0
- flywheel/models/site_settings.py +385 -0
- flywheel/models/sort.py +192 -0
- flywheel/models/stable_api_key_input.py +25 -0
- flywheel/models/staffing_pool.py +324 -0
- flywheel/models/staffing_pool_create.py +216 -0
- flywheel/models/staffing_pool_list.py +164 -0
- flywheel/models/staffing_pool_modify.py +218 -0
- flywheel/models/state.py +32 -0
- flywheel/models/static_compute.py +218 -0
- flywheel/models/status_transitions.py +245 -0
- flywheel/models/status_type.py +31 -0
- flywheel/models/status_value.py +31 -0
- flywheel/models/storage_strategy.py +30 -0
- flywheel/models/storage_strategy_config.py +194 -0
- flywheel/models/structured_query.py +165 -0
- flywheel/models/structured_query_suggestions.py +196 -0
- flywheel/models/structured_query_value_suggestion.py +247 -0
- flywheel/models/subject.py +34 -0
- flywheel/models/subject_container_output.py +36 -0
- flywheel/models/subject_copy_input.py +223 -0
- flywheel/models/subject_input.py +627 -0
- flywheel/models/subject_modify.py +684 -0
- flywheel/models/subject_node.py +37 -0
- flywheel/models/subject_output.py +1008 -0
- flywheel/models/subject_output_for_list.py +1005 -0
- flywheel/models/subject_parents.py +194 -0
- flywheel/models/subject_role_permission.py +194 -0
- flywheel/models/subject_state.py +30 -0
- flywheel/models/subject_template_options.py +191 -0
- flywheel/models/subject_upsert_input.py +573 -0
- flywheel/models/subject_upsert_output.py +216 -0
- flywheel/models/sync_user_input.py +322 -0
- flywheel/models/tag.py +165 -0
- flywheel/models/task_assign.py +194 -0
- flywheel/models/task_facet.py +29 -0
- flywheel/models/task_parent_ref.py +245 -0
- flywheel/models/task_parent_ref_input.py +219 -0
- flywheel/models/task_priority.py +31 -0
- flywheel/models/task_submission.py +189 -0
- flywheel/models/therapeutic_area.py +60 -0
- flywheel/models/transitions.py +272 -0
- flywheel/models/tree_container_request_spec.py +281 -0
- flywheel/models/tree_graph.py +142 -0
- flywheel/models/tree_graph_connection.py +244 -0
- flywheel/models/tree_graph_connections.py +142 -0
- flywheel/models/tree_graph_node.py +166 -0
- flywheel/models/tree_request.py +25 -0
- flywheel/models/tree_response_item.py +142 -0
- flywheel/models/type_str.py +31 -0
- flywheel/models/uid_check_input_acquisitions.py +244 -0
- flywheel/models/uid_check_input_sessions.py +244 -0
- flywheel/models/uid_check_output.py +191 -0
- flywheel/models/upload_complete_s3_multipart_input.py +25 -0
- flywheel/models/upload_complete_s3_multipart_output.py +25 -0
- flywheel/models/upload_signed_fs_file_upload_output.py +36 -0
- flywheel/models/upload_signed_upload_url_input.py +36 -0
- flywheel/models/upload_signed_upload_url_output.py +36 -0
- flywheel/models/upload_ticket_output.py +215 -0
- flywheel/models/upload_token_output.py +163 -0
- flywheel/models/upsert_result.py +31 -0
- flywheel/models/user.py +760 -0
- flywheel/models/user_api_key.py +220 -0
- flywheel/models/user_input.py +461 -0
- flywheel/models/user_jobs.py +219 -0
- flywheel/models/user_jobs_output.py +25 -0
- flywheel/models/user_output.py +36 -0
- flywheel/models/user_output_id.py +163 -0
- flywheel/models/user_preferences.py +135 -0
- flywheel/models/user_wechat.py +135 -0
- flywheel/models/validation_error.py +215 -0
- flywheel/models/validation_rule.py +190 -0
- flywheel/models/version.py +363 -0
- flywheel/models/version_output.py +25 -0
- flywheel/models/view_id_output.py +164 -0
- flywheel/models/view_output.py +440 -0
- flywheel/models/viewer_app.py +381 -0
- flywheel/models/viewer_app_input.py +382 -0
- flywheel/models/viewer_app_type.py +29 -0
- flywheel/models/virus_scan.py +166 -0
- flywheel/models/virus_scan_state.py +30 -0
- flywheel/models/work_in_progress_features.py +135 -0
- flywheel/models/zipfile_info.py +192 -0
- flywheel/models/zipfile_member_info.py +241 -0
- flywheel/partial_reader.py +50 -0
- flywheel/rest.py +352 -0
- flywheel/util.py +95 -0
- flywheel/view_builder.py +449 -0
- flywheel_sdk-21.2.0.dist-info/METADATA +42 -0
- flywheel_sdk-21.2.0.dist-info/RECORD +772 -0
- flywheel_sdk-21.2.0.dist-info/WHEEL +4 -0
- flywheel_sdk-21.2.0.dist-info/licenses/LICENSE.txt +18 -0
|
@@ -0,0 +1,842 @@
|
|
|
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 UploadApi(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 cleanup_signed_upload_url(self, body, **kwargs): # noqa: E501
|
|
35
|
+
"""Cleanup unused file blob previously uploaded using signed URL
|
|
36
|
+
|
|
37
|
+
This method makes a synchronous HTTP request by default.
|
|
38
|
+
|
|
39
|
+
:param SignedUrlCleanupInput body: (required)
|
|
40
|
+
:param bool async_: Perform the request asynchronously
|
|
41
|
+
:return: None
|
|
42
|
+
"""
|
|
43
|
+
ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
|
|
44
|
+
kwargs['_return_http_data_only'] = True
|
|
45
|
+
|
|
46
|
+
if kwargs.get('async_'):
|
|
47
|
+
return self.cleanup_signed_upload_url_with_http_info(body, **kwargs) # noqa: E501
|
|
48
|
+
else:
|
|
49
|
+
(data) = self.cleanup_signed_upload_url_with_http_info(body, **kwargs) # noqa: E501
|
|
50
|
+
if (
|
|
51
|
+
data
|
|
52
|
+
and hasattr(data, 'return_value')
|
|
53
|
+
and not ignore_simplified_return_value
|
|
54
|
+
):
|
|
55
|
+
return data.return_value()
|
|
56
|
+
return data
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def cleanup_signed_upload_url_with_http_info(self, body, **kwargs): # noqa: E501
|
|
60
|
+
"""Cleanup unused file blob previously uploaded using signed URL
|
|
61
|
+
|
|
62
|
+
This method makes a synchronous HTTP request by default.
|
|
63
|
+
|
|
64
|
+
:param SignedUrlCleanupInput body: (required)
|
|
65
|
+
:param bool async_: Perform the request asynchronously
|
|
66
|
+
:return: None
|
|
67
|
+
"""
|
|
68
|
+
|
|
69
|
+
all_params = ['body',] # noqa: E501
|
|
70
|
+
all_params.append('async_')
|
|
71
|
+
all_params.append('_return_http_data_only')
|
|
72
|
+
all_params.append('_preload_content')
|
|
73
|
+
all_params.append('_request_timeout')
|
|
74
|
+
all_params.append('_request_out')
|
|
75
|
+
|
|
76
|
+
params = locals()
|
|
77
|
+
for key, val in six.iteritems(params['kwargs']):
|
|
78
|
+
if key not in all_params:
|
|
79
|
+
raise TypeError(
|
|
80
|
+
"Got an unexpected keyword argument '%s'"
|
|
81
|
+
" to method cleanup_signed_upload_url" % key
|
|
82
|
+
)
|
|
83
|
+
params[key] = val
|
|
84
|
+
del params['kwargs']
|
|
85
|
+
# verify the required parameter 'body' is set
|
|
86
|
+
if ('body' not in params or
|
|
87
|
+
params['body'] is None):
|
|
88
|
+
raise ValueError("Missing the required parameter `body` when calling `cleanup_signed_upload_url`") # noqa: E501
|
|
89
|
+
check_filename_params(params)
|
|
90
|
+
|
|
91
|
+
collection_formats = {}
|
|
92
|
+
|
|
93
|
+
path_params = {}
|
|
94
|
+
|
|
95
|
+
query_params = []
|
|
96
|
+
|
|
97
|
+
header_params = {}
|
|
98
|
+
|
|
99
|
+
form_params = []
|
|
100
|
+
local_var_files = {}
|
|
101
|
+
|
|
102
|
+
body_params = None
|
|
103
|
+
if 'body' in params:
|
|
104
|
+
if 'SignedUrlCleanupInput'.startswith('union'):
|
|
105
|
+
body_type = type(params['body'])
|
|
106
|
+
if getattr(body_type, 'positional_to_model', None):
|
|
107
|
+
body_params = body_type.positional_to_model(params['body'])
|
|
108
|
+
else:
|
|
109
|
+
body_params = params['body']
|
|
110
|
+
else:
|
|
111
|
+
body_params = flywheel.models.SignedUrlCleanupInput.positional_to_model(params['body'])
|
|
112
|
+
# HTTP header `Accept`
|
|
113
|
+
header_params['Accept'] = self.api_client.select_header_accept(
|
|
114
|
+
['application/json']) # noqa: E501
|
|
115
|
+
|
|
116
|
+
# HTTP header `Content-Type`
|
|
117
|
+
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
|
118
|
+
['application/json']) # noqa: E501
|
|
119
|
+
|
|
120
|
+
# Authentication setting
|
|
121
|
+
auth_settings = ['ApiKey'] # noqa: E501
|
|
122
|
+
|
|
123
|
+
return self.api_client.call_api(
|
|
124
|
+
'/upload/signed-url/cleanup', 'POST',
|
|
125
|
+
path_params,
|
|
126
|
+
query_params,
|
|
127
|
+
header_params,
|
|
128
|
+
body=body_params,
|
|
129
|
+
post_params=form_params,
|
|
130
|
+
files=local_var_files,
|
|
131
|
+
response_type=None, # noqa: E501
|
|
132
|
+
auth_settings=auth_settings,
|
|
133
|
+
async_=params.get('async_'),
|
|
134
|
+
_return_http_data_only=params.get('_return_http_data_only'),
|
|
135
|
+
_preload_content=params.get('_preload_content', True),
|
|
136
|
+
_request_timeout=params.get('_request_timeout'),
|
|
137
|
+
_request_out=params.get('_request_out'),
|
|
138
|
+
collection_formats=collection_formats)
|
|
139
|
+
|
|
140
|
+
def complete_s3_multipart_upload(self, body, **kwargs): # noqa: E501
|
|
141
|
+
"""Complete S3 multipart signed url upload
|
|
142
|
+
|
|
143
|
+
Complete S3 uploads exceeding 5GB and create the final object in the bucket. Expected an upload id returned previously by the `POST /upload/signed-url` endpoint and the e-tags returned by S3 after uploaded each file part.
|
|
144
|
+
This method makes a synchronous HTTP request by default.
|
|
145
|
+
|
|
146
|
+
:param CompleteS3MultipartUploadInput body: (required)
|
|
147
|
+
:param bool async_: Perform the request asynchronously
|
|
148
|
+
:return: CompleteMultipartUploadOutput
|
|
149
|
+
"""
|
|
150
|
+
ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
|
|
151
|
+
kwargs['_return_http_data_only'] = True
|
|
152
|
+
|
|
153
|
+
if kwargs.get('async_'):
|
|
154
|
+
return self.complete_s3_multipart_upload_with_http_info(body, **kwargs) # noqa: E501
|
|
155
|
+
else:
|
|
156
|
+
(data) = self.complete_s3_multipart_upload_with_http_info(body, **kwargs) # noqa: E501
|
|
157
|
+
if (
|
|
158
|
+
data
|
|
159
|
+
and hasattr(data, 'return_value')
|
|
160
|
+
and not ignore_simplified_return_value
|
|
161
|
+
):
|
|
162
|
+
return data.return_value()
|
|
163
|
+
return data
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
def complete_s3_multipart_upload_with_http_info(self, body, **kwargs): # noqa: E501
|
|
167
|
+
"""Complete S3 multipart signed url upload
|
|
168
|
+
|
|
169
|
+
Complete S3 uploads exceeding 5GB and create the final object in the bucket. Expected an upload id returned previously by the `POST /upload/signed-url` endpoint and the e-tags returned by S3 after uploaded each file part.
|
|
170
|
+
This method makes a synchronous HTTP request by default.
|
|
171
|
+
|
|
172
|
+
:param CompleteS3MultipartUploadInput body: (required)
|
|
173
|
+
:param bool async_: Perform the request asynchronously
|
|
174
|
+
:return: CompleteMultipartUploadOutput
|
|
175
|
+
"""
|
|
176
|
+
|
|
177
|
+
all_params = ['body',] # noqa: E501
|
|
178
|
+
all_params.append('async_')
|
|
179
|
+
all_params.append('_return_http_data_only')
|
|
180
|
+
all_params.append('_preload_content')
|
|
181
|
+
all_params.append('_request_timeout')
|
|
182
|
+
all_params.append('_request_out')
|
|
183
|
+
|
|
184
|
+
params = locals()
|
|
185
|
+
for key, val in six.iteritems(params['kwargs']):
|
|
186
|
+
if key not in all_params:
|
|
187
|
+
raise TypeError(
|
|
188
|
+
"Got an unexpected keyword argument '%s'"
|
|
189
|
+
" to method complete_s3_multipart_upload" % key
|
|
190
|
+
)
|
|
191
|
+
params[key] = val
|
|
192
|
+
del params['kwargs']
|
|
193
|
+
# verify the required parameter 'body' is set
|
|
194
|
+
if ('body' not in params or
|
|
195
|
+
params['body'] is None):
|
|
196
|
+
raise ValueError("Missing the required parameter `body` when calling `complete_s3_multipart_upload`") # noqa: E501
|
|
197
|
+
check_filename_params(params)
|
|
198
|
+
|
|
199
|
+
collection_formats = {}
|
|
200
|
+
|
|
201
|
+
path_params = {}
|
|
202
|
+
|
|
203
|
+
query_params = []
|
|
204
|
+
|
|
205
|
+
header_params = {}
|
|
206
|
+
|
|
207
|
+
form_params = []
|
|
208
|
+
local_var_files = {}
|
|
209
|
+
|
|
210
|
+
body_params = None
|
|
211
|
+
if 'body' in params:
|
|
212
|
+
if 'CompleteS3MultipartUploadInput'.startswith('union'):
|
|
213
|
+
body_type = type(params['body'])
|
|
214
|
+
if getattr(body_type, 'positional_to_model', None):
|
|
215
|
+
body_params = body_type.positional_to_model(params['body'])
|
|
216
|
+
else:
|
|
217
|
+
body_params = params['body']
|
|
218
|
+
else:
|
|
219
|
+
body_params = flywheel.models.CompleteS3MultipartUploadInput.positional_to_model(params['body'])
|
|
220
|
+
# HTTP header `Accept`
|
|
221
|
+
header_params['Accept'] = self.api_client.select_header_accept(
|
|
222
|
+
['application/json']) # noqa: E501
|
|
223
|
+
|
|
224
|
+
# HTTP header `Content-Type`
|
|
225
|
+
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
|
226
|
+
['application/json']) # noqa: E501
|
|
227
|
+
|
|
228
|
+
# Authentication setting
|
|
229
|
+
auth_settings = ['ApiKey'] # noqa: E501
|
|
230
|
+
|
|
231
|
+
return self.api_client.call_api(
|
|
232
|
+
'/upload/complete-s3-multipart', 'POST',
|
|
233
|
+
path_params,
|
|
234
|
+
query_params,
|
|
235
|
+
header_params,
|
|
236
|
+
body=body_params,
|
|
237
|
+
post_params=form_params,
|
|
238
|
+
files=local_var_files,
|
|
239
|
+
response_type='CompleteMultipartUploadOutput', # noqa: E501
|
|
240
|
+
auth_settings=auth_settings,
|
|
241
|
+
async_=params.get('async_'),
|
|
242
|
+
_return_http_data_only=params.get('_return_http_data_only'),
|
|
243
|
+
_preload_content=params.get('_preload_content', True),
|
|
244
|
+
_request_timeout=params.get('_request_timeout'),
|
|
245
|
+
_request_out=params.get('_request_out'),
|
|
246
|
+
collection_formats=collection_formats)
|
|
247
|
+
|
|
248
|
+
def create_signed_upload_url(self, body, **kwargs): # noqa: E501
|
|
249
|
+
"""Create new signed upload URL
|
|
250
|
+
|
|
251
|
+
Return a signed upload URL for the requested storage provider_id. Multiple URLs are returned for S3 uploads exceeding 5GB.
|
|
252
|
+
This method makes a synchronous HTTP request by default.
|
|
253
|
+
|
|
254
|
+
:param SignedUrlUploadInput body: (required)
|
|
255
|
+
:param bool async_: Perform the request asynchronously
|
|
256
|
+
:return: SignedUrlUploadOutput
|
|
257
|
+
"""
|
|
258
|
+
ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
|
|
259
|
+
kwargs['_return_http_data_only'] = True
|
|
260
|
+
|
|
261
|
+
if kwargs.get('async_'):
|
|
262
|
+
return self.create_signed_upload_url_with_http_info(body, **kwargs) # noqa: E501
|
|
263
|
+
else:
|
|
264
|
+
(data) = self.create_signed_upload_url_with_http_info(body, **kwargs) # noqa: E501
|
|
265
|
+
if (
|
|
266
|
+
data
|
|
267
|
+
and hasattr(data, 'return_value')
|
|
268
|
+
and not ignore_simplified_return_value
|
|
269
|
+
):
|
|
270
|
+
return data.return_value()
|
|
271
|
+
return data
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
def create_signed_upload_url_with_http_info(self, body, **kwargs): # noqa: E501
|
|
275
|
+
"""Create new signed upload URL
|
|
276
|
+
|
|
277
|
+
Return a signed upload URL for the requested storage provider_id. Multiple URLs are returned for S3 uploads exceeding 5GB.
|
|
278
|
+
This method makes a synchronous HTTP request by default.
|
|
279
|
+
|
|
280
|
+
:param SignedUrlUploadInput body: (required)
|
|
281
|
+
:param bool async_: Perform the request asynchronously
|
|
282
|
+
:return: SignedUrlUploadOutput
|
|
283
|
+
"""
|
|
284
|
+
|
|
285
|
+
all_params = ['body',] # noqa: E501
|
|
286
|
+
all_params.append('async_')
|
|
287
|
+
all_params.append('_return_http_data_only')
|
|
288
|
+
all_params.append('_preload_content')
|
|
289
|
+
all_params.append('_request_timeout')
|
|
290
|
+
all_params.append('_request_out')
|
|
291
|
+
|
|
292
|
+
params = locals()
|
|
293
|
+
for key, val in six.iteritems(params['kwargs']):
|
|
294
|
+
if key not in all_params:
|
|
295
|
+
raise TypeError(
|
|
296
|
+
"Got an unexpected keyword argument '%s'"
|
|
297
|
+
" to method create_signed_upload_url" % key
|
|
298
|
+
)
|
|
299
|
+
params[key] = val
|
|
300
|
+
del params['kwargs']
|
|
301
|
+
# verify the required parameter 'body' is set
|
|
302
|
+
if ('body' not in params or
|
|
303
|
+
params['body'] is None):
|
|
304
|
+
raise ValueError("Missing the required parameter `body` when calling `create_signed_upload_url`") # noqa: E501
|
|
305
|
+
check_filename_params(params)
|
|
306
|
+
|
|
307
|
+
collection_formats = {}
|
|
308
|
+
|
|
309
|
+
path_params = {}
|
|
310
|
+
|
|
311
|
+
query_params = []
|
|
312
|
+
|
|
313
|
+
header_params = {}
|
|
314
|
+
|
|
315
|
+
form_params = []
|
|
316
|
+
local_var_files = {}
|
|
317
|
+
|
|
318
|
+
body_params = None
|
|
319
|
+
if 'body' in params:
|
|
320
|
+
if 'SignedUrlUploadInput'.startswith('union'):
|
|
321
|
+
body_type = type(params['body'])
|
|
322
|
+
if getattr(body_type, 'positional_to_model', None):
|
|
323
|
+
body_params = body_type.positional_to_model(params['body'])
|
|
324
|
+
else:
|
|
325
|
+
body_params = params['body']
|
|
326
|
+
else:
|
|
327
|
+
body_params = flywheel.models.SignedUrlUploadInput.positional_to_model(params['body'])
|
|
328
|
+
# HTTP header `Accept`
|
|
329
|
+
header_params['Accept'] = self.api_client.select_header_accept(
|
|
330
|
+
['application/json']) # noqa: E501
|
|
331
|
+
|
|
332
|
+
# HTTP header `Content-Type`
|
|
333
|
+
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
|
334
|
+
['application/json']) # noqa: E501
|
|
335
|
+
|
|
336
|
+
# Authentication setting
|
|
337
|
+
auth_settings = ['ApiKey'] # noqa: E501
|
|
338
|
+
|
|
339
|
+
return self.api_client.call_api(
|
|
340
|
+
'/upload/signed-url', 'POST',
|
|
341
|
+
path_params,
|
|
342
|
+
query_params,
|
|
343
|
+
header_params,
|
|
344
|
+
body=body_params,
|
|
345
|
+
post_params=form_params,
|
|
346
|
+
files=local_var_files,
|
|
347
|
+
response_type='SignedUrlUploadOutput', # noqa: E501
|
|
348
|
+
auth_settings=auth_settings,
|
|
349
|
+
async_=params.get('async_'),
|
|
350
|
+
_return_http_data_only=params.get('_return_http_data_only'),
|
|
351
|
+
_preload_content=params.get('_preload_content', True),
|
|
352
|
+
_request_timeout=params.get('_request_timeout'),
|
|
353
|
+
_request_out=params.get('_request_out'),
|
|
354
|
+
collection_formats=collection_formats)
|
|
355
|
+
|
|
356
|
+
def upload_by_label(self, **kwargs): # noqa: E501
|
|
357
|
+
"""Multipart form upload with N file fields, each with their desired filename.
|
|
358
|
+
|
|
359
|
+
### Default behavior: > For technical reasons, no form field names can be repeated. Instead, use (file1, file2) and so forth. > A non-file form field called \"metadata\" is also required, which must be a string containing JSON. > See ``api/schemas/input/labelupload.json`` for the format of this metadata. ### Signed URL upload with ``ticket`` > Upload a single file directly to the storage backend. The workflow is the following: - Send a request with an empty ``?ticket=`` query parameter to get an upload ticket and URL - Upload the file using a PUT request to the upload URL - Once done, send a POST request to this endpoint with the upload ticket to finalize the upload. The file will be placed into the DB via this POST request.
|
|
360
|
+
This method makes a synchronous HTTP request by default.
|
|
361
|
+
|
|
362
|
+
:param bool preserve_metadata:
|
|
363
|
+
:param str ticket: Use empty value to get a ticket, and provide the ticket id to finalize the upload
|
|
364
|
+
:param str id:
|
|
365
|
+
:param ContainerType level:
|
|
366
|
+
:param str job:
|
|
367
|
+
:param str files:
|
|
368
|
+
:param object metadata: Metadata object
|
|
369
|
+
:param str content_type:
|
|
370
|
+
:param bool async_: Perform the request asynchronously
|
|
371
|
+
:return: union[list[File],UploadTicketOutput]
|
|
372
|
+
"""
|
|
373
|
+
ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
|
|
374
|
+
kwargs['_return_http_data_only'] = True
|
|
375
|
+
|
|
376
|
+
if kwargs.get('async_'):
|
|
377
|
+
return self.upload_by_label_with_http_info(**kwargs) # noqa: E501
|
|
378
|
+
else:
|
|
379
|
+
(data) = self.upload_by_label_with_http_info(**kwargs) # noqa: E501
|
|
380
|
+
if (
|
|
381
|
+
data
|
|
382
|
+
and hasattr(data, 'return_value')
|
|
383
|
+
and not ignore_simplified_return_value
|
|
384
|
+
):
|
|
385
|
+
return data.return_value()
|
|
386
|
+
return data
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
def upload_by_label_with_http_info(self, **kwargs): # noqa: E501
|
|
390
|
+
"""Multipart form upload with N file fields, each with their desired filename.
|
|
391
|
+
|
|
392
|
+
### Default behavior: > For technical reasons, no form field names can be repeated. Instead, use (file1, file2) and so forth. > A non-file form field called \"metadata\" is also required, which must be a string containing JSON. > See ``api/schemas/input/labelupload.json`` for the format of this metadata. ### Signed URL upload with ``ticket`` > Upload a single file directly to the storage backend. The workflow is the following: - Send a request with an empty ``?ticket=`` query parameter to get an upload ticket and URL - Upload the file using a PUT request to the upload URL - Once done, send a POST request to this endpoint with the upload ticket to finalize the upload. The file will be placed into the DB via this POST request.
|
|
393
|
+
This method makes a synchronous HTTP request by default.
|
|
394
|
+
|
|
395
|
+
:param bool preserve_metadata:
|
|
396
|
+
:param str ticket: Use empty value to get a ticket, and provide the ticket id to finalize the upload
|
|
397
|
+
:param str id:
|
|
398
|
+
:param ContainerType level:
|
|
399
|
+
:param str job:
|
|
400
|
+
:param str files:
|
|
401
|
+
:param object metadata: Metadata object
|
|
402
|
+
:param str content_type:
|
|
403
|
+
:param bool async_: Perform the request asynchronously
|
|
404
|
+
:return: union[list[File],UploadTicketOutput]
|
|
405
|
+
"""
|
|
406
|
+
|
|
407
|
+
all_params = ['preserve_metadata','ticket','id','level','job','files','metadata','content_type',] # noqa: E501
|
|
408
|
+
all_params.append('async_')
|
|
409
|
+
all_params.append('_return_http_data_only')
|
|
410
|
+
all_params.append('_preload_content')
|
|
411
|
+
all_params.append('_request_timeout')
|
|
412
|
+
all_params.append('_request_out')
|
|
413
|
+
|
|
414
|
+
params = locals()
|
|
415
|
+
for key, val in six.iteritems(params['kwargs']):
|
|
416
|
+
if key not in all_params:
|
|
417
|
+
raise TypeError(
|
|
418
|
+
"Got an unexpected keyword argument '%s'"
|
|
419
|
+
" to method upload_by_label" % key
|
|
420
|
+
)
|
|
421
|
+
params[key] = val
|
|
422
|
+
del params['kwargs']
|
|
423
|
+
check_filename_params(params)
|
|
424
|
+
|
|
425
|
+
collection_formats = {}
|
|
426
|
+
|
|
427
|
+
path_params = {}
|
|
428
|
+
|
|
429
|
+
query_params = []
|
|
430
|
+
if 'preserve_metadata' in params:
|
|
431
|
+
query_params.append(('preserve_metadata', params['preserve_metadata'])) # noqa: E501
|
|
432
|
+
if 'ticket' in params:
|
|
433
|
+
query_params.append(('ticket', params['ticket'])) # noqa: E501
|
|
434
|
+
if 'id' in params:
|
|
435
|
+
query_params.append(('id', params['id'])) # noqa: E501
|
|
436
|
+
if 'level' in params:
|
|
437
|
+
query_params.append(('level', params['level'])) # noqa: E501
|
|
438
|
+
if 'job' in params:
|
|
439
|
+
query_params.append(('job', params['job'])) # noqa: E501
|
|
440
|
+
|
|
441
|
+
header_params = {}
|
|
442
|
+
if 'content_type' in params:
|
|
443
|
+
header_params['content-type'] = params['content_type'] # noqa: E501
|
|
444
|
+
|
|
445
|
+
form_params = []
|
|
446
|
+
local_var_files = {}
|
|
447
|
+
if 'files' in params:
|
|
448
|
+
local_var_files['files'] = params['files'] # noqa: E501
|
|
449
|
+
if 'metadata' in params:
|
|
450
|
+
form_params.append(('metadata', params['metadata'])) # noqa: E501
|
|
451
|
+
|
|
452
|
+
body_params = None
|
|
453
|
+
# HTTP header `Accept`
|
|
454
|
+
header_params['Accept'] = self.api_client.select_header_accept(
|
|
455
|
+
['application/json']) # noqa: E501
|
|
456
|
+
|
|
457
|
+
# HTTP header `Content-Type`
|
|
458
|
+
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
|
459
|
+
['multipart/form-data']) # noqa: E501
|
|
460
|
+
|
|
461
|
+
# Authentication setting
|
|
462
|
+
auth_settings = ['ApiKey'] # noqa: E501
|
|
463
|
+
|
|
464
|
+
return self.api_client.call_api(
|
|
465
|
+
'/upload/label', 'POST',
|
|
466
|
+
path_params,
|
|
467
|
+
query_params,
|
|
468
|
+
header_params,
|
|
469
|
+
body=body_params,
|
|
470
|
+
post_params=form_params,
|
|
471
|
+
files=local_var_files,
|
|
472
|
+
response_type='union[list[File],UploadTicketOutput]', # noqa: E501
|
|
473
|
+
auth_settings=auth_settings,
|
|
474
|
+
async_=params.get('async_'),
|
|
475
|
+
_return_http_data_only=params.get('_return_http_data_only'),
|
|
476
|
+
_preload_content=params.get('_preload_content', True),
|
|
477
|
+
_request_timeout=params.get('_request_timeout'),
|
|
478
|
+
_request_out=params.get('_request_out'),
|
|
479
|
+
collection_formats=collection_formats)
|
|
480
|
+
|
|
481
|
+
def upload_by_reaper(self, **kwargs): # noqa: E501
|
|
482
|
+
"""Bottom-up UID matching of Multipart form upload with N file fields, each with their desired filename.
|
|
483
|
+
|
|
484
|
+
### Default behavior: > Upload data, allowing users to move sessions during scans without causing new data to be created in referenced project/group. ### Evaluation Order: * If a matching acquisition UID is found anywhere on the system, the related files will be placed under that acquisition. * **OR** If a matching session UID is found, a new acquistion is created with the specified UID under that Session UID. * **OR** If a matching group ID and project label are found, a new session and acquisition will be created within that project * **OR** If a matching group ID is found, a new project and session and acquisition will be created within that group. * **OR** A new session and acquisition will be created within a special \"Unknown\" group and project, which is only visible to system administrators. ### Signed URL upload with ``ticket`` > Upload a single file directly to the storage backend. The workflow is the following: - Send a request with an empty ``?ticket=`` query parameter to get an upload ticket and URL - Upload the file using a PUT request to the upload URL - Once done, send a POST request to this endpoint with the upload ticket to finalize the upload. The file will be placed into the DB via this POST request.
|
|
485
|
+
This method makes a synchronous HTTP request by default.
|
|
486
|
+
|
|
487
|
+
:param bool preserve_metadata:
|
|
488
|
+
:param str ticket: Use empty value to get a ticket, and provide the ticket id to finalize the upload
|
|
489
|
+
:param bool uid_placement:
|
|
490
|
+
:param str id:
|
|
491
|
+
:param ContainerType level:
|
|
492
|
+
:param str job:
|
|
493
|
+
:param str files:
|
|
494
|
+
:param object metadata: Metadata object
|
|
495
|
+
:param str content_type:
|
|
496
|
+
:param bool async_: Perform the request asynchronously
|
|
497
|
+
:return: union[list[File],UploadTicketOutput]
|
|
498
|
+
"""
|
|
499
|
+
ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
|
|
500
|
+
kwargs['_return_http_data_only'] = True
|
|
501
|
+
|
|
502
|
+
if kwargs.get('async_'):
|
|
503
|
+
return self.upload_by_reaper_with_http_info(**kwargs) # noqa: E501
|
|
504
|
+
else:
|
|
505
|
+
(data) = self.upload_by_reaper_with_http_info(**kwargs) # noqa: E501
|
|
506
|
+
if (
|
|
507
|
+
data
|
|
508
|
+
and hasattr(data, 'return_value')
|
|
509
|
+
and not ignore_simplified_return_value
|
|
510
|
+
):
|
|
511
|
+
return data.return_value()
|
|
512
|
+
return data
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
def upload_by_reaper_with_http_info(self, **kwargs): # noqa: E501
|
|
516
|
+
"""Bottom-up UID matching of Multipart form upload with N file fields, each with their desired filename.
|
|
517
|
+
|
|
518
|
+
### Default behavior: > Upload data, allowing users to move sessions during scans without causing new data to be created in referenced project/group. ### Evaluation Order: * If a matching acquisition UID is found anywhere on the system, the related files will be placed under that acquisition. * **OR** If a matching session UID is found, a new acquistion is created with the specified UID under that Session UID. * **OR** If a matching group ID and project label are found, a new session and acquisition will be created within that project * **OR** If a matching group ID is found, a new project and session and acquisition will be created within that group. * **OR** A new session and acquisition will be created within a special \"Unknown\" group and project, which is only visible to system administrators. ### Signed URL upload with ``ticket`` > Upload a single file directly to the storage backend. The workflow is the following: - Send a request with an empty ``?ticket=`` query parameter to get an upload ticket and URL - Upload the file using a PUT request to the upload URL - Once done, send a POST request to this endpoint with the upload ticket to finalize the upload. The file will be placed into the DB via this POST request.
|
|
519
|
+
This method makes a synchronous HTTP request by default.
|
|
520
|
+
|
|
521
|
+
:param bool preserve_metadata:
|
|
522
|
+
:param str ticket: Use empty value to get a ticket, and provide the ticket id to finalize the upload
|
|
523
|
+
:param bool uid_placement:
|
|
524
|
+
:param str id:
|
|
525
|
+
:param ContainerType level:
|
|
526
|
+
:param str job:
|
|
527
|
+
:param str files:
|
|
528
|
+
:param object metadata: Metadata object
|
|
529
|
+
:param str content_type:
|
|
530
|
+
:param bool async_: Perform the request asynchronously
|
|
531
|
+
:return: union[list[File],UploadTicketOutput]
|
|
532
|
+
"""
|
|
533
|
+
|
|
534
|
+
all_params = ['preserve_metadata','ticket','uid_placement','id','level','job','files','metadata','content_type',] # noqa: E501
|
|
535
|
+
all_params.append('async_')
|
|
536
|
+
all_params.append('_return_http_data_only')
|
|
537
|
+
all_params.append('_preload_content')
|
|
538
|
+
all_params.append('_request_timeout')
|
|
539
|
+
all_params.append('_request_out')
|
|
540
|
+
|
|
541
|
+
params = locals()
|
|
542
|
+
for key, val in six.iteritems(params['kwargs']):
|
|
543
|
+
if key not in all_params:
|
|
544
|
+
raise TypeError(
|
|
545
|
+
"Got an unexpected keyword argument '%s'"
|
|
546
|
+
" to method upload_by_reaper" % key
|
|
547
|
+
)
|
|
548
|
+
params[key] = val
|
|
549
|
+
del params['kwargs']
|
|
550
|
+
check_filename_params(params)
|
|
551
|
+
|
|
552
|
+
collection_formats = {}
|
|
553
|
+
|
|
554
|
+
path_params = {}
|
|
555
|
+
|
|
556
|
+
query_params = []
|
|
557
|
+
if 'preserve_metadata' in params:
|
|
558
|
+
query_params.append(('preserve_metadata', params['preserve_metadata'])) # noqa: E501
|
|
559
|
+
if 'ticket' in params:
|
|
560
|
+
query_params.append(('ticket', params['ticket'])) # noqa: E501
|
|
561
|
+
if 'uid_placement' in params:
|
|
562
|
+
query_params.append(('uid_placement', params['uid_placement'])) # noqa: E501
|
|
563
|
+
if 'id' in params:
|
|
564
|
+
query_params.append(('id', params['id'])) # noqa: E501
|
|
565
|
+
if 'level' in params:
|
|
566
|
+
query_params.append(('level', params['level'])) # noqa: E501
|
|
567
|
+
if 'job' in params:
|
|
568
|
+
query_params.append(('job', params['job'])) # noqa: E501
|
|
569
|
+
|
|
570
|
+
header_params = {}
|
|
571
|
+
if 'content_type' in params:
|
|
572
|
+
header_params['content-type'] = params['content_type'] # noqa: E501
|
|
573
|
+
|
|
574
|
+
form_params = []
|
|
575
|
+
local_var_files = {}
|
|
576
|
+
if 'files' in params:
|
|
577
|
+
local_var_files['files'] = params['files'] # noqa: E501
|
|
578
|
+
if 'metadata' in params:
|
|
579
|
+
form_params.append(('metadata', params['metadata'])) # noqa: E501
|
|
580
|
+
|
|
581
|
+
body_params = None
|
|
582
|
+
# HTTP header `Accept`
|
|
583
|
+
header_params['Accept'] = self.api_client.select_header_accept(
|
|
584
|
+
['application/json']) # noqa: E501
|
|
585
|
+
|
|
586
|
+
# HTTP header `Content-Type`
|
|
587
|
+
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
|
588
|
+
['multipart/form-data']) # noqa: E501
|
|
589
|
+
|
|
590
|
+
# Authentication setting
|
|
591
|
+
auth_settings = ['ApiKey'] # noqa: E501
|
|
592
|
+
|
|
593
|
+
return self.api_client.call_api(
|
|
594
|
+
'/upload/reaper', 'POST',
|
|
595
|
+
path_params,
|
|
596
|
+
query_params,
|
|
597
|
+
header_params,
|
|
598
|
+
body=body_params,
|
|
599
|
+
post_params=form_params,
|
|
600
|
+
files=local_var_files,
|
|
601
|
+
response_type='union[list[File],UploadTicketOutput]', # noqa: E501
|
|
602
|
+
auth_settings=auth_settings,
|
|
603
|
+
async_=params.get('async_'),
|
|
604
|
+
_return_http_data_only=params.get('_return_http_data_only'),
|
|
605
|
+
_preload_content=params.get('_preload_content', True),
|
|
606
|
+
_request_timeout=params.get('_request_timeout'),
|
|
607
|
+
_request_out=params.get('_request_out'),
|
|
608
|
+
collection_formats=collection_formats)
|
|
609
|
+
|
|
610
|
+
def upload_by_uid(self, **kwargs): # noqa: E501
|
|
611
|
+
"""Multipart form upload with N file fields, each with their desired filename.
|
|
612
|
+
|
|
613
|
+
### Default behavior: > Same behavior as /api/upload/label, except the metadata field must be uid format See ``api/schemas/input/uidupload.json`` for the format of this metadata. ### Signed URL upload with ``ticket`` > Upload a single file directly to the storage backend. The workflow is the following: - Send a request with an empty ``?ticket=`` query parameter to get an upload ticket and URL - Upload the file using a PUT request to the upload URL - Once done, send a POST request to this endpoint with the upload ticket to finalize the upload. The file will be placed into the DB via this POST request.
|
|
614
|
+
This method makes a synchronous HTTP request by default.
|
|
615
|
+
|
|
616
|
+
:param bool preserve_metadata:
|
|
617
|
+
:param str ticket: Use empty value to get a ticket, and provide the ticket id to finalize the upload
|
|
618
|
+
:param str id:
|
|
619
|
+
:param ContainerType level:
|
|
620
|
+
:param str job:
|
|
621
|
+
:param str files:
|
|
622
|
+
:param object metadata: Metadata object
|
|
623
|
+
:param str content_type:
|
|
624
|
+
:param bool async_: Perform the request asynchronously
|
|
625
|
+
:return: union[list[File],UploadTicketOutput]
|
|
626
|
+
"""
|
|
627
|
+
ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
|
|
628
|
+
kwargs['_return_http_data_only'] = True
|
|
629
|
+
|
|
630
|
+
if kwargs.get('async_'):
|
|
631
|
+
return self.upload_by_uid_with_http_info(**kwargs) # noqa: E501
|
|
632
|
+
else:
|
|
633
|
+
(data) = self.upload_by_uid_with_http_info(**kwargs) # noqa: E501
|
|
634
|
+
if (
|
|
635
|
+
data
|
|
636
|
+
and hasattr(data, 'return_value')
|
|
637
|
+
and not ignore_simplified_return_value
|
|
638
|
+
):
|
|
639
|
+
return data.return_value()
|
|
640
|
+
return data
|
|
641
|
+
|
|
642
|
+
|
|
643
|
+
def upload_by_uid_with_http_info(self, **kwargs): # noqa: E501
|
|
644
|
+
"""Multipart form upload with N file fields, each with their desired filename.
|
|
645
|
+
|
|
646
|
+
### Default behavior: > Same behavior as /api/upload/label, except the metadata field must be uid format See ``api/schemas/input/uidupload.json`` for the format of this metadata. ### Signed URL upload with ``ticket`` > Upload a single file directly to the storage backend. The workflow is the following: - Send a request with an empty ``?ticket=`` query parameter to get an upload ticket and URL - Upload the file using a PUT request to the upload URL - Once done, send a POST request to this endpoint with the upload ticket to finalize the upload. The file will be placed into the DB via this POST request.
|
|
647
|
+
This method makes a synchronous HTTP request by default.
|
|
648
|
+
|
|
649
|
+
:param bool preserve_metadata:
|
|
650
|
+
:param str ticket: Use empty value to get a ticket, and provide the ticket id to finalize the upload
|
|
651
|
+
:param str id:
|
|
652
|
+
:param ContainerType level:
|
|
653
|
+
:param str job:
|
|
654
|
+
:param str files:
|
|
655
|
+
:param object metadata: Metadata object
|
|
656
|
+
:param str content_type:
|
|
657
|
+
:param bool async_: Perform the request asynchronously
|
|
658
|
+
:return: union[list[File],UploadTicketOutput]
|
|
659
|
+
"""
|
|
660
|
+
|
|
661
|
+
all_params = ['preserve_metadata','ticket','id','level','job','files','metadata','content_type',] # noqa: E501
|
|
662
|
+
all_params.append('async_')
|
|
663
|
+
all_params.append('_return_http_data_only')
|
|
664
|
+
all_params.append('_preload_content')
|
|
665
|
+
all_params.append('_request_timeout')
|
|
666
|
+
all_params.append('_request_out')
|
|
667
|
+
|
|
668
|
+
params = locals()
|
|
669
|
+
for key, val in six.iteritems(params['kwargs']):
|
|
670
|
+
if key not in all_params:
|
|
671
|
+
raise TypeError(
|
|
672
|
+
"Got an unexpected keyword argument '%s'"
|
|
673
|
+
" to method upload_by_uid" % key
|
|
674
|
+
)
|
|
675
|
+
params[key] = val
|
|
676
|
+
del params['kwargs']
|
|
677
|
+
check_filename_params(params)
|
|
678
|
+
|
|
679
|
+
collection_formats = {}
|
|
680
|
+
|
|
681
|
+
path_params = {}
|
|
682
|
+
|
|
683
|
+
query_params = []
|
|
684
|
+
if 'preserve_metadata' in params:
|
|
685
|
+
query_params.append(('preserve_metadata', params['preserve_metadata'])) # noqa: E501
|
|
686
|
+
if 'ticket' in params:
|
|
687
|
+
query_params.append(('ticket', params['ticket'])) # noqa: E501
|
|
688
|
+
if 'id' in params:
|
|
689
|
+
query_params.append(('id', params['id'])) # noqa: E501
|
|
690
|
+
if 'level' in params:
|
|
691
|
+
query_params.append(('level', params['level'])) # noqa: E501
|
|
692
|
+
if 'job' in params:
|
|
693
|
+
query_params.append(('job', params['job'])) # noqa: E501
|
|
694
|
+
|
|
695
|
+
header_params = {}
|
|
696
|
+
if 'content_type' in params:
|
|
697
|
+
header_params['content-type'] = params['content_type'] # noqa: E501
|
|
698
|
+
|
|
699
|
+
form_params = []
|
|
700
|
+
local_var_files = {}
|
|
701
|
+
if 'files' in params:
|
|
702
|
+
local_var_files['files'] = params['files'] # noqa: E501
|
|
703
|
+
if 'metadata' in params:
|
|
704
|
+
form_params.append(('metadata', params['metadata'])) # noqa: E501
|
|
705
|
+
|
|
706
|
+
body_params = None
|
|
707
|
+
# HTTP header `Accept`
|
|
708
|
+
header_params['Accept'] = self.api_client.select_header_accept(
|
|
709
|
+
['application/json']) # noqa: E501
|
|
710
|
+
|
|
711
|
+
# HTTP header `Content-Type`
|
|
712
|
+
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
|
713
|
+
['multipart/form-data']) # noqa: E501
|
|
714
|
+
|
|
715
|
+
# Authentication setting
|
|
716
|
+
auth_settings = ['ApiKey'] # noqa: E501
|
|
717
|
+
|
|
718
|
+
return self.api_client.call_api(
|
|
719
|
+
'/upload/uid', 'POST',
|
|
720
|
+
path_params,
|
|
721
|
+
query_params,
|
|
722
|
+
header_params,
|
|
723
|
+
body=body_params,
|
|
724
|
+
post_params=form_params,
|
|
725
|
+
files=local_var_files,
|
|
726
|
+
response_type='union[list[File],UploadTicketOutput]', # noqa: E501
|
|
727
|
+
auth_settings=auth_settings,
|
|
728
|
+
async_=params.get('async_'),
|
|
729
|
+
_return_http_data_only=params.get('_return_http_data_only'),
|
|
730
|
+
_preload_content=params.get('_preload_content', True),
|
|
731
|
+
_request_timeout=params.get('_request_timeout'),
|
|
732
|
+
_request_out=params.get('_request_out'),
|
|
733
|
+
collection_formats=collection_formats)
|
|
734
|
+
|
|
735
|
+
def upload_signed_fs_file(self, token, body, **kwargs): # noqa: E501
|
|
736
|
+
"""Upload file to local filesystem storage provider
|
|
737
|
+
|
|
738
|
+
The POST `/api/upload/signed-url` endpoint returns a url with a jwt token pointing to this endpoint if the storage provider is a local filesystem then the file can be uploaded simply by sending the file content in the body of the payload. The destination storage provider and the file path are encoded in the jwt token.
|
|
739
|
+
This method makes a synchronous HTTP request by default.
|
|
740
|
+
|
|
741
|
+
:param str token: Upload token (required)
|
|
742
|
+
:param str body: Signed filesystem file upload payload (required)
|
|
743
|
+
:param bool async_: Perform the request asynchronously
|
|
744
|
+
:return: SignedFSUploadOutput
|
|
745
|
+
"""
|
|
746
|
+
ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
|
|
747
|
+
kwargs['_return_http_data_only'] = True
|
|
748
|
+
|
|
749
|
+
if kwargs.get('async_'):
|
|
750
|
+
return self.upload_signed_fs_file_with_http_info(token, body, **kwargs) # noqa: E501
|
|
751
|
+
else:
|
|
752
|
+
(data) = self.upload_signed_fs_file_with_http_info(token, body, **kwargs) # noqa: E501
|
|
753
|
+
if (
|
|
754
|
+
data
|
|
755
|
+
and hasattr(data, 'return_value')
|
|
756
|
+
and not ignore_simplified_return_value
|
|
757
|
+
):
|
|
758
|
+
return data.return_value()
|
|
759
|
+
return data
|
|
760
|
+
|
|
761
|
+
|
|
762
|
+
def upload_signed_fs_file_with_http_info(self, token, body, **kwargs): # noqa: E501
|
|
763
|
+
"""Upload file to local filesystem storage provider
|
|
764
|
+
|
|
765
|
+
The POST `/api/upload/signed-url` endpoint returns a url with a jwt token pointing to this endpoint if the storage provider is a local filesystem then the file can be uploaded simply by sending the file content in the body of the payload. The destination storage provider and the file path are encoded in the jwt token.
|
|
766
|
+
This method makes a synchronous HTTP request by default.
|
|
767
|
+
|
|
768
|
+
:param str token: Upload token (required)
|
|
769
|
+
:param str body: Signed filesystem file upload payload (required)
|
|
770
|
+
:param bool async_: Perform the request asynchronously
|
|
771
|
+
:return: SignedFSUploadOutput
|
|
772
|
+
"""
|
|
773
|
+
|
|
774
|
+
all_params = ['token','body',] # noqa: E501
|
|
775
|
+
all_params.append('async_')
|
|
776
|
+
all_params.append('_return_http_data_only')
|
|
777
|
+
all_params.append('_preload_content')
|
|
778
|
+
all_params.append('_request_timeout')
|
|
779
|
+
all_params.append('_request_out')
|
|
780
|
+
|
|
781
|
+
params = locals()
|
|
782
|
+
for key, val in six.iteritems(params['kwargs']):
|
|
783
|
+
if key not in all_params:
|
|
784
|
+
raise TypeError(
|
|
785
|
+
"Got an unexpected keyword argument '%s'"
|
|
786
|
+
" to method upload_signed_fs_file" % key
|
|
787
|
+
)
|
|
788
|
+
params[key] = val
|
|
789
|
+
del params['kwargs']
|
|
790
|
+
# verify the required parameter 'token' is set
|
|
791
|
+
if ('token' not in params or
|
|
792
|
+
params['token'] is None):
|
|
793
|
+
raise ValueError("Missing the required parameter `token` when calling `upload_signed_fs_file`") # noqa: E501
|
|
794
|
+
# verify the required parameter 'body' is set
|
|
795
|
+
if ('body' not in params or
|
|
796
|
+
params['body'] is None):
|
|
797
|
+
raise ValueError("Missing the required parameter `body` when calling `upload_signed_fs_file`") # noqa: E501
|
|
798
|
+
check_filename_params(params)
|
|
799
|
+
|
|
800
|
+
collection_formats = {}
|
|
801
|
+
|
|
802
|
+
path_params = {}
|
|
803
|
+
|
|
804
|
+
query_params = []
|
|
805
|
+
if 'token' in params:
|
|
806
|
+
query_params.append(('token', params['token'])) # noqa: E501
|
|
807
|
+
|
|
808
|
+
header_params = {}
|
|
809
|
+
|
|
810
|
+
form_params = []
|
|
811
|
+
local_var_files = {}
|
|
812
|
+
|
|
813
|
+
body_params = None
|
|
814
|
+
if 'body' in params:
|
|
815
|
+
body_params = params['body']
|
|
816
|
+
# HTTP header `Accept`
|
|
817
|
+
header_params['Accept'] = self.api_client.select_header_accept(
|
|
818
|
+
['application/json']) # noqa: E501
|
|
819
|
+
|
|
820
|
+
# HTTP header `Content-Type`
|
|
821
|
+
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
|
822
|
+
['application/json']) # noqa: E501
|
|
823
|
+
|
|
824
|
+
# Authentication setting
|
|
825
|
+
auth_settings = ['ApiKey'] # noqa: E501
|
|
826
|
+
|
|
827
|
+
return self.api_client.call_api(
|
|
828
|
+
'/upload/fs-file', 'PUT',
|
|
829
|
+
path_params,
|
|
830
|
+
query_params,
|
|
831
|
+
header_params,
|
|
832
|
+
body=body_params,
|
|
833
|
+
post_params=form_params,
|
|
834
|
+
files=local_var_files,
|
|
835
|
+
response_type='SignedFSUploadOutput', # noqa: E501
|
|
836
|
+
auth_settings=auth_settings,
|
|
837
|
+
async_=params.get('async_'),
|
|
838
|
+
_return_http_data_only=params.get('_return_http_data_only'),
|
|
839
|
+
_preload_content=params.get('_preload_content', True),
|
|
840
|
+
_request_timeout=params.get('_request_timeout'),
|
|
841
|
+
_request_out=params.get('_request_out'),
|
|
842
|
+
collection_formats=collection_formats)
|