flywheel-sdk 20.1.0rc0__py2.py3-none-any.whl → 20.2.0rc0__py2.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 (39) hide show
  1. flywheel/__init__.py +3 -6
  2. flywheel/api/__init__.py +1 -0
  3. flywheel/api/analyses_api.py +1446 -346
  4. flywheel/api/container_type_api.py +135 -0
  5. flywheel/api/dataexplorer_api.py +90 -0
  6. flywheel/api/files_api.py +437 -0
  7. flywheel/api/reports_api.py +102 -0
  8. flywheel/api_client.py +1 -1
  9. flywheel/configuration.py +2 -2
  10. flywheel/finder.py +5 -2
  11. flywheel/flywheel.py +335 -7
  12. flywheel/models/__init__.py +3 -7
  13. flywheel/models/action.py +0 -3
  14. flywheel/models/container_type.py +0 -1
  15. flywheel/models/current_user_output.py +4 -32
  16. flywheel/models/features.py +16 -16
  17. flywheel/models/{azure_ml_resource_init_status.py → file_container_type.py} +8 -6
  18. flywheel/models/file_list_output.py +54 -1
  19. flywheel/models/file_node.py +54 -1
  20. flywheel/models/file_output.py +57 -4
  21. flywheel/models/file_upsert_output.py +54 -1
  22. flywheel/models/fixed_input.py +28 -1
  23. flywheel/models/info_container_type.py +34 -0
  24. flywheel/models/mixins.py +14 -2
  25. flywheel/models/modify_user_input.py +4 -32
  26. flywheel/models/origin_type.py +1 -0
  27. flywheel/models/project_copy_input.py +28 -1
  28. flywheel/models/project_settings_workspaces.py +4 -31
  29. flywheel/models/project_settings_workspaces_input.py +4 -32
  30. {flywheel_sdk-20.1.0rc0.dist-info → flywheel_sdk-20.2.0rc0.dist-info}/METADATA +1 -2
  31. {flywheel_sdk-20.1.0rc0.dist-info → flywheel_sdk-20.2.0rc0.dist-info}/RECORD +34 -37
  32. {flywheel_sdk-20.1.0rc0.dist-info → flywheel_sdk-20.2.0rc0.dist-info}/WHEEL +1 -1
  33. flywheel/models/azure_ml_account.py +0 -188
  34. flywheel/models/azure_ml_initialization.py +0 -244
  35. flywheel/models/azure_ml_integration.py +0 -218
  36. flywheel/models/azure_ml_workspace.py +0 -347
  37. flywheel/models/azure_ml_workspace_input.py +0 -189
  38. {flywheel_sdk-20.1.0rc0.dist-info → flywheel_sdk-20.2.0rc0.dist-info}/LICENSE.txt +0 -0
  39. {flywheel_sdk-20.1.0rc0.dist-info → flywheel_sdk-20.2.0rc0.dist-info}/top_level.txt +0 -0
@@ -568,6 +568,118 @@ class AnalysesApi(object):
568
568
  _request_out=params.get('_request_out'),
569
569
  collection_formats=collection_formats)
570
570
 
571
+ def delete_analysis_file(self, cid, filename, **kwargs): # noqa: E501
572
+ """Delete a file
573
+
574
+ A user with read-write or higher permissions on the container may delete files that were uploaded by users or were the output of jobs. (Specifically, files whose `origin.type` is either `job` or `user`.) <br/> A user with admin permissions on the container may delete any file.
575
+ This method makes a synchronous HTTP request by default.
576
+
577
+ :param str cid: (required)
578
+ :param str filename: (required)
579
+ :param ContainerDeleteReason delete_reason: A reason for deletion when audit-trail is enabled
580
+ :param bool force: Force deletion of the file even if some checks fail. Deprecated, will be removed in a future release.
581
+ :param bool async_: Perform the request asynchronously
582
+ :return: DeletedResult
583
+ """
584
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
585
+ kwargs['_return_http_data_only'] = True
586
+
587
+ if kwargs.get('async_'):
588
+ return self.delete_analysis_file_with_http_info(cid, filename, **kwargs) # noqa: E501
589
+ else:
590
+ (data) = self.delete_analysis_file_with_http_info(cid, filename, **kwargs) # noqa: E501
591
+ if (
592
+ data
593
+ and hasattr(data, 'return_value')
594
+ and not ignore_simplified_return_value
595
+ ):
596
+ return data.return_value()
597
+ return data
598
+
599
+
600
+ def delete_analysis_file_with_http_info(self, cid, filename, **kwargs): # noqa: E501
601
+ """Delete a file
602
+
603
+ A user with read-write or higher permissions on the container may delete files that were uploaded by users or were the output of jobs. (Specifically, files whose `origin.type` is either `job` or `user`.) <br/> A user with admin permissions on the container may delete any file.
604
+ This method makes a synchronous HTTP request by default.
605
+
606
+ :param str cid: (required)
607
+ :param str filename: (required)
608
+ :param ContainerDeleteReason delete_reason: A reason for deletion when audit-trail is enabled
609
+ :param bool force: Force deletion of the file even if some checks fail. Deprecated, will be removed in a future release.
610
+ :param bool async_: Perform the request asynchronously
611
+ :return: DeletedResult
612
+ """
613
+
614
+ all_params = ['cid','filename','delete_reason','force',] # noqa: E501
615
+ all_params.append('async_')
616
+ all_params.append('_return_http_data_only')
617
+ all_params.append('_preload_content')
618
+ all_params.append('_request_timeout')
619
+ all_params.append('_request_out')
620
+
621
+ params = locals()
622
+ for key, val in six.iteritems(params['kwargs']):
623
+ if key not in all_params:
624
+ raise TypeError(
625
+ "Got an unexpected keyword argument '%s'"
626
+ " to method delete_analysis_file" % key
627
+ )
628
+ params[key] = val
629
+ del params['kwargs']
630
+ # verify the required parameter 'cid' is set
631
+ if ('cid' not in params or
632
+ params['cid'] is None):
633
+ raise ValueError("Missing the required parameter `cid` when calling `delete_analysis_file`") # noqa: E501
634
+ # verify the required parameter 'filename' is set
635
+ if ('filename' not in params or
636
+ params['filename'] is None):
637
+ raise ValueError("Missing the required parameter `filename` when calling `delete_analysis_file`") # noqa: E501
638
+
639
+ collection_formats = {}
640
+
641
+ path_params = {}
642
+ if 'cid' in params:
643
+ path_params['cid'] = params['cid'] # noqa: E501
644
+ if 'filename' in params:
645
+ path_params['filename'] = params['filename'] # noqa: E501
646
+
647
+ query_params = []
648
+ if 'delete_reason' in params:
649
+ query_params.append(('delete_reason', params['delete_reason'])) # noqa: E501
650
+ if 'force' in params:
651
+ query_params.append(('force', params['force'])) # noqa: E501
652
+
653
+ header_params = {}
654
+
655
+ form_params = []
656
+ local_var_files = {}
657
+
658
+ body_params = None
659
+ # HTTP header `Accept`
660
+ header_params['Accept'] = self.api_client.select_header_accept(
661
+ ['application/json']) # noqa: E501
662
+
663
+ # Authentication setting
664
+ auth_settings = ['ApiKey'] # noqa: E501
665
+
666
+ return self.api_client.call_api(
667
+ '/analyses/{cid}/files/{filename}', 'DELETE',
668
+ path_params,
669
+ query_params,
670
+ header_params,
671
+ body=body_params,
672
+ post_params=form_params,
673
+ files=local_var_files,
674
+ response_type='DeletedResult', # noqa: E501
675
+ auth_settings=auth_settings,
676
+ async_=params.get('async_'),
677
+ _return_http_data_only=params.get('_return_http_data_only'),
678
+ _preload_content=params.get('_preload_content', True),
679
+ _request_timeout=params.get('_request_timeout'),
680
+ _request_out=params.get('_request_out'),
681
+ collection_formats=collection_formats)
682
+
571
683
  def delete_analysis_note(self, container_id, note_id, **kwargs): # noqa: E501
572
684
  """Remove a note from a(n) analysis
573
685
 
@@ -776,17 +888,19 @@ class AnalysesApi(object):
776
888
  _request_out=params.get('_request_out'),
777
889
  collection_formats=collection_formats)
778
890
 
779
- def download_input_from_analysis(self, analysis_id, filename, dest_file, **kwargs): # noqa: E501
780
- """Download analysis inputs with filter.
891
+ def download_file_from_analysis(self, analysis_id, file_name, dest_file, **kwargs): # noqa: E501
892
+ """Download a file.
781
893
 
782
- If \"ticket\" query param is included and not empty, download inputs. If \"ticket\" query param is included and empty, create a ticket for matching inputs in the analysis. If no \"ticket\" query param is included, inputs will be downloaded directly.
894
+ Files can be downloaded directly from this endpoint with a valid \"Authorization\" header or via a ticket id. To generate a ticket: - Make a request with an empty \"ticket\" parameter and a valid \"Authorization\" header. The server will respond with a generated ticket id. - Make another request with the received ticket id in the \"ticket\" parameter. A valid \"Authorization\" header is no longer required. When \"view\" is true, [RFC7233](https://tools.ietf.org/html/rfc7233) range request headers are supported. When virus_scan feature is enabled the quarantined files only can be downloaded using signed urls otherwise it will return with a HTTP 400 response.
783
895
  This method makes a synchronous HTTP request by default.
784
896
 
785
897
  :param str analysis_id: 24-character hex ID (required)
786
- :param str filename: input filename (required)
787
- :param bool info: get file info only
788
- :param str member: get zipfile member
789
- :param bool view: feature flag for view/download
898
+ :param str file_name: output file name (required)
899
+ :param bool info: If the file is a zipfile, return a json response of zipfile member information
900
+ :param str member: The filename of a zipfile member to download rather than the entire file
901
+ :param bool view: If true, the proper \"Content-Type\" header based on the file's mimetype is set on response If false, the \"Content-Type\" header is set to \"application/octet-stream\"
902
+ :param int version: version of the file to download
903
+ :param str hash: file hash for comparison
790
904
  :param str range: byte ranges to return
791
905
  :param list[str] x_accept_feature: redirect header
792
906
  :param str dest_file: Destination file path
@@ -799,7 +913,7 @@ class AnalysesApi(object):
799
913
  kwargs['_preload_content'] = False
800
914
  # Stream response to file
801
915
  with open(dest_file, 'wb') as out_file:
802
- (resp) = self.download_input_from_analysis_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
916
+ (resp) = self.download_file_from_analysis_with_http_info(analysis_id, file_name, **kwargs) # noqa: E501
803
917
  if resp:
804
918
  try:
805
919
  for chunk in resp.iter_content(chunk_size=65536):
@@ -808,24 +922,26 @@ class AnalysesApi(object):
808
922
  resp.close()
809
923
 
810
924
 
811
- def download_input_from_analysis_with_http_info(self, analysis_id, filename, **kwargs): # noqa: E501
812
- """Download analysis inputs with filter.
925
+ def download_file_from_analysis_with_http_info(self, analysis_id, file_name, **kwargs): # noqa: E501
926
+ """Download a file.
813
927
 
814
- If \"ticket\" query param is included and not empty, download inputs. If \"ticket\" query param is included and empty, create a ticket for matching inputs in the analysis. If no \"ticket\" query param is included, inputs will be downloaded directly.
928
+ Files can be downloaded directly from this endpoint with a valid \"Authorization\" header or via a ticket id. To generate a ticket: - Make a request with an empty \"ticket\" parameter and a valid \"Authorization\" header. The server will respond with a generated ticket id. - Make another request with the received ticket id in the \"ticket\" parameter. A valid \"Authorization\" header is no longer required. When \"view\" is true, [RFC7233](https://tools.ietf.org/html/rfc7233) range request headers are supported. When virus_scan feature is enabled the quarantined files only can be downloaded using signed urls otherwise it will return with a HTTP 400 response.
815
929
  This method makes a synchronous HTTP request by default.
816
930
 
817
931
  :param str analysis_id: 24-character hex ID (required)
818
- :param str filename: input filename (required)
819
- :param bool info: get file info only
820
- :param str member: get zipfile member
821
- :param bool view: feature flag for view/download
932
+ :param str file_name: output file name (required)
933
+ :param bool info: If the file is a zipfile, return a json response of zipfile member information
934
+ :param str member: The filename of a zipfile member to download rather than the entire file
935
+ :param bool view: If true, the proper \"Content-Type\" header based on the file's mimetype is set on response If false, the \"Content-Type\" header is set to \"application/octet-stream\"
936
+ :param int version: version of the file to download
937
+ :param str hash: file hash for comparison
822
938
  :param str range: byte ranges to return
823
939
  :param list[str] x_accept_feature: redirect header
824
940
  :param bool async_: Perform the request asynchronously
825
941
  :return: union[DownloadTicketStub,ZipfileInfo]
826
942
  """
827
943
 
828
- all_params = ['analysis_id','filename','info','member','view','range','x_accept_feature',] # noqa: E501
944
+ all_params = ['analysis_id','file_name','info','member','view','version','hash','range','x_accept_feature',] # noqa: E501
829
945
  all_params.append('async_')
830
946
  all_params.append('_return_http_data_only')
831
947
  all_params.append('_preload_content')
@@ -837,26 +953,26 @@ class AnalysesApi(object):
837
953
  if key not in all_params:
838
954
  raise TypeError(
839
955
  "Got an unexpected keyword argument '%s'"
840
- " to method download_input_from_analysis" % key
956
+ " to method download_file_from_analysis" % key
841
957
  )
842
958
  params[key] = val
843
959
  del params['kwargs']
844
960
  # verify the required parameter 'analysis_id' is set
845
961
  if ('analysis_id' not in params or
846
962
  params['analysis_id'] is None):
847
- raise ValueError("Missing the required parameter `analysis_id` when calling `download_input_from_analysis`") # noqa: E501
848
- # verify the required parameter 'filename' is set
849
- if ('filename' not in params or
850
- params['filename'] is None):
851
- raise ValueError("Missing the required parameter `filename` when calling `download_input_from_analysis`") # noqa: E501
963
+ raise ValueError("Missing the required parameter `analysis_id` when calling `download_file_from_analysis`") # noqa: E501
964
+ # verify the required parameter 'file_name' is set
965
+ if ('file_name' not in params or
966
+ params['file_name'] is None):
967
+ raise ValueError("Missing the required parameter `file_name` when calling `download_file_from_analysis`") # noqa: E501
852
968
 
853
969
  collection_formats = {}
854
970
 
855
971
  path_params = {}
856
972
  if 'analysis_id' in params:
857
973
  path_params['analysis_id'] = params['analysis_id'] # noqa: E501
858
- if 'filename' in params:
859
- path_params['filename'] = params['filename'] # noqa: E501
974
+ if 'file_name' in params:
975
+ path_params['file_name'] = params['file_name'] # noqa: E501
860
976
 
861
977
  query_params = []
862
978
  if 'info' in params:
@@ -865,6 +981,10 @@ class AnalysesApi(object):
865
981
  query_params.append(('member', params['member'])) # noqa: E501
866
982
  if 'view' in params:
867
983
  query_params.append(('view', params['view'])) # noqa: E501
984
+ if 'version' in params:
985
+ query_params.append(('version', params['version'])) # noqa: E501
986
+ if 'hash' in params:
987
+ query_params.append(('hash', params['hash'])) # noqa: E501
868
988
 
869
989
  header_params = {}
870
990
  if 'range' in params:
@@ -885,7 +1005,7 @@ class AnalysesApi(object):
885
1005
  auth_settings = ['ApiKey'] # noqa: E501
886
1006
 
887
1007
  return self.api_client.call_api(
888
- '/analyses/{analysis_id}/inputs/{filename}', 'GET',
1008
+ '/analyses/{analysis_id}/files/{file_name}', 'GET',
889
1009
  path_params,
890
1010
  query_params,
891
1011
  header_params,
@@ -901,18 +1021,20 @@ class AnalysesApi(object):
901
1021
  _request_out=params.get('_request_out'),
902
1022
  collection_formats=collection_formats)
903
1023
 
904
- def get_analysis_input_zip_info(self, analysis_id, filename, **kwargs): # noqa: E501
1024
+ def get_analysis_file_zip_info(self, analysis_id, file_name, **kwargs): # noqa: E501
905
1025
  """Retrieve the zip info of a child file by name.
906
1026
 
907
1027
  Does not work on files whose names contain a forward slash.
908
1028
  This method makes a synchronous HTTP request by default.
909
1029
 
910
1030
  :param str analysis_id: 24-character hex ID (required)
911
- :param str filename: input filename (required)
912
- :param str ticket: 24-char hex ticket id
913
- :param bool info: get file info only
914
- :param str member: get zipfile member
915
- :param bool view: feature flag for view/download
1031
+ :param str file_name: output file name (required)
1032
+ :param str ticket: The generated ticket id for the download, or present but empty to generate a ticket id
1033
+ :param bool info: If the file is a zipfile, return a json response of zipfile member information
1034
+ :param str member: The filename of a zipfile member to download rather than the entire file
1035
+ :param bool view: If true, the proper \"Content-Type\" header based on the file's mimetype is set on response If false, the \"Content-Type\" header is set to \"application/octet-stream\"
1036
+ :param int version: version of the file to download
1037
+ :param str hash: file hash for comparison
916
1038
  :param str range: byte ranges to return
917
1039
  :param list[str] x_accept_feature: redirect header
918
1040
  :param bool async_: Perform the request asynchronously
@@ -922,9 +1044,9 @@ class AnalysesApi(object):
922
1044
  kwargs['_return_http_data_only'] = True
923
1045
 
924
1046
  if kwargs.get('async_'):
925
- return self.get_analysis_input_zip_info_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1047
+ return self.get_analysis_file_zip_info_with_http_info(analysis_id, file_name, **kwargs) # noqa: E501
926
1048
  else:
927
- (data) = self.get_analysis_input_zip_info_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1049
+ (data) = self.get_analysis_file_zip_info_with_http_info(analysis_id, file_name, **kwargs) # noqa: E501
928
1050
  if (
929
1051
  data
930
1052
  and hasattr(data, 'return_value')
@@ -934,25 +1056,27 @@ class AnalysesApi(object):
934
1056
  return data
935
1057
 
936
1058
 
937
- def get_analysis_input_zip_info_with_http_info(self, analysis_id, filename, **kwargs): # noqa: E501
1059
+ def get_analysis_file_zip_info_with_http_info(self, analysis_id, file_name, **kwargs): # noqa: E501
938
1060
  """Retrieve the zip info of a child file by name.
939
1061
 
940
1062
  Does not work on files whose names contain a forward slash.
941
1063
  This method makes a synchronous HTTP request by default.
942
1064
 
943
1065
  :param str analysis_id: 24-character hex ID (required)
944
- :param str filename: input filename (required)
945
- :param str ticket: 24-char hex ticket id
946
- :param bool info: get file info only
947
- :param str member: get zipfile member
948
- :param bool view: feature flag for view/download
1066
+ :param str file_name: output file name (required)
1067
+ :param str ticket: The generated ticket id for the download, or present but empty to generate a ticket id
1068
+ :param bool info: If the file is a zipfile, return a json response of zipfile member information
1069
+ :param str member: The filename of a zipfile member to download rather than the entire file
1070
+ :param bool view: If true, the proper \"Content-Type\" header based on the file's mimetype is set on response If false, the \"Content-Type\" header is set to \"application/octet-stream\"
1071
+ :param int version: version of the file to download
1072
+ :param str hash: file hash for comparison
949
1073
  :param str range: byte ranges to return
950
1074
  :param list[str] x_accept_feature: redirect header
951
1075
  :param bool async_: Perform the request asynchronously
952
1076
  :return: FileZipInfo
953
1077
  """
954
1078
 
955
- all_params = ['analysis_id','filename','ticket','info','member','view','range','x_accept_feature',] # noqa: E501
1079
+ all_params = ['analysis_id','file_name','ticket','info','member','view','version','hash','range','x_accept_feature',] # noqa: E501
956
1080
  all_params.append('async_')
957
1081
  all_params.append('_return_http_data_only')
958
1082
  all_params.append('_preload_content')
@@ -964,26 +1088,26 @@ class AnalysesApi(object):
964
1088
  if key not in all_params:
965
1089
  raise TypeError(
966
1090
  "Got an unexpected keyword argument '%s'"
967
- " to method get_analysis_input_zip_info" % key
1091
+ " to method get_analysis_file_zip_info" % key
968
1092
  )
969
1093
  params[key] = val
970
1094
  del params['kwargs']
971
1095
  # verify the required parameter 'analysis_id' is set
972
1096
  if ('analysis_id' not in params or
973
1097
  params['analysis_id'] is None):
974
- raise ValueError("Missing the required parameter `analysis_id` when calling `get_analysis_input_zip_info`") # noqa: E501
975
- # verify the required parameter 'filename' is set
976
- if ('filename' not in params or
977
- params['filename'] is None):
978
- raise ValueError("Missing the required parameter `filename` when calling `get_analysis_input_zip_info`") # noqa: E501
1098
+ raise ValueError("Missing the required parameter `analysis_id` when calling `get_analysis_file_zip_info`") # noqa: E501
1099
+ # verify the required parameter 'file_name' is set
1100
+ if ('file_name' not in params or
1101
+ params['file_name'] is None):
1102
+ raise ValueError("Missing the required parameter `file_name` when calling `get_analysis_file_zip_info`") # noqa: E501
979
1103
 
980
1104
  collection_formats = {}
981
1105
 
982
1106
  path_params = {}
983
1107
  if 'analysis_id' in params:
984
1108
  path_params['analysis_id'] = params['analysis_id'] # noqa: E501
985
- if 'filename' in params:
986
- path_params['filename'] = params['filename'] # noqa: E501
1109
+ if 'file_name' in params:
1110
+ path_params['file_name'] = params['file_name'] # noqa: E501
987
1111
 
988
1112
  query_params = []
989
1113
  if 'ticket' in params:
@@ -996,6 +1120,10 @@ class AnalysesApi(object):
996
1120
  query_params.append(('member', params['member'])) # noqa: E501
997
1121
  if 'view' in params:
998
1122
  query_params.append(('view', params['view'])) # noqa: E501
1123
+ if 'version' in params:
1124
+ query_params.append(('version', params['version'])) # noqa: E501
1125
+ if 'hash' in params:
1126
+ query_params.append(('hash', params['hash'])) # noqa: E501
999
1127
 
1000
1128
  header_params = {}
1001
1129
  if 'range' in params:
@@ -1016,7 +1144,7 @@ class AnalysesApi(object):
1016
1144
  auth_settings = ['ApiKey'] # noqa: E501
1017
1145
 
1018
1146
  return self.api_client.call_api(
1019
- '/analyses/{analysis_id}/inputs/{filename}', 'GET',
1147
+ '/analyses/{analysis_id}/files/{file_name}', 'GET',
1020
1148
  path_params,
1021
1149
  query_params,
1022
1150
  header_params,
@@ -1032,17 +1160,19 @@ class AnalysesApi(object):
1032
1160
  _request_out=params.get('_request_out'),
1033
1161
  collection_formats=collection_formats)
1034
1162
 
1035
- def get_analysis_input_download_ticket(self, analysis_id, filename, **kwargs): # noqa: E501
1163
+ def get_analysis_download_ticket(self, analysis_id, file_name, **kwargs): # noqa: E501
1036
1164
  """Get a signed URL to download a named child file.
1037
1165
 
1038
1166
  This method makes a synchronous HTTP request by default.
1039
1167
 
1040
1168
  :param str analysis_id: 24-character hex ID (required)
1041
- :param str filename: input filename (required)
1042
- :param str ticket: 24-char hex ticket id
1043
- :param bool info: get file info only
1044
- :param str member: get zipfile member
1045
- :param bool view: feature flag for view/download
1169
+ :param str file_name: output file name (required)
1170
+ :param str ticket: The generated ticket id for the download, or present but empty to generate a ticket id
1171
+ :param bool info: If the file is a zipfile, return a json response of zipfile member information
1172
+ :param str member: The filename of a zipfile member to download rather than the entire file
1173
+ :param bool view: If true, the proper \"Content-Type\" header based on the file's mimetype is set on response If false, the \"Content-Type\" header is set to \"application/octet-stream\"
1174
+ :param int version: version of the file to download
1175
+ :param str hash: file hash for comparison
1046
1176
  :param str range: byte ranges to return
1047
1177
  :param list[str] x_accept_feature: redirect header
1048
1178
  :param bool async_: Perform the request asynchronously
@@ -1052,9 +1182,9 @@ class AnalysesApi(object):
1052
1182
  kwargs['_return_http_data_only'] = True
1053
1183
 
1054
1184
  if kwargs.get('async_'):
1055
- return self.get_analysis_input_download_ticket_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1185
+ return self.get_analysis_download_ticket_with_http_info(analysis_id, file_name, **kwargs) # noqa: E501
1056
1186
  else:
1057
- (data) = self.get_analysis_input_download_ticket_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1187
+ (data) = self.get_analysis_download_ticket_with_http_info(analysis_id, file_name, **kwargs) # noqa: E501
1058
1188
  if (
1059
1189
  data
1060
1190
  and hasattr(data, 'return_value')
@@ -1064,24 +1194,26 @@ class AnalysesApi(object):
1064
1194
  return data
1065
1195
 
1066
1196
 
1067
- def get_analysis_input_download_ticket_with_http_info(self, analysis_id, filename, **kwargs): # noqa: E501
1197
+ def get_analysis_download_ticket_with_http_info(self, analysis_id, file_name, **kwargs): # noqa: E501
1068
1198
  """Get a signed URL to download a named child file.
1069
1199
 
1070
1200
  This method makes a synchronous HTTP request by default.
1071
1201
 
1072
1202
  :param str analysis_id: 24-character hex ID (required)
1073
- :param str filename: input filename (required)
1074
- :param str ticket: 24-char hex ticket id
1075
- :param bool info: get file info only
1076
- :param str member: get zipfile member
1077
- :param bool view: feature flag for view/download
1203
+ :param str file_name: output file name (required)
1204
+ :param str ticket: The generated ticket id for the download, or present but empty to generate a ticket id
1205
+ :param bool info: If the file is a zipfile, return a json response of zipfile member information
1206
+ :param str member: The filename of a zipfile member to download rather than the entire file
1207
+ :param bool view: If true, the proper \"Content-Type\" header based on the file's mimetype is set on response If false, the \"Content-Type\" header is set to \"application/octet-stream\"
1208
+ :param int version: version of the file to download
1209
+ :param str hash: file hash for comparison
1078
1210
  :param str range: byte ranges to return
1079
1211
  :param list[str] x_accept_feature: redirect header
1080
1212
  :param bool async_: Perform the request asynchronously
1081
1213
  :return: union[DownloadTicketStub,ZipfileInfo]
1082
1214
  """
1083
1215
 
1084
- all_params = ['analysis_id','filename','ticket','info','member','view','range','x_accept_feature',] # noqa: E501
1216
+ all_params = ['analysis_id','file_name','ticket','info','member','view','version','hash','range','x_accept_feature',] # noqa: E501
1085
1217
  all_params.append('async_')
1086
1218
  all_params.append('_return_http_data_only')
1087
1219
  all_params.append('_preload_content')
@@ -1093,26 +1225,26 @@ class AnalysesApi(object):
1093
1225
  if key not in all_params:
1094
1226
  raise TypeError(
1095
1227
  "Got an unexpected keyword argument '%s'"
1096
- " to method get_analysis_input_download_ticket" % key
1228
+ " to method get_analysis_download_ticket" % key
1097
1229
  )
1098
1230
  params[key] = val
1099
1231
  del params['kwargs']
1100
1232
  # verify the required parameter 'analysis_id' is set
1101
1233
  if ('analysis_id' not in params or
1102
1234
  params['analysis_id'] is None):
1103
- raise ValueError("Missing the required parameter `analysis_id` when calling `get_analysis_input_download_ticket`") # noqa: E501
1104
- # verify the required parameter 'filename' is set
1105
- if ('filename' not in params or
1106
- params['filename'] is None):
1107
- raise ValueError("Missing the required parameter `filename` when calling `get_analysis_input_download_ticket`") # noqa: E501
1235
+ raise ValueError("Missing the required parameter `analysis_id` when calling `get_analysis_download_ticket`") # noqa: E501
1236
+ # verify the required parameter 'file_name' is set
1237
+ if ('file_name' not in params or
1238
+ params['file_name'] is None):
1239
+ raise ValueError("Missing the required parameter `file_name` when calling `get_analysis_download_ticket`") # noqa: E501
1108
1240
 
1109
1241
  collection_formats = {}
1110
1242
 
1111
1243
  path_params = {}
1112
1244
  if 'analysis_id' in params:
1113
1245
  path_params['analysis_id'] = params['analysis_id'] # noqa: E501
1114
- if 'filename' in params:
1115
- path_params['filename'] = params['filename'] # noqa: E501
1246
+ if 'file_name' in params:
1247
+ path_params['file_name'] = params['file_name'] # noqa: E501
1116
1248
 
1117
1249
  query_params = []
1118
1250
  if 'ticket' in params:
@@ -1123,6 +1255,10 @@ class AnalysesApi(object):
1123
1255
  query_params.append(('member', params['member'])) # noqa: E501
1124
1256
  if 'view' in params:
1125
1257
  query_params.append(('view', params['view'])) # noqa: E501
1258
+ if 'version' in params:
1259
+ query_params.append(('version', params['version'])) # noqa: E501
1260
+ if 'hash' in params:
1261
+ query_params.append(('hash', params['hash'])) # noqa: E501
1126
1262
 
1127
1263
  header_params = {}
1128
1264
  if 'range' in params:
@@ -1143,7 +1279,7 @@ class AnalysesApi(object):
1143
1279
  auth_settings = ['ApiKey'] # noqa: E501
1144
1280
 
1145
1281
  return self.api_client.call_api(
1146
- '/analyses/{analysis_id}/inputs/{filename}', 'GET',
1282
+ '/analyses/{analysis_id}/files/{file_name}', 'GET',
1147
1283
  path_params,
1148
1284
  query_params,
1149
1285
  header_params,
@@ -1159,14 +1295,14 @@ class AnalysesApi(object):
1159
1295
  _request_out=params.get('_request_out'),
1160
1296
  collection_formats=collection_formats)
1161
1297
 
1162
- def download_output_from_analysis(self, analysis_id, filename, dest_file, **kwargs): # noqa: E501
1163
- """Get Output File
1298
+ def download_input_from_analysis(self, analysis_id, filename, dest_file, **kwargs): # noqa: E501
1299
+ """Download analysis inputs with filter.
1164
1300
 
1165
- Get Output File
1301
+ If \"ticket\" query param is included and not empty, download inputs. If \"ticket\" query param is included and empty, create a ticket for matching inputs in the analysis. If no \"ticket\" query param is included, inputs will be downloaded directly.
1166
1302
  This method makes a synchronous HTTP request by default.
1167
1303
 
1168
- :param str analysis_id: Container ID (required)
1169
- :param str filename: output file name (required)
1304
+ :param str analysis_id: 24-character hex ID (required)
1305
+ :param str filename: input filename (required)
1170
1306
  :param bool info: get file info only
1171
1307
  :param str member: get zipfile member
1172
1308
  :param bool view: feature flag for view/download
@@ -1182,7 +1318,7 @@ class AnalysesApi(object):
1182
1318
  kwargs['_preload_content'] = False
1183
1319
  # Stream response to file
1184
1320
  with open(dest_file, 'wb') as out_file:
1185
- (resp) = self.download_output_from_analysis_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1321
+ (resp) = self.download_input_from_analysis_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1186
1322
  if resp:
1187
1323
  try:
1188
1324
  for chunk in resp.iter_content(chunk_size=65536):
@@ -1191,14 +1327,14 @@ class AnalysesApi(object):
1191
1327
  resp.close()
1192
1328
 
1193
1329
 
1194
- def download_output_from_analysis_with_http_info(self, analysis_id, filename, **kwargs): # noqa: E501
1195
- """Get Output File
1330
+ def download_input_from_analysis_with_http_info(self, analysis_id, filename, **kwargs): # noqa: E501
1331
+ """Download analysis inputs with filter.
1196
1332
 
1197
- Get Output File
1333
+ If \"ticket\" query param is included and not empty, download inputs. If \"ticket\" query param is included and empty, create a ticket for matching inputs in the analysis. If no \"ticket\" query param is included, inputs will be downloaded directly.
1198
1334
  This method makes a synchronous HTTP request by default.
1199
1335
 
1200
- :param str analysis_id: Container ID (required)
1201
- :param str filename: output file name (required)
1336
+ :param str analysis_id: 24-character hex ID (required)
1337
+ :param str filename: input filename (required)
1202
1338
  :param bool info: get file info only
1203
1339
  :param str member: get zipfile member
1204
1340
  :param bool view: feature flag for view/download
@@ -1220,18 +1356,18 @@ class AnalysesApi(object):
1220
1356
  if key not in all_params:
1221
1357
  raise TypeError(
1222
1358
  "Got an unexpected keyword argument '%s'"
1223
- " to method download_output_from_analysis" % key
1359
+ " to method download_input_from_analysis" % key
1224
1360
  )
1225
1361
  params[key] = val
1226
1362
  del params['kwargs']
1227
1363
  # verify the required parameter 'analysis_id' is set
1228
1364
  if ('analysis_id' not in params or
1229
1365
  params['analysis_id'] is None):
1230
- raise ValueError("Missing the required parameter `analysis_id` when calling `download_output_from_analysis`") # noqa: E501
1366
+ raise ValueError("Missing the required parameter `analysis_id` when calling `download_input_from_analysis`") # noqa: E501
1231
1367
  # verify the required parameter 'filename' is set
1232
1368
  if ('filename' not in params or
1233
1369
  params['filename'] is None):
1234
- raise ValueError("Missing the required parameter `filename` when calling `download_output_from_analysis`") # noqa: E501
1370
+ raise ValueError("Missing the required parameter `filename` when calling `download_input_from_analysis`") # noqa: E501
1235
1371
 
1236
1372
  collection_formats = {}
1237
1373
 
@@ -1268,7 +1404,7 @@ class AnalysesApi(object):
1268
1404
  auth_settings = ['ApiKey'] # noqa: E501
1269
1405
 
1270
1406
  return self.api_client.call_api(
1271
- '/analyses/{analysis_id}/files/{filename}', 'GET',
1407
+ '/analyses/{analysis_id}/inputs/{filename}', 'GET',
1272
1408
  path_params,
1273
1409
  query_params,
1274
1410
  header_params,
@@ -1284,14 +1420,14 @@ class AnalysesApi(object):
1284
1420
  _request_out=params.get('_request_out'),
1285
1421
  collection_formats=collection_formats)
1286
1422
 
1287
- def get_analysis_output_zip_info(self, analysis_id, filename, **kwargs): # noqa: E501
1423
+ def get_analysis_input_zip_info(self, analysis_id, filename, **kwargs): # noqa: E501
1288
1424
  """Retrieve the zip info of a child file by name.
1289
1425
 
1290
1426
  Does not work on files whose names contain a forward slash.
1291
1427
  This method makes a synchronous HTTP request by default.
1292
1428
 
1293
- :param str analysis_id: Container ID (required)
1294
- :param str filename: output file name (required)
1429
+ :param str analysis_id: 24-character hex ID (required)
1430
+ :param str filename: input filename (required)
1295
1431
  :param str ticket: 24-char hex ticket id
1296
1432
  :param bool info: get file info only
1297
1433
  :param str member: get zipfile member
@@ -1305,9 +1441,9 @@ class AnalysesApi(object):
1305
1441
  kwargs['_return_http_data_only'] = True
1306
1442
 
1307
1443
  if kwargs.get('async_'):
1308
- return self.get_analysis_output_zip_info_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1444
+ return self.get_analysis_input_zip_info_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1309
1445
  else:
1310
- (data) = self.get_analysis_output_zip_info_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1446
+ (data) = self.get_analysis_input_zip_info_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1311
1447
  if (
1312
1448
  data
1313
1449
  and hasattr(data, 'return_value')
@@ -1317,14 +1453,14 @@ class AnalysesApi(object):
1317
1453
  return data
1318
1454
 
1319
1455
 
1320
- def get_analysis_output_zip_info_with_http_info(self, analysis_id, filename, **kwargs): # noqa: E501
1456
+ def get_analysis_input_zip_info_with_http_info(self, analysis_id, filename, **kwargs): # noqa: E501
1321
1457
  """Retrieve the zip info of a child file by name.
1322
1458
 
1323
1459
  Does not work on files whose names contain a forward slash.
1324
1460
  This method makes a synchronous HTTP request by default.
1325
1461
 
1326
- :param str analysis_id: Container ID (required)
1327
- :param str filename: output file name (required)
1462
+ :param str analysis_id: 24-character hex ID (required)
1463
+ :param str filename: input filename (required)
1328
1464
  :param str ticket: 24-char hex ticket id
1329
1465
  :param bool info: get file info only
1330
1466
  :param str member: get zipfile member
@@ -1347,18 +1483,18 @@ class AnalysesApi(object):
1347
1483
  if key not in all_params:
1348
1484
  raise TypeError(
1349
1485
  "Got an unexpected keyword argument '%s'"
1350
- " to method get_analysis_output_zip_info" % key
1486
+ " to method get_analysis_input_zip_info" % key
1351
1487
  )
1352
1488
  params[key] = val
1353
1489
  del params['kwargs']
1354
1490
  # verify the required parameter 'analysis_id' is set
1355
1491
  if ('analysis_id' not in params or
1356
1492
  params['analysis_id'] is None):
1357
- raise ValueError("Missing the required parameter `analysis_id` when calling `get_analysis_output_zip_info`") # noqa: E501
1493
+ raise ValueError("Missing the required parameter `analysis_id` when calling `get_analysis_input_zip_info`") # noqa: E501
1358
1494
  # verify the required parameter 'filename' is set
1359
1495
  if ('filename' not in params or
1360
1496
  params['filename'] is None):
1361
- raise ValueError("Missing the required parameter `filename` when calling `get_analysis_output_zip_info`") # noqa: E501
1497
+ raise ValueError("Missing the required parameter `filename` when calling `get_analysis_input_zip_info`") # noqa: E501
1362
1498
 
1363
1499
  collection_formats = {}
1364
1500
 
@@ -1399,7 +1535,7 @@ class AnalysesApi(object):
1399
1535
  auth_settings = ['ApiKey'] # noqa: E501
1400
1536
 
1401
1537
  return self.api_client.call_api(
1402
- '/analyses/{analysis_id}/files/{filename}', 'GET',
1538
+ '/analyses/{analysis_id}/inputs/{filename}', 'GET',
1403
1539
  path_params,
1404
1540
  query_params,
1405
1541
  header_params,
@@ -1415,13 +1551,13 @@ class AnalysesApi(object):
1415
1551
  _request_out=params.get('_request_out'),
1416
1552
  collection_formats=collection_formats)
1417
1553
 
1418
- def get_analysis_output_download_ticket(self, analysis_id, filename, **kwargs): # noqa: E501
1554
+ def get_analysis_input_download_ticket(self, analysis_id, filename, **kwargs): # noqa: E501
1419
1555
  """Get a signed URL to download a named child file.
1420
1556
 
1421
1557
  This method makes a synchronous HTTP request by default.
1422
1558
 
1423
- :param str analysis_id: Container ID (required)
1424
- :param str filename: output file name (required)
1559
+ :param str analysis_id: 24-character hex ID (required)
1560
+ :param str filename: input filename (required)
1425
1561
  :param str ticket: 24-char hex ticket id
1426
1562
  :param bool info: get file info only
1427
1563
  :param str member: get zipfile member
@@ -1435,9 +1571,9 @@ class AnalysesApi(object):
1435
1571
  kwargs['_return_http_data_only'] = True
1436
1572
 
1437
1573
  if kwargs.get('async_'):
1438
- return self.get_analysis_output_download_ticket_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1574
+ return self.get_analysis_input_download_ticket_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1439
1575
  else:
1440
- (data) = self.get_analysis_output_download_ticket_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1576
+ (data) = self.get_analysis_input_download_ticket_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1441
1577
  if (
1442
1578
  data
1443
1579
  and hasattr(data, 'return_value')
@@ -1447,13 +1583,13 @@ class AnalysesApi(object):
1447
1583
  return data
1448
1584
 
1449
1585
 
1450
- def get_analysis_output_download_ticket_with_http_info(self, analysis_id, filename, **kwargs): # noqa: E501
1586
+ def get_analysis_input_download_ticket_with_http_info(self, analysis_id, filename, **kwargs): # noqa: E501
1451
1587
  """Get a signed URL to download a named child file.
1452
1588
 
1453
1589
  This method makes a synchronous HTTP request by default.
1454
1590
 
1455
- :param str analysis_id: Container ID (required)
1456
- :param str filename: output file name (required)
1591
+ :param str analysis_id: 24-character hex ID (required)
1592
+ :param str filename: input filename (required)
1457
1593
  :param str ticket: 24-char hex ticket id
1458
1594
  :param bool info: get file info only
1459
1595
  :param str member: get zipfile member
@@ -1476,18 +1612,18 @@ class AnalysesApi(object):
1476
1612
  if key not in all_params:
1477
1613
  raise TypeError(
1478
1614
  "Got an unexpected keyword argument '%s'"
1479
- " to method get_analysis_output_download_ticket" % key
1615
+ " to method get_analysis_input_download_ticket" % key
1480
1616
  )
1481
1617
  params[key] = val
1482
1618
  del params['kwargs']
1483
1619
  # verify the required parameter 'analysis_id' is set
1484
1620
  if ('analysis_id' not in params or
1485
1621
  params['analysis_id'] is None):
1486
- raise ValueError("Missing the required parameter `analysis_id` when calling `get_analysis_output_download_ticket`") # noqa: E501
1622
+ raise ValueError("Missing the required parameter `analysis_id` when calling `get_analysis_input_download_ticket`") # noqa: E501
1487
1623
  # verify the required parameter 'filename' is set
1488
1624
  if ('filename' not in params or
1489
1625
  params['filename'] is None):
1490
- raise ValueError("Missing the required parameter `filename` when calling `get_analysis_output_download_ticket`") # noqa: E501
1626
+ raise ValueError("Missing the required parameter `filename` when calling `get_analysis_input_download_ticket`") # noqa: E501
1491
1627
 
1492
1628
  collection_formats = {}
1493
1629
 
@@ -1526,7 +1662,7 @@ class AnalysesApi(object):
1526
1662
  auth_settings = ['ApiKey'] # noqa: E501
1527
1663
 
1528
1664
  return self.api_client.call_api(
1529
- '/analyses/{analysis_id}/files/{filename}', 'GET',
1665
+ '/analyses/{analysis_id}/inputs/{filename}', 'GET',
1530
1666
  path_params,
1531
1667
  query_params,
1532
1668
  header_params,
@@ -1542,31 +1678,858 @@ class AnalysesApi(object):
1542
1678
  _request_out=params.get('_request_out'),
1543
1679
  collection_formats=collection_formats)
1544
1680
 
1545
- def get_all_analyses(self, **kwargs): # noqa: E501
1546
- """Find all analyses
1681
+ def download_output_from_analysis(self, analysis_id, filename, dest_file, **kwargs): # noqa: E501
1682
+ """Download output file from analysis
1547
1683
 
1548
- Returns a page of analyses Args: filter (t.Optional[str]): The filters to apply sort (t.List[Tuple[str,int]): Sorting, as a list of (str, int) tuples limit (t.Optional[int]): The maximum number of entries to return skip (t.Optional[int]): The number of entries to skip page (t.Optional[int]): Page number after_id (t.Optional[str]): Id to return results after Returns: Page: if a above argument is not None
1684
+ Download output file from analysis
1549
1685
  This method makes a synchronous HTTP request by default.
1550
1686
 
1551
- :param bool inflate_job: Return job as an object instead of an id
1552
- :param bool include_all_info: Include all info in returned objects
1553
- :param str filter: The filter to apply. (e.g. label=my-label,created>2018-09-22)
1554
- :param str sort: The sort fields and order. (e.g. label:asc,created:desc)
1555
- :param int limit: The maximum number of entries to return.
1556
- :param int skip: The number of entries to skip.
1557
- :param int page: The page number (i.e. skip limit*page entries)
1558
- :param str after_id: Paginate after the given id. (Cannot be used with sort, page or skip)
1559
- :param list[str] x_accept_feature:
1687
+ :param str analysis_id: Container ID (required)
1688
+ :param str filename: output file name (required)
1689
+ :param bool info: get file info only
1690
+ :param str member: get zipfile member
1691
+ :param bool view: feature flag for view/download
1692
+ :param str range: byte ranges to return
1693
+ :param list[str] x_accept_feature: redirect header
1694
+ :param str dest_file: Destination file path
1560
1695
  :param bool async_: Perform the request asynchronously
1561
- :return: union[Page,list[union[AnalysisListOutput,AnalysisListOutputInflatedJob]]]
1696
+ :return: union[DownloadTicketStub,ZipfileInfo]
1697
+ """
1698
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
1699
+ kwargs['_return_http_data_only'] = True
1700
+
1701
+ kwargs['_preload_content'] = False
1702
+ # Stream response to file
1703
+ with open(dest_file, 'wb') as out_file:
1704
+ (resp) = self.download_output_from_analysis_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1705
+ if resp:
1706
+ try:
1707
+ for chunk in resp.iter_content(chunk_size=65536):
1708
+ out_file.write(chunk)
1709
+ finally:
1710
+ resp.close()
1711
+
1712
+
1713
+ def download_output_from_analysis_with_http_info(self, analysis_id, filename, **kwargs): # noqa: E501
1714
+ """Download output file from analysis
1715
+
1716
+ Download output file from analysis
1717
+ This method makes a synchronous HTTP request by default.
1718
+
1719
+ :param str analysis_id: Container ID (required)
1720
+ :param str filename: output file name (required)
1721
+ :param bool info: get file info only
1722
+ :param str member: get zipfile member
1723
+ :param bool view: feature flag for view/download
1724
+ :param str range: byte ranges to return
1725
+ :param list[str] x_accept_feature: redirect header
1726
+ :param bool async_: Perform the request asynchronously
1727
+ :return: union[DownloadTicketStub,ZipfileInfo]
1728
+ """
1729
+
1730
+ all_params = ['analysis_id','filename','info','member','view','range','x_accept_feature',] # noqa: E501
1731
+ all_params.append('async_')
1732
+ all_params.append('_return_http_data_only')
1733
+ all_params.append('_preload_content')
1734
+ all_params.append('_request_timeout')
1735
+ all_params.append('_request_out')
1736
+
1737
+ params = locals()
1738
+ for key, val in six.iteritems(params['kwargs']):
1739
+ if key not in all_params:
1740
+ raise TypeError(
1741
+ "Got an unexpected keyword argument '%s'"
1742
+ " to method download_output_from_analysis" % key
1743
+ )
1744
+ params[key] = val
1745
+ del params['kwargs']
1746
+ # verify the required parameter 'analysis_id' is set
1747
+ if ('analysis_id' not in params or
1748
+ params['analysis_id'] is None):
1749
+ raise ValueError("Missing the required parameter `analysis_id` when calling `download_output_from_analysis`") # noqa: E501
1750
+ # verify the required parameter 'filename' is set
1751
+ if ('filename' not in params or
1752
+ params['filename'] is None):
1753
+ raise ValueError("Missing the required parameter `filename` when calling `download_output_from_analysis`") # noqa: E501
1754
+
1755
+ collection_formats = {}
1756
+
1757
+ path_params = {}
1758
+ if 'analysis_id' in params:
1759
+ path_params['analysis_id'] = params['analysis_id'] # noqa: E501
1760
+ if 'filename' in params:
1761
+ path_params['filename'] = params['filename'] # noqa: E501
1762
+
1763
+ query_params = []
1764
+ if 'info' in params:
1765
+ query_params.append(('info', params['info'])) # noqa: E501
1766
+ if 'member' in params:
1767
+ query_params.append(('member', params['member'])) # noqa: E501
1768
+ if 'view' in params:
1769
+ query_params.append(('view', params['view'])) # noqa: E501
1770
+
1771
+ header_params = {}
1772
+ if 'range' in params:
1773
+ header_params['range'] = params['range'] # noqa: E501
1774
+ if 'x_accept_feature' in params:
1775
+ header_params['x-accept-feature'] = params['x_accept_feature'] # noqa: E501
1776
+ collection_formats['x-accept-feature'] = '' # noqa: E501
1777
+
1778
+ form_params = []
1779
+ local_var_files = {}
1780
+
1781
+ body_params = None
1782
+ # HTTP header `Accept`
1783
+ header_params['Accept'] = self.api_client.select_header_accept(
1784
+ ['application/octet-stream']) # noqa: E501
1785
+
1786
+ # Authentication setting
1787
+ auth_settings = ['ApiKey'] # noqa: E501
1788
+
1789
+ return self.api_client.call_api(
1790
+ '/analyses/{analysis_id}/files/{filename}', 'GET',
1791
+ path_params,
1792
+ query_params,
1793
+ header_params,
1794
+ body=body_params,
1795
+ post_params=form_params,
1796
+ files=local_var_files,
1797
+ response_type='union[DownloadTicketStub,ZipfileInfo]', # noqa: E501
1798
+ auth_settings=auth_settings,
1799
+ async_=params.get('async_'),
1800
+ _return_http_data_only=params.get('_return_http_data_only'),
1801
+ _preload_content=params.get('_preload_content', True),
1802
+ _request_timeout=params.get('_request_timeout'),
1803
+ _request_out=params.get('_request_out'),
1804
+ collection_formats=collection_formats)
1805
+
1806
+ def get_analysis_output_zip_info(self, analysis_id, filename, **kwargs): # noqa: E501
1807
+ """Retrieve the zip info of a child file by name.
1808
+
1809
+ Does not work on files whose names contain a forward slash.
1810
+ This method makes a synchronous HTTP request by default.
1811
+
1812
+ :param str analysis_id: Container ID (required)
1813
+ :param str filename: output file name (required)
1814
+ :param str ticket: 24-char hex ticket id
1815
+ :param bool info: get file info only
1816
+ :param str member: get zipfile member
1817
+ :param bool view: feature flag for view/download
1818
+ :param str range: byte ranges to return
1819
+ :param list[str] x_accept_feature: redirect header
1820
+ :param bool async_: Perform the request asynchronously
1821
+ :return: FileZipInfo
1822
+ """
1823
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
1824
+ kwargs['_return_http_data_only'] = True
1825
+
1826
+ if kwargs.get('async_'):
1827
+ return self.get_analysis_output_zip_info_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1828
+ else:
1829
+ (data) = self.get_analysis_output_zip_info_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1830
+ if (
1831
+ data
1832
+ and hasattr(data, 'return_value')
1833
+ and not ignore_simplified_return_value
1834
+ ):
1835
+ return data.return_value()
1836
+ return data
1837
+
1838
+
1839
+ def get_analysis_output_zip_info_with_http_info(self, analysis_id, filename, **kwargs): # noqa: E501
1840
+ """Retrieve the zip info of a child file by name.
1841
+
1842
+ Does not work on files whose names contain a forward slash.
1843
+ This method makes a synchronous HTTP request by default.
1844
+
1845
+ :param str analysis_id: Container ID (required)
1846
+ :param str filename: output file name (required)
1847
+ :param str ticket: 24-char hex ticket id
1848
+ :param bool info: get file info only
1849
+ :param str member: get zipfile member
1850
+ :param bool view: feature flag for view/download
1851
+ :param str range: byte ranges to return
1852
+ :param list[str] x_accept_feature: redirect header
1853
+ :param bool async_: Perform the request asynchronously
1854
+ :return: FileZipInfo
1855
+ """
1856
+
1857
+ all_params = ['analysis_id','filename','ticket','info','member','view','range','x_accept_feature',] # noqa: E501
1858
+ all_params.append('async_')
1859
+ all_params.append('_return_http_data_only')
1860
+ all_params.append('_preload_content')
1861
+ all_params.append('_request_timeout')
1862
+ all_params.append('_request_out')
1863
+
1864
+ params = locals()
1865
+ for key, val in six.iteritems(params['kwargs']):
1866
+ if key not in all_params:
1867
+ raise TypeError(
1868
+ "Got an unexpected keyword argument '%s'"
1869
+ " to method get_analysis_output_zip_info" % key
1870
+ )
1871
+ params[key] = val
1872
+ del params['kwargs']
1873
+ # verify the required parameter 'analysis_id' is set
1874
+ if ('analysis_id' not in params or
1875
+ params['analysis_id'] is None):
1876
+ raise ValueError("Missing the required parameter `analysis_id` when calling `get_analysis_output_zip_info`") # noqa: E501
1877
+ # verify the required parameter 'filename' is set
1878
+ if ('filename' not in params or
1879
+ params['filename'] is None):
1880
+ raise ValueError("Missing the required parameter `filename` when calling `get_analysis_output_zip_info`") # noqa: E501
1881
+
1882
+ collection_formats = {}
1883
+
1884
+ path_params = {}
1885
+ if 'analysis_id' in params:
1886
+ path_params['analysis_id'] = params['analysis_id'] # noqa: E501
1887
+ if 'filename' in params:
1888
+ path_params['filename'] = params['filename'] # noqa: E501
1889
+
1890
+ query_params = []
1891
+ if 'ticket' in params:
1892
+ query_params.append(('ticket', params['ticket'])) # noqa: E501
1893
+ if 'info' in params:
1894
+ query_params.append(('info', params['info'])) # noqa: E501
1895
+ else:
1896
+ query_params.append(('info', 'true'))
1897
+ if 'member' in params:
1898
+ query_params.append(('member', params['member'])) # noqa: E501
1899
+ if 'view' in params:
1900
+ query_params.append(('view', params['view'])) # noqa: E501
1901
+
1902
+ header_params = {}
1903
+ if 'range' in params:
1904
+ header_params['range'] = params['range'] # noqa: E501
1905
+ if 'x_accept_feature' in params:
1906
+ header_params['x-accept-feature'] = params['x_accept_feature'] # noqa: E501
1907
+ collection_formats['x-accept-feature'] = '' # noqa: E501
1908
+
1909
+ form_params = []
1910
+ local_var_files = {}
1911
+
1912
+ body_params = None
1913
+ # HTTP header `Accept`
1914
+ header_params['Accept'] = self.api_client.select_header_accept(
1915
+ ['application/json']) # noqa: E501
1916
+
1917
+ # Authentication setting
1918
+ auth_settings = ['ApiKey'] # noqa: E501
1919
+
1920
+ return self.api_client.call_api(
1921
+ '/analyses/{analysis_id}/files/{filename}', 'GET',
1922
+ path_params,
1923
+ query_params,
1924
+ header_params,
1925
+ body=body_params,
1926
+ post_params=form_params,
1927
+ files=local_var_files,
1928
+ response_type='FileZipInfo', # noqa: E501
1929
+ auth_settings=auth_settings,
1930
+ async_=params.get('async_'),
1931
+ _return_http_data_only=params.get('_return_http_data_only'),
1932
+ _preload_content=params.get('_preload_content', True),
1933
+ _request_timeout=params.get('_request_timeout'),
1934
+ _request_out=params.get('_request_out'),
1935
+ collection_formats=collection_formats)
1936
+
1937
+ def get_analysis_output_download_ticket(self, analysis_id, filename, **kwargs): # noqa: E501
1938
+ """Get a signed URL to download a named child file.
1939
+
1940
+ This method makes a synchronous HTTP request by default.
1941
+
1942
+ :param str analysis_id: Container ID (required)
1943
+ :param str filename: output file name (required)
1944
+ :param str ticket: 24-char hex ticket id
1945
+ :param bool info: get file info only
1946
+ :param str member: get zipfile member
1947
+ :param bool view: feature flag for view/download
1948
+ :param str range: byte ranges to return
1949
+ :param list[str] x_accept_feature: redirect header
1950
+ :param bool async_: Perform the request asynchronously
1951
+ :return: union[DownloadTicketStub,ZipfileInfo]
1952
+ """
1953
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
1954
+ kwargs['_return_http_data_only'] = True
1955
+
1956
+ if kwargs.get('async_'):
1957
+ return self.get_analysis_output_download_ticket_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1958
+ else:
1959
+ (data) = self.get_analysis_output_download_ticket_with_http_info(analysis_id, filename, **kwargs) # noqa: E501
1960
+ if (
1961
+ data
1962
+ and hasattr(data, 'return_value')
1963
+ and not ignore_simplified_return_value
1964
+ ):
1965
+ return data.return_value()
1966
+ return data
1967
+
1968
+
1969
+ def get_analysis_output_download_ticket_with_http_info(self, analysis_id, filename, **kwargs): # noqa: E501
1970
+ """Get a signed URL to download a named child file.
1971
+
1972
+ This method makes a synchronous HTTP request by default.
1973
+
1974
+ :param str analysis_id: Container ID (required)
1975
+ :param str filename: output file name (required)
1976
+ :param str ticket: 24-char hex ticket id
1977
+ :param bool info: get file info only
1978
+ :param str member: get zipfile member
1979
+ :param bool view: feature flag for view/download
1980
+ :param str range: byte ranges to return
1981
+ :param list[str] x_accept_feature: redirect header
1982
+ :param bool async_: Perform the request asynchronously
1983
+ :return: union[DownloadTicketStub,ZipfileInfo]
1984
+ """
1985
+
1986
+ all_params = ['analysis_id','filename','ticket','info','member','view','range','x_accept_feature',] # noqa: E501
1987
+ all_params.append('async_')
1988
+ all_params.append('_return_http_data_only')
1989
+ all_params.append('_preload_content')
1990
+ all_params.append('_request_timeout')
1991
+ all_params.append('_request_out')
1992
+
1993
+ params = locals()
1994
+ for key, val in six.iteritems(params['kwargs']):
1995
+ if key not in all_params:
1996
+ raise TypeError(
1997
+ "Got an unexpected keyword argument '%s'"
1998
+ " to method get_analysis_output_download_ticket" % key
1999
+ )
2000
+ params[key] = val
2001
+ del params['kwargs']
2002
+ # verify the required parameter 'analysis_id' is set
2003
+ if ('analysis_id' not in params or
2004
+ params['analysis_id'] is None):
2005
+ raise ValueError("Missing the required parameter `analysis_id` when calling `get_analysis_output_download_ticket`") # noqa: E501
2006
+ # verify the required parameter 'filename' is set
2007
+ if ('filename' not in params or
2008
+ params['filename'] is None):
2009
+ raise ValueError("Missing the required parameter `filename` when calling `get_analysis_output_download_ticket`") # noqa: E501
2010
+
2011
+ collection_formats = {}
2012
+
2013
+ path_params = {}
2014
+ if 'analysis_id' in params:
2015
+ path_params['analysis_id'] = params['analysis_id'] # noqa: E501
2016
+ if 'filename' in params:
2017
+ path_params['filename'] = params['filename'] # noqa: E501
2018
+
2019
+ query_params = []
2020
+ if 'ticket' in params:
2021
+ query_params.append(('ticket', params['ticket'])) # noqa: E501
2022
+ if 'info' in params:
2023
+ query_params.append(('info', params['info'])) # noqa: E501
2024
+ if 'member' in params:
2025
+ query_params.append(('member', params['member'])) # noqa: E501
2026
+ if 'view' in params:
2027
+ query_params.append(('view', params['view'])) # noqa: E501
2028
+
2029
+ header_params = {}
2030
+ if 'range' in params:
2031
+ header_params['range'] = params['range'] # noqa: E501
2032
+ if 'x_accept_feature' in params:
2033
+ header_params['x-accept-feature'] = params['x_accept_feature'] # noqa: E501
2034
+ collection_formats['x-accept-feature'] = '' # noqa: E501
2035
+
2036
+ form_params = []
2037
+ local_var_files = {}
2038
+
2039
+ body_params = None
2040
+ # HTTP header `Accept`
2041
+ header_params['Accept'] = self.api_client.select_header_accept(
2042
+ ['application/json']) # noqa: E501
2043
+
2044
+ # Authentication setting
2045
+ auth_settings = ['ApiKey'] # noqa: E501
2046
+
2047
+ return self.api_client.call_api(
2048
+ '/analyses/{analysis_id}/files/{filename}', 'GET',
2049
+ path_params,
2050
+ query_params,
2051
+ header_params,
2052
+ body=body_params,
2053
+ post_params=form_params,
2054
+ files=local_var_files,
2055
+ response_type='union[DownloadTicketStub,ZipfileInfo]', # noqa: E501
2056
+ auth_settings=auth_settings,
2057
+ async_=params.get('async_'),
2058
+ _return_http_data_only=params.get('_return_http_data_only'),
2059
+ _preload_content=params.get('_preload_content', True),
2060
+ _request_timeout=params.get('_request_timeout'),
2061
+ _request_out=params.get('_request_out'),
2062
+ collection_formats=collection_formats)
2063
+
2064
+ def get_all_analyses(self, **kwargs): # noqa: E501
2065
+ """Find all analyses
2066
+
2067
+ Returns a page of analyses Args: filter (t.Optional[str]): The filters to apply sort (t.List[Tuple[str,int]): Sorting, as a list of (str, int) tuples limit (t.Optional[int]): The maximum number of entries to return skip (t.Optional[int]): The number of entries to skip page (t.Optional[int]): Page number after_id (t.Optional[str]): Id to return results after Returns: Page: if a above argument is not None
2068
+ This method makes a synchronous HTTP request by default.
2069
+
2070
+ :param bool inflate_job: Return job as an object instead of an id
2071
+ :param bool include_all_info: Include all info in returned objects
2072
+ :param str filter: The filter to apply. (e.g. label=my-label,created>2018-09-22)
2073
+ :param str sort: The sort fields and order. (e.g. label:asc,created:desc)
2074
+ :param int limit: The maximum number of entries to return.
2075
+ :param int skip: The number of entries to skip.
2076
+ :param int page: The page number (i.e. skip limit*page entries)
2077
+ :param str after_id: Paginate after the given id. (Cannot be used with sort, page or skip)
2078
+ :param list[str] x_accept_feature:
2079
+ :param bool async_: Perform the request asynchronously
2080
+ :return: union[Page,list[union[AnalysisListOutput,AnalysisListOutputInflatedJob]]]
2081
+ """
2082
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
2083
+ kwargs['_return_http_data_only'] = True
2084
+
2085
+ if kwargs.get('async_'):
2086
+ return self.get_all_analyses_with_http_info(**kwargs) # noqa: E501
2087
+ else:
2088
+ (data) = self.get_all_analyses_with_http_info(**kwargs) # noqa: E501
2089
+ if (
2090
+ data
2091
+ and hasattr(data, 'return_value')
2092
+ and not ignore_simplified_return_value
2093
+ ):
2094
+ return data.return_value()
2095
+ return data
2096
+
2097
+
2098
+ def get_all_analyses_with_http_info(self, **kwargs): # noqa: E501
2099
+ """Find all analyses
2100
+
2101
+ Returns a page of analyses Args: filter (t.Optional[str]): The filters to apply sort (t.List[Tuple[str,int]): Sorting, as a list of (str, int) tuples limit (t.Optional[int]): The maximum number of entries to return skip (t.Optional[int]): The number of entries to skip page (t.Optional[int]): Page number after_id (t.Optional[str]): Id to return results after Returns: Page: if a above argument is not None
2102
+ This method makes a synchronous HTTP request by default.
2103
+
2104
+ :param bool inflate_job: Return job as an object instead of an id
2105
+ :param bool include_all_info: Include all info in returned objects
2106
+ :param str filter: The filter to apply. (e.g. label=my-label,created>2018-09-22)
2107
+ :param str sort: The sort fields and order. (e.g. label:asc,created:desc)
2108
+ :param int limit: The maximum number of entries to return.
2109
+ :param int skip: The number of entries to skip.
2110
+ :param int page: The page number (i.e. skip limit*page entries)
2111
+ :param str after_id: Paginate after the given id. (Cannot be used with sort, page or skip)
2112
+ :param list[str] x_accept_feature:
2113
+ :param bool async_: Perform the request asynchronously
2114
+ :return: union[Page,list[union[AnalysisListOutput,AnalysisListOutputInflatedJob]]]
2115
+ """
2116
+
2117
+ all_params = ['inflate_job','include_all_info','filter','sort','limit','skip','page','after_id','x_accept_feature',] # noqa: E501
2118
+ all_params.append('async_')
2119
+ all_params.append('_return_http_data_only')
2120
+ all_params.append('_preload_content')
2121
+ all_params.append('_request_timeout')
2122
+ all_params.append('_request_out')
2123
+
2124
+ params = locals()
2125
+ for key, val in six.iteritems(params['kwargs']):
2126
+ if key not in all_params:
2127
+ raise TypeError(
2128
+ "Got an unexpected keyword argument '%s'"
2129
+ " to method get_all_analyses" % key
2130
+ )
2131
+ params[key] = val
2132
+ del params['kwargs']
2133
+
2134
+ collection_formats = {}
2135
+
2136
+ path_params = {}
2137
+
2138
+ query_params = []
2139
+ if 'inflate_job' in params:
2140
+ query_params.append(('inflate_job', params['inflate_job'])) # noqa: E501
2141
+ if 'include_all_info' in params:
2142
+ query_params.append(('include_all_info', params['include_all_info'])) # noqa: E501
2143
+ if 'filter' in params:
2144
+ query_params.append(('filter', params['filter'])) # noqa: E501
2145
+ if 'sort' in params:
2146
+ query_params.append(('sort', params['sort'])) # noqa: E501
2147
+ if 'limit' in params:
2148
+ query_params.append(('limit', params['limit'])) # noqa: E501
2149
+ if 'skip' in params:
2150
+ query_params.append(('skip', params['skip'])) # noqa: E501
2151
+ if 'page' in params:
2152
+ query_params.append(('page', params['page'])) # noqa: E501
2153
+ if 'after_id' in params:
2154
+ query_params.append(('after_id', params['after_id'])) # noqa: E501
2155
+
2156
+ header_params = {}
2157
+ if 'x_accept_feature' in params:
2158
+ header_params['x-accept-feature'] = params['x_accept_feature'] # noqa: E501
2159
+ collection_formats['x-accept-feature'] = '' # noqa: E501
2160
+
2161
+ form_params = []
2162
+ local_var_files = {}
2163
+
2164
+ body_params = None
2165
+ # HTTP header `Accept`
2166
+ header_params['Accept'] = self.api_client.select_header_accept(
2167
+ ['application/json']) # noqa: E501
2168
+
2169
+ # Authentication setting
2170
+ auth_settings = ['ApiKey'] # noqa: E501
2171
+
2172
+ return self.api_client.call_api(
2173
+ '/analyses', 'GET',
2174
+ path_params,
2175
+ query_params,
2176
+ header_params,
2177
+ body=body_params,
2178
+ post_params=form_params,
2179
+ files=local_var_files,
2180
+ response_type='union[Page,list[union[AnalysisListOutput,AnalysisListOutputInflatedJob]]]', # noqa: E501
2181
+ auth_settings=auth_settings,
2182
+ async_=params.get('async_'),
2183
+ _return_http_data_only=params.get('_return_http_data_only'),
2184
+ _preload_content=params.get('_preload_content', True),
2185
+ _request_timeout=params.get('_request_timeout'),
2186
+ _request_out=params.get('_request_out'),
2187
+ collection_formats=collection_formats)
2188
+
2189
+ def get_analyses(self, container_name, container_id, subcontainer_name, **kwargs): # noqa: E501
2190
+ """Get nested analyses for a container
2191
+
2192
+ Returns analyses that belong to containers of the specified type that belong to ContainerId. Ex: `projects/{ProjectId}/acquisitions/analyses` will return any analyses that have an acquisition that is under that project as a parent. The `all` keyword is also supported, for example: projects/{ProjectId}/all/analyses will return any analyses that have any session or acquisition or the project itself as a parent.
2193
+ This method makes a synchronous HTTP request by default.
2194
+
2195
+ :param str container_name: The parent container type (required)
2196
+ :param str container_id: The parent container id (required)
2197
+ :param str subcontainer_name: The sub container type (required)
2198
+ :param bool async_: Perform the request asynchronously
2199
+ :return: list[AnalysisListOutput]
2200
+ """
2201
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
2202
+ kwargs['_return_http_data_only'] = True
2203
+
2204
+ if kwargs.get('async_'):
2205
+ return self.get_analyses_with_http_info(container_name, container_id, subcontainer_name, **kwargs) # noqa: E501
2206
+ else:
2207
+ (data) = self.get_analyses_with_http_info(container_name, container_id, subcontainer_name, **kwargs) # noqa: E501
2208
+ if (
2209
+ data
2210
+ and hasattr(data, 'return_value')
2211
+ and not ignore_simplified_return_value
2212
+ ):
2213
+ return data.return_value()
2214
+ return data
2215
+
2216
+
2217
+ def get_analyses_with_http_info(self, container_name, container_id, subcontainer_name, **kwargs): # noqa: E501
2218
+ """Get nested analyses for a container
2219
+
2220
+ Returns analyses that belong to containers of the specified type that belong to ContainerId. Ex: `projects/{ProjectId}/acquisitions/analyses` will return any analyses that have an acquisition that is under that project as a parent. The `all` keyword is also supported, for example: projects/{ProjectId}/all/analyses will return any analyses that have any session or acquisition or the project itself as a parent.
2221
+ This method makes a synchronous HTTP request by default.
2222
+
2223
+ :param str container_name: The parent container type (required)
2224
+ :param str container_id: The parent container id (required)
2225
+ :param str subcontainer_name: The sub container type (required)
2226
+ :param bool async_: Perform the request asynchronously
2227
+ :return: list[AnalysisListOutput]
2228
+ """
2229
+
2230
+ all_params = ['container_name','container_id','subcontainer_name',] # noqa: E501
2231
+ all_params.append('async_')
2232
+ all_params.append('_return_http_data_only')
2233
+ all_params.append('_preload_content')
2234
+ all_params.append('_request_timeout')
2235
+ all_params.append('_request_out')
2236
+
2237
+ params = locals()
2238
+ for key, val in six.iteritems(params['kwargs']):
2239
+ if key not in all_params:
2240
+ raise TypeError(
2241
+ "Got an unexpected keyword argument '%s'"
2242
+ " to method get_analyses" % key
2243
+ )
2244
+ params[key] = val
2245
+ del params['kwargs']
2246
+ # verify the required parameter 'container_name' is set
2247
+ if ('container_name' not in params or
2248
+ params['container_name'] is None):
2249
+ raise ValueError("Missing the required parameter `container_name` when calling `get_analyses`") # noqa: E501
2250
+ # verify the required parameter 'container_id' is set
2251
+ if ('container_id' not in params or
2252
+ params['container_id'] is None):
2253
+ raise ValueError("Missing the required parameter `container_id` when calling `get_analyses`") # noqa: E501
2254
+ # verify the required parameter 'subcontainer_name' is set
2255
+ if ('subcontainer_name' not in params or
2256
+ params['subcontainer_name'] is None):
2257
+ raise ValueError("Missing the required parameter `subcontainer_name` when calling `get_analyses`") # noqa: E501
2258
+
2259
+ collection_formats = {}
2260
+
2261
+ path_params = {}
2262
+ if 'container_name' in params:
2263
+ path_params['container_name'] = params['container_name'] # noqa: E501
2264
+ if 'container_id' in params:
2265
+ path_params['container_id'] = params['container_id'] # noqa: E501
2266
+ if 'subcontainer_name' in params:
2267
+ path_params['subcontainer_name'] = params['subcontainer_name'] # noqa: E501
2268
+
2269
+ query_params = []
2270
+
2271
+ header_params = {}
2272
+
2273
+ form_params = []
2274
+ local_var_files = {}
2275
+
2276
+ body_params = None
2277
+ # HTTP header `Accept`
2278
+ header_params['Accept'] = self.api_client.select_header_accept(
2279
+ ['application/json']) # noqa: E501
2280
+
2281
+ # Authentication setting
2282
+ auth_settings = ['ApiKey'] # noqa: E501
2283
+
2284
+ return self.api_client.call_api(
2285
+ '/{container_name}/{container_id}/{subcontainer_name}/analyses', 'GET',
2286
+ path_params,
2287
+ query_params,
2288
+ header_params,
2289
+ body=body_params,
2290
+ post_params=form_params,
2291
+ files=local_var_files,
2292
+ response_type='list[AnalysisListOutput]', # noqa: E501
2293
+ auth_settings=auth_settings,
2294
+ async_=params.get('async_'),
2295
+ _return_http_data_only=params.get('_return_http_data_only'),
2296
+ _preload_content=params.get('_preload_content', True),
2297
+ _request_timeout=params.get('_request_timeout'),
2298
+ _request_out=params.get('_request_out'),
2299
+ collection_formats=collection_formats)
2300
+
2301
+ def get_analysis(self, analysis_id, **kwargs): # noqa: E501
2302
+ """Get an analysis.
2303
+
2304
+ Get an analysis by its id
2305
+ This method makes a synchronous HTTP request by default.
2306
+
2307
+ :param str analysis_id: 24-char hex analysis id (required)
2308
+ :param bool inflate_job: expand job info
2309
+ :param bool join_avatars: add name and avatar to notes
2310
+ :param JoinType join:
2311
+ :param bool async_: Perform the request asynchronously
2312
+ :return: union[AnalysisOutput,AnalysisOutputInflatedJob]
2313
+ """
2314
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
2315
+ kwargs['_return_http_data_only'] = True
2316
+
2317
+ if kwargs.get('async_'):
2318
+ return self.get_analysis_with_http_info(analysis_id, **kwargs) # noqa: E501
2319
+ else:
2320
+ (data) = self.get_analysis_with_http_info(analysis_id, **kwargs) # noqa: E501
2321
+ if (
2322
+ data
2323
+ and hasattr(data, 'return_value')
2324
+ and not ignore_simplified_return_value
2325
+ ):
2326
+ return data.return_value()
2327
+ return data
2328
+
2329
+
2330
+ def get_analysis_with_http_info(self, analysis_id, **kwargs): # noqa: E501
2331
+ """Get an analysis.
2332
+
2333
+ Get an analysis by its id
2334
+ This method makes a synchronous HTTP request by default.
2335
+
2336
+ :param str analysis_id: 24-char hex analysis id (required)
2337
+ :param bool inflate_job: expand job info
2338
+ :param bool join_avatars: add name and avatar to notes
2339
+ :param JoinType join:
2340
+ :param bool async_: Perform the request asynchronously
2341
+ :return: union[AnalysisOutput,AnalysisOutputInflatedJob]
2342
+ """
2343
+
2344
+ all_params = ['analysis_id','inflate_job','join_avatars','join',] # noqa: E501
2345
+ all_params.append('async_')
2346
+ all_params.append('_return_http_data_only')
2347
+ all_params.append('_preload_content')
2348
+ all_params.append('_request_timeout')
2349
+ all_params.append('_request_out')
2350
+
2351
+ params = locals()
2352
+ for key, val in six.iteritems(params['kwargs']):
2353
+ if key not in all_params:
2354
+ raise TypeError(
2355
+ "Got an unexpected keyword argument '%s'"
2356
+ " to method get_analysis" % key
2357
+ )
2358
+ params[key] = val
2359
+ del params['kwargs']
2360
+ # verify the required parameter 'analysis_id' is set
2361
+ if ('analysis_id' not in params or
2362
+ params['analysis_id'] is None):
2363
+ raise ValueError("Missing the required parameter `analysis_id` when calling `get_analysis`") # noqa: E501
2364
+
2365
+ collection_formats = {}
2366
+
2367
+ path_params = {}
2368
+ if 'analysis_id' in params:
2369
+ path_params['analysis_id'] = params['analysis_id'] # noqa: E501
2370
+
2371
+ query_params = []
2372
+ if 'inflate_job' in params:
2373
+ query_params.append(('inflate_job', params['inflate_job'])) # noqa: E501
2374
+ else:
2375
+ query_params.append(('inflate_job', 'true'))
2376
+ if 'join_avatars' in params:
2377
+ query_params.append(('join_avatars', params['join_avatars'])) # noqa: E501
2378
+ if 'join' in params:
2379
+ query_params.append(('join', params['join'])) # noqa: E501
2380
+
2381
+ header_params = {}
2382
+
2383
+ form_params = []
2384
+ local_var_files = {}
2385
+
2386
+ body_params = None
2387
+ # HTTP header `Accept`
2388
+ header_params['Accept'] = self.api_client.select_header_accept(
2389
+ ['application/json']) # noqa: E501
2390
+
2391
+ # Authentication setting
2392
+ auth_settings = ['ApiKey'] # noqa: E501
2393
+
2394
+ return self.api_client.call_api(
2395
+ '/analyses/{analysis_id}', 'GET',
2396
+ path_params,
2397
+ query_params,
2398
+ header_params,
2399
+ body=body_params,
2400
+ post_params=form_params,
2401
+ files=local_var_files,
2402
+ response_type='union[AnalysisOutput,AnalysisOutputInflatedJob]', # noqa: E501
2403
+ auth_settings=auth_settings,
2404
+ async_=params.get('async_'),
2405
+ _return_http_data_only=params.get('_return_http_data_only'),
2406
+ _preload_content=params.get('_preload_content', True),
2407
+ _request_timeout=params.get('_request_timeout'),
2408
+ _request_out=params.get('_request_out'),
2409
+ collection_formats=collection_formats)
2410
+
2411
+ def get_analysis_file_info(self, container_id, filename, **kwargs): # noqa: E501
2412
+ """Get metadata for an input file of an analysis.
2413
+
2414
+ Get metadata for an input file of an analysis.
2415
+ This method makes a synchronous HTTP request by default.
2416
+
2417
+ :param str container_id: Container Id (required)
2418
+ :param str filename: (required)
2419
+ :param bool async_: Perform the request asynchronously
2420
+ :return: FileOutput
2421
+ """
2422
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
2423
+ kwargs['_return_http_data_only'] = True
2424
+
2425
+ if kwargs.get('async_'):
2426
+ return self.get_analysis_file_info_with_http_info(container_id, filename, **kwargs) # noqa: E501
2427
+ else:
2428
+ (data) = self.get_analysis_file_info_with_http_info(container_id, filename, **kwargs) # noqa: E501
2429
+ if (
2430
+ data
2431
+ and hasattr(data, 'return_value')
2432
+ and not ignore_simplified_return_value
2433
+ ):
2434
+ return data.return_value()
2435
+ return data
2436
+
2437
+
2438
+ def get_analysis_file_info_with_http_info(self, container_id, filename, **kwargs): # noqa: E501
2439
+ """Get metadata for an input file of an analysis.
2440
+
2441
+ Get metadata for an input file of an analysis.
2442
+ This method makes a synchronous HTTP request by default.
2443
+
2444
+ :param str container_id: Container Id (required)
2445
+ :param str filename: (required)
2446
+ :param bool async_: Perform the request asynchronously
2447
+ :return: FileOutput
2448
+ """
2449
+
2450
+ all_params = ['container_id','filename',] # noqa: E501
2451
+ all_params.append('async_')
2452
+ all_params.append('_return_http_data_only')
2453
+ all_params.append('_preload_content')
2454
+ all_params.append('_request_timeout')
2455
+ all_params.append('_request_out')
2456
+
2457
+ params = locals()
2458
+ for key, val in six.iteritems(params['kwargs']):
2459
+ if key not in all_params:
2460
+ raise TypeError(
2461
+ "Got an unexpected keyword argument '%s'"
2462
+ " to method get_analysis_file_info" % key
2463
+ )
2464
+ params[key] = val
2465
+ del params['kwargs']
2466
+ # verify the required parameter 'container_id' is set
2467
+ if ('container_id' not in params or
2468
+ params['container_id'] is None):
2469
+ raise ValueError("Missing the required parameter `container_id` when calling `get_analysis_file_info`") # noqa: E501
2470
+ # verify the required parameter 'filename' is set
2471
+ if ('filename' not in params or
2472
+ params['filename'] is None):
2473
+ raise ValueError("Missing the required parameter `filename` when calling `get_analysis_file_info`") # noqa: E501
2474
+
2475
+ collection_formats = {}
2476
+
2477
+ path_params = {}
2478
+ if 'container_id' in params:
2479
+ path_params['container_id'] = params['container_id'] # noqa: E501
2480
+ if 'filename' in params:
2481
+ path_params['filename'] = params['filename'] # noqa: E501
2482
+
2483
+ query_params = []
2484
+
2485
+ header_params = {}
2486
+
2487
+ form_params = []
2488
+ local_var_files = {}
2489
+
2490
+ body_params = None
2491
+ # HTTP header `Accept`
2492
+ header_params['Accept'] = self.api_client.select_header_accept(
2493
+ ['application/json']) # noqa: E501
2494
+
2495
+ # Authentication setting
2496
+ auth_settings = ['ApiKey'] # noqa: E501
2497
+
2498
+ return self.api_client.call_api(
2499
+ '/analyses/{container_id}/inputs/{filename}/info', 'GET',
2500
+ path_params,
2501
+ query_params,
2502
+ header_params,
2503
+ body=body_params,
2504
+ post_params=form_params,
2505
+ files=local_var_files,
2506
+ response_type='FileOutput', # noqa: E501
2507
+ auth_settings=auth_settings,
2508
+ async_=params.get('async_'),
2509
+ _return_http_data_only=params.get('_return_http_data_only'),
2510
+ _preload_content=params.get('_preload_content', True),
2511
+ _request_timeout=params.get('_request_timeout'),
2512
+ _request_out=params.get('_request_out'),
2513
+ collection_formats=collection_formats)
2514
+
2515
+ def get_analysis_input_files(self, container_id, filename, **kwargs): # noqa: E501
2516
+ """Get metadata for input file(s) for an analysis.
2517
+
2518
+ Get metadata for input file(s) for an analysis. There may be more than one since input filenames are not guaranteed to be unique.
2519
+ This method makes a synchronous HTTP request by default.
2520
+
2521
+ :param str container_id: Container Id (required)
2522
+ :param str filename: (required)
2523
+ :param bool async_: Perform the request asynchronously
2524
+ :return: list[FileOutput]
1562
2525
  """
1563
2526
  ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
1564
2527
  kwargs['_return_http_data_only'] = True
1565
2528
 
1566
2529
  if kwargs.get('async_'):
1567
- return self.get_all_analyses_with_http_info(**kwargs) # noqa: E501
2530
+ return self.get_analysis_input_files_with_http_info(container_id, filename, **kwargs) # noqa: E501
1568
2531
  else:
1569
- (data) = self.get_all_analyses_with_http_info(**kwargs) # noqa: E501
2532
+ (data) = self.get_analysis_input_files_with_http_info(container_id, filename, **kwargs) # noqa: E501
1570
2533
  if (
1571
2534
  data
1572
2535
  and hasattr(data, 'return_value')
@@ -1576,26 +2539,19 @@ class AnalysesApi(object):
1576
2539
  return data
1577
2540
 
1578
2541
 
1579
- def get_all_analyses_with_http_info(self, **kwargs): # noqa: E501
1580
- """Find all analyses
2542
+ def get_analysis_input_files_with_http_info(self, container_id, filename, **kwargs): # noqa: E501
2543
+ """Get metadata for input file(s) for an analysis.
1581
2544
 
1582
- Returns a page of analyses Args: filter (t.Optional[str]): The filters to apply sort (t.List[Tuple[str,int]): Sorting, as a list of (str, int) tuples limit (t.Optional[int]): The maximum number of entries to return skip (t.Optional[int]): The number of entries to skip page (t.Optional[int]): Page number after_id (t.Optional[str]): Id to return results after Returns: Page: if a above argument is not None
2545
+ Get metadata for input file(s) for an analysis. There may be more than one since input filenames are not guaranteed to be unique.
1583
2546
  This method makes a synchronous HTTP request by default.
1584
2547
 
1585
- :param bool inflate_job: Return job as an object instead of an id
1586
- :param bool include_all_info: Include all info in returned objects
1587
- :param str filter: The filter to apply. (e.g. label=my-label,created>2018-09-22)
1588
- :param str sort: The sort fields and order. (e.g. label:asc,created:desc)
1589
- :param int limit: The maximum number of entries to return.
1590
- :param int skip: The number of entries to skip.
1591
- :param int page: The page number (i.e. skip limit*page entries)
1592
- :param str after_id: Paginate after the given id. (Cannot be used with sort, page or skip)
1593
- :param list[str] x_accept_feature:
2548
+ :param str container_id: Container Id (required)
2549
+ :param str filename: (required)
1594
2550
  :param bool async_: Perform the request asynchronously
1595
- :return: union[Page,list[union[AnalysisListOutput,AnalysisListOutputInflatedJob]]]
2551
+ :return: list[FileOutput]
1596
2552
  """
1597
2553
 
1598
- all_params = ['inflate_job','include_all_info','filter','sort','limit','skip','page','after_id','x_accept_feature',] # noqa: E501
2554
+ all_params = ['container_id','filename',] # noqa: E501
1599
2555
  all_params.append('async_')
1600
2556
  all_params.append('_return_http_data_only')
1601
2557
  all_params.append('_preload_content')
@@ -1607,37 +2563,30 @@ class AnalysesApi(object):
1607
2563
  if key not in all_params:
1608
2564
  raise TypeError(
1609
2565
  "Got an unexpected keyword argument '%s'"
1610
- " to method get_all_analyses" % key
2566
+ " to method get_analysis_input_files" % key
1611
2567
  )
1612
2568
  params[key] = val
1613
2569
  del params['kwargs']
2570
+ # verify the required parameter 'container_id' is set
2571
+ if ('container_id' not in params or
2572
+ params['container_id'] is None):
2573
+ raise ValueError("Missing the required parameter `container_id` when calling `get_analysis_input_files`") # noqa: E501
2574
+ # verify the required parameter 'filename' is set
2575
+ if ('filename' not in params or
2576
+ params['filename'] is None):
2577
+ raise ValueError("Missing the required parameter `filename` when calling `get_analysis_input_files`") # noqa: E501
1614
2578
 
1615
2579
  collection_formats = {}
1616
2580
 
1617
2581
  path_params = {}
2582
+ if 'container_id' in params:
2583
+ path_params['container_id'] = params['container_id'] # noqa: E501
2584
+ if 'filename' in params:
2585
+ path_params['filename'] = params['filename'] # noqa: E501
1618
2586
 
1619
2587
  query_params = []
1620
- if 'inflate_job' in params:
1621
- query_params.append(('inflate_job', params['inflate_job'])) # noqa: E501
1622
- if 'include_all_info' in params:
1623
- query_params.append(('include_all_info', params['include_all_info'])) # noqa: E501
1624
- if 'filter' in params:
1625
- query_params.append(('filter', params['filter'])) # noqa: E501
1626
- if 'sort' in params:
1627
- query_params.append(('sort', params['sort'])) # noqa: E501
1628
- if 'limit' in params:
1629
- query_params.append(('limit', params['limit'])) # noqa: E501
1630
- if 'skip' in params:
1631
- query_params.append(('skip', params['skip'])) # noqa: E501
1632
- if 'page' in params:
1633
- query_params.append(('page', params['page'])) # noqa: E501
1634
- if 'after_id' in params:
1635
- query_params.append(('after_id', params['after_id'])) # noqa: E501
1636
2588
 
1637
2589
  header_params = {}
1638
- if 'x_accept_feature' in params:
1639
- header_params['x-accept-feature'] = params['x_accept_feature'] # noqa: E501
1640
- collection_formats['x-accept-feature'] = '' # noqa: E501
1641
2590
 
1642
2591
  form_params = []
1643
2592
  local_var_files = {}
@@ -1651,14 +2600,14 @@ class AnalysesApi(object):
1651
2600
  auth_settings = ['ApiKey'] # noqa: E501
1652
2601
 
1653
2602
  return self.api_client.call_api(
1654
- '/analyses', 'GET',
2603
+ '/analyses/{container_id}/input_files/{filename}/info', 'GET',
1655
2604
  path_params,
1656
2605
  query_params,
1657
2606
  header_params,
1658
2607
  body=body_params,
1659
2608
  post_params=form_params,
1660
2609
  files=local_var_files,
1661
- response_type='union[Page,list[union[AnalysisListOutput,AnalysisListOutputInflatedJob]]]', # noqa: E501
2610
+ response_type='list[FileOutput]', # noqa: E501
1662
2611
  auth_settings=auth_settings,
1663
2612
  async_=params.get('async_'),
1664
2613
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -1667,25 +2616,24 @@ class AnalysesApi(object):
1667
2616
  _request_out=params.get('_request_out'),
1668
2617
  collection_formats=collection_formats)
1669
2618
 
1670
- def get_analyses(self, container_name, container_id, subcontainer_name, **kwargs): # noqa: E501
1671
- """Get nested analyses for a container
2619
+ def get_analysis_note(self, container_id, note_id, **kwargs): # noqa: E501
2620
+ """Get a note of a(n) analysis.
1672
2621
 
1673
- Returns analyses that belong to containers of the specified type that belong to ContainerId. Ex: `projects/{ProjectId}/acquisitions/analyses` will return any analyses that have an acquisition that is under that project as a parent. The `all` keyword is also supported, for example: projects/{ProjectId}/all/analyses will return any analyses that have any session or acquisition or the project itself as a parent.
2622
+ Get a note of a(n) analysis
1674
2623
  This method makes a synchronous HTTP request by default.
1675
2624
 
1676
- :param str container_name: The parent container type (required)
1677
- :param str container_id: The parent container id (required)
1678
- :param str subcontainer_name: The sub container type (required)
2625
+ :param str container_id: (required)
2626
+ :param str note_id: (required)
1679
2627
  :param bool async_: Perform the request asynchronously
1680
- :return: list[AnalysisListOutput]
2628
+ :return: Note
1681
2629
  """
1682
2630
  ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
1683
2631
  kwargs['_return_http_data_only'] = True
1684
2632
 
1685
2633
  if kwargs.get('async_'):
1686
- return self.get_analyses_with_http_info(container_name, container_id, subcontainer_name, **kwargs) # noqa: E501
2634
+ return self.get_analysis_note_with_http_info(container_id, note_id, **kwargs) # noqa: E501
1687
2635
  else:
1688
- (data) = self.get_analyses_with_http_info(container_name, container_id, subcontainer_name, **kwargs) # noqa: E501
2636
+ (data) = self.get_analysis_note_with_http_info(container_id, note_id, **kwargs) # noqa: E501
1689
2637
  if (
1690
2638
  data
1691
2639
  and hasattr(data, 'return_value')
@@ -1695,20 +2643,19 @@ class AnalysesApi(object):
1695
2643
  return data
1696
2644
 
1697
2645
 
1698
- def get_analyses_with_http_info(self, container_name, container_id, subcontainer_name, **kwargs): # noqa: E501
1699
- """Get nested analyses for a container
2646
+ def get_analysis_note_with_http_info(self, container_id, note_id, **kwargs): # noqa: E501
2647
+ """Get a note of a(n) analysis.
1700
2648
 
1701
- Returns analyses that belong to containers of the specified type that belong to ContainerId. Ex: `projects/{ProjectId}/acquisitions/analyses` will return any analyses that have an acquisition that is under that project as a parent. The `all` keyword is also supported, for example: projects/{ProjectId}/all/analyses will return any analyses that have any session or acquisition or the project itself as a parent.
2649
+ Get a note of a(n) analysis
1702
2650
  This method makes a synchronous HTTP request by default.
1703
2651
 
1704
- :param str container_name: The parent container type (required)
1705
- :param str container_id: The parent container id (required)
1706
- :param str subcontainer_name: The sub container type (required)
2652
+ :param str container_id: (required)
2653
+ :param str note_id: (required)
1707
2654
  :param bool async_: Perform the request asynchronously
1708
- :return: list[AnalysisListOutput]
2655
+ :return: Note
1709
2656
  """
1710
2657
 
1711
- all_params = ['container_name','container_id','subcontainer_name',] # noqa: E501
2658
+ all_params = ['container_id','note_id',] # noqa: E501
1712
2659
  all_params.append('async_')
1713
2660
  all_params.append('_return_http_data_only')
1714
2661
  all_params.append('_preload_content')
@@ -1720,32 +2667,26 @@ class AnalysesApi(object):
1720
2667
  if key not in all_params:
1721
2668
  raise TypeError(
1722
2669
  "Got an unexpected keyword argument '%s'"
1723
- " to method get_analyses" % key
2670
+ " to method get_analysis_note" % key
1724
2671
  )
1725
2672
  params[key] = val
1726
2673
  del params['kwargs']
1727
- # verify the required parameter 'container_name' is set
1728
- if ('container_name' not in params or
1729
- params['container_name'] is None):
1730
- raise ValueError("Missing the required parameter `container_name` when calling `get_analyses`") # noqa: E501
1731
2674
  # verify the required parameter 'container_id' is set
1732
2675
  if ('container_id' not in params or
1733
2676
  params['container_id'] is None):
1734
- raise ValueError("Missing the required parameter `container_id` when calling `get_analyses`") # noqa: E501
1735
- # verify the required parameter 'subcontainer_name' is set
1736
- if ('subcontainer_name' not in params or
1737
- params['subcontainer_name'] is None):
1738
- raise ValueError("Missing the required parameter `subcontainer_name` when calling `get_analyses`") # noqa: E501
2677
+ raise ValueError("Missing the required parameter `container_id` when calling `get_analysis_note`") # noqa: E501
2678
+ # verify the required parameter 'note_id' is set
2679
+ if ('note_id' not in params or
2680
+ params['note_id'] is None):
2681
+ raise ValueError("Missing the required parameter `note_id` when calling `get_analysis_note`") # noqa: E501
1739
2682
 
1740
2683
  collection_formats = {}
1741
2684
 
1742
2685
  path_params = {}
1743
- if 'container_name' in params:
1744
- path_params['container_name'] = params['container_name'] # noqa: E501
1745
2686
  if 'container_id' in params:
1746
2687
  path_params['container_id'] = params['container_id'] # noqa: E501
1747
- if 'subcontainer_name' in params:
1748
- path_params['subcontainer_name'] = params['subcontainer_name'] # noqa: E501
2688
+ if 'note_id' in params:
2689
+ path_params['note_id'] = params['note_id'] # noqa: E501
1749
2690
 
1750
2691
  query_params = []
1751
2692
 
@@ -1763,14 +2704,14 @@ class AnalysesApi(object):
1763
2704
  auth_settings = ['ApiKey'] # noqa: E501
1764
2705
 
1765
2706
  return self.api_client.call_api(
1766
- '/{container_name}/{container_id}/{subcontainer_name}/analyses', 'GET',
2707
+ '/analyses/{container_id}/notes/{note_id}', 'GET',
1767
2708
  path_params,
1768
2709
  query_params,
1769
2710
  header_params,
1770
2711
  body=body_params,
1771
2712
  post_params=form_params,
1772
2713
  files=local_var_files,
1773
- response_type='list[AnalysisListOutput]', # noqa: E501
2714
+ response_type='Note', # noqa: E501
1774
2715
  auth_settings=auth_settings,
1775
2716
  async_=params.get('async_'),
1776
2717
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -1779,26 +2720,25 @@ class AnalysesApi(object):
1779
2720
  _request_out=params.get('_request_out'),
1780
2721
  collection_formats=collection_formats)
1781
2722
 
1782
- def get_analysis(self, analysis_id, **kwargs): # noqa: E501
1783
- """Get an analysis.
2723
+ def get_analysis_output_file(self, cid, filename, **kwargs): # noqa: E501
2724
+ """Get metadata for an output file of an analysis.
1784
2725
 
1785
- Get an analysis by its id
2726
+ Get metadata for an output file of an analysis.
1786
2727
  This method makes a synchronous HTTP request by default.
1787
2728
 
1788
- :param str analysis_id: 24-char hex analysis id (required)
1789
- :param bool inflate_job: expand job info
1790
- :param bool join_avatars: add name and avatar to notes
1791
- :param JoinType join:
2729
+ :param str cid: Container Id (required)
2730
+ :param str filename: (required)
2731
+ :param FileContainerType ctype:
1792
2732
  :param bool async_: Perform the request asynchronously
1793
- :return: union[AnalysisOutput,AnalysisOutputInflatedJob]
2733
+ :return: FileOutput
1794
2734
  """
1795
2735
  ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
1796
2736
  kwargs['_return_http_data_only'] = True
1797
2737
 
1798
2738
  if kwargs.get('async_'):
1799
- return self.get_analysis_with_http_info(analysis_id, **kwargs) # noqa: E501
2739
+ return self.get_analysis_output_file_with_http_info(cid, filename, **kwargs) # noqa: E501
1800
2740
  else:
1801
- (data) = self.get_analysis_with_http_info(analysis_id, **kwargs) # noqa: E501
2741
+ (data) = self.get_analysis_output_file_with_http_info(cid, filename, **kwargs) # noqa: E501
1802
2742
  if (
1803
2743
  data
1804
2744
  and hasattr(data, 'return_value')
@@ -1808,21 +2748,126 @@ class AnalysesApi(object):
1808
2748
  return data
1809
2749
 
1810
2750
 
1811
- def get_analysis_with_http_info(self, analysis_id, **kwargs): # noqa: E501
1812
- """Get an analysis.
2751
+ def get_analysis_output_file_with_http_info(self, cid, filename, **kwargs): # noqa: E501
2752
+ """Get metadata for an output file of an analysis.
2753
+
2754
+ Get metadata for an output file of an analysis.
2755
+ This method makes a synchronous HTTP request by default.
2756
+
2757
+ :param str cid: Container Id (required)
2758
+ :param str filename: (required)
2759
+ :param FileContainerType ctype:
2760
+ :param bool async_: Perform the request asynchronously
2761
+ :return: FileOutput
2762
+ """
2763
+
2764
+ all_params = ['cid','filename','ctype',] # noqa: E501
2765
+ all_params.append('async_')
2766
+ all_params.append('_return_http_data_only')
2767
+ all_params.append('_preload_content')
2768
+ all_params.append('_request_timeout')
2769
+ all_params.append('_request_out')
2770
+
2771
+ params = locals()
2772
+ for key, val in six.iteritems(params['kwargs']):
2773
+ if key not in all_params:
2774
+ raise TypeError(
2775
+ "Got an unexpected keyword argument '%s'"
2776
+ " to method get_analysis_output_file" % key
2777
+ )
2778
+ params[key] = val
2779
+ del params['kwargs']
2780
+ # verify the required parameter 'cid' is set
2781
+ if ('cid' not in params or
2782
+ params['cid'] is None):
2783
+ raise ValueError("Missing the required parameter `cid` when calling `get_analysis_output_file`") # noqa: E501
2784
+ # verify the required parameter 'filename' is set
2785
+ if ('filename' not in params or
2786
+ params['filename'] is None):
2787
+ raise ValueError("Missing the required parameter `filename` when calling `get_analysis_output_file`") # noqa: E501
2788
+
2789
+ collection_formats = {}
2790
+
2791
+ path_params = {}
2792
+ if 'cid' in params:
2793
+ path_params['cid'] = params['cid'] # noqa: E501
2794
+ if 'filename' in params:
2795
+ path_params['filename'] = params['filename'] # noqa: E501
2796
+
2797
+ query_params = []
2798
+ if 'ctype' in params:
2799
+ query_params.append(('ctype', params['ctype'])) # noqa: E501
2800
+
2801
+ header_params = {}
2802
+
2803
+ form_params = []
2804
+ local_var_files = {}
2805
+
2806
+ body_params = None
2807
+ # HTTP header `Accept`
2808
+ header_params['Accept'] = self.api_client.select_header_accept(
2809
+ ['application/json']) # noqa: E501
2810
+
2811
+ # Authentication setting
2812
+ auth_settings = ['ApiKey'] # noqa: E501
2813
+
2814
+ return self.api_client.call_api(
2815
+ '/analyses/{cid}/files/{filename}/info', 'GET',
2816
+ path_params,
2817
+ query_params,
2818
+ header_params,
2819
+ body=body_params,
2820
+ post_params=form_params,
2821
+ files=local_var_files,
2822
+ response_type='FileOutput', # noqa: E501
2823
+ auth_settings=auth_settings,
2824
+ async_=params.get('async_'),
2825
+ _return_http_data_only=params.get('_return_http_data_only'),
2826
+ _preload_content=params.get('_preload_content', True),
2827
+ _request_timeout=params.get('_request_timeout'),
2828
+ _request_out=params.get('_request_out'),
2829
+ collection_formats=collection_formats)
2830
+
2831
+ def get_analysis_tag(self, container_id, value, **kwargs): # noqa: E501
2832
+ """Get the value of a tag, by name.
2833
+
2834
+ Get the value of a tag, by name
2835
+ This method makes a synchronous HTTP request by default.
2836
+
2837
+ :param str container_id: (required)
2838
+ :param str value: The tag to interact with (required)
2839
+ :param bool async_: Perform the request asynchronously
2840
+ :return: str
2841
+ """
2842
+ ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
2843
+ kwargs['_return_http_data_only'] = True
2844
+
2845
+ if kwargs.get('async_'):
2846
+ return self.get_analysis_tag_with_http_info(container_id, value, **kwargs) # noqa: E501
2847
+ else:
2848
+ (data) = self.get_analysis_tag_with_http_info(container_id, value, **kwargs) # noqa: E501
2849
+ if (
2850
+ data
2851
+ and hasattr(data, 'return_value')
2852
+ and not ignore_simplified_return_value
2853
+ ):
2854
+ return data.return_value()
2855
+ return data
2856
+
2857
+
2858
+ def get_analysis_tag_with_http_info(self, container_id, value, **kwargs): # noqa: E501
2859
+ """Get the value of a tag, by name.
1813
2860
 
1814
- Get an analysis by its id
2861
+ Get the value of a tag, by name
1815
2862
  This method makes a synchronous HTTP request by default.
1816
2863
 
1817
- :param str analysis_id: 24-char hex analysis id (required)
1818
- :param bool inflate_job: expand job info
1819
- :param bool join_avatars: add name and avatar to notes
1820
- :param JoinType join:
2864
+ :param str container_id: (required)
2865
+ :param str value: The tag to interact with (required)
1821
2866
  :param bool async_: Perform the request asynchronously
1822
- :return: union[AnalysisOutput,AnalysisOutputInflatedJob]
2867
+ :return: str
1823
2868
  """
1824
2869
 
1825
- all_params = ['analysis_id','inflate_job','join_avatars','join',] # noqa: E501
2870
+ all_params = ['container_id','value',] # noqa: E501
1826
2871
  all_params.append('async_')
1827
2872
  all_params.append('_return_http_data_only')
1828
2873
  all_params.append('_preload_content')
@@ -1834,30 +2879,28 @@ class AnalysesApi(object):
1834
2879
  if key not in all_params:
1835
2880
  raise TypeError(
1836
2881
  "Got an unexpected keyword argument '%s'"
1837
- " to method get_analysis" % key
2882
+ " to method get_analysis_tag" % key
1838
2883
  )
1839
2884
  params[key] = val
1840
2885
  del params['kwargs']
1841
- # verify the required parameter 'analysis_id' is set
1842
- if ('analysis_id' not in params or
1843
- params['analysis_id'] is None):
1844
- raise ValueError("Missing the required parameter `analysis_id` when calling `get_analysis`") # noqa: E501
2886
+ # verify the required parameter 'container_id' is set
2887
+ if ('container_id' not in params or
2888
+ params['container_id'] is None):
2889
+ raise ValueError("Missing the required parameter `container_id` when calling `get_analysis_tag`") # noqa: E501
2890
+ # verify the required parameter 'value' is set
2891
+ if ('value' not in params or
2892
+ params['value'] is None):
2893
+ raise ValueError("Missing the required parameter `value` when calling `get_analysis_tag`") # noqa: E501
1845
2894
 
1846
2895
  collection_formats = {}
1847
2896
 
1848
2897
  path_params = {}
1849
- if 'analysis_id' in params:
1850
- path_params['analysis_id'] = params['analysis_id'] # noqa: E501
2898
+ if 'container_id' in params:
2899
+ path_params['container_id'] = params['container_id'] # noqa: E501
2900
+ if 'value' in params:
2901
+ path_params['value'] = params['value'] # noqa: E501
1851
2902
 
1852
2903
  query_params = []
1853
- if 'inflate_job' in params:
1854
- query_params.append(('inflate_job', params['inflate_job'])) # noqa: E501
1855
- else:
1856
- query_params.append(('inflate_job', 'true'))
1857
- if 'join_avatars' in params:
1858
- query_params.append(('join_avatars', params['join_avatars'])) # noqa: E501
1859
- if 'join' in params:
1860
- query_params.append(('join', params['join'])) # noqa: E501
1861
2904
 
1862
2905
  header_params = {}
1863
2906
 
@@ -1873,14 +2916,14 @@ class AnalysesApi(object):
1873
2916
  auth_settings = ['ApiKey'] # noqa: E501
1874
2917
 
1875
2918
  return self.api_client.call_api(
1876
- '/analyses/{analysis_id}', 'GET',
2919
+ '/analyses/{container_id}/tags/{value}', 'GET',
1877
2920
  path_params,
1878
2921
  query_params,
1879
2922
  header_params,
1880
2923
  body=body_params,
1881
2924
  post_params=form_params,
1882
2925
  files=local_var_files,
1883
- response_type='union[AnalysisOutput,AnalysisOutputInflatedJob]', # noqa: E501
2926
+ response_type='str', # noqa: E501
1884
2927
  auth_settings=auth_settings,
1885
2928
  async_=params.get('async_'),
1886
2929
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -1889,24 +2932,24 @@ class AnalysesApi(object):
1889
2932
  _request_out=params.get('_request_out'),
1890
2933
  collection_formats=collection_formats)
1891
2934
 
1892
- def get_analysis_file_info(self, container_id, filename, **kwargs): # noqa: E501
1893
- """Get info for a particular file.
2935
+ def modify_analysis(self, analysis_id, body, **kwargs): # noqa: E501
2936
+ """Modify an analysis.
1894
2937
 
1895
- Get info for a particular file.
2938
+ Modify an analysis by its id Args: analysis_id: The id of the analysis analysis_modify: The modifications to make auth_session: The auth session
1896
2939
  This method makes a synchronous HTTP request by default.
1897
2940
 
1898
- :param str container_id: Container Id (required)
1899
- :param str filename: (required)
2941
+ :param str analysis_id: 24-char hex analysis id (required)
2942
+ :param AnalysisModifyInput body: new analysis fields (required)
1900
2943
  :param bool async_: Perform the request asynchronously
1901
- :return: FileOutput
2944
+ :return: ModifiedResult
1902
2945
  """
1903
2946
  ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
1904
2947
  kwargs['_return_http_data_only'] = True
1905
2948
 
1906
2949
  if kwargs.get('async_'):
1907
- return self.get_analysis_file_info_with_http_info(container_id, filename, **kwargs) # noqa: E501
2950
+ return self.modify_analysis_with_http_info(analysis_id, body, **kwargs) # noqa: E501
1908
2951
  else:
1909
- (data) = self.get_analysis_file_info_with_http_info(container_id, filename, **kwargs) # noqa: E501
2952
+ (data) = self.modify_analysis_with_http_info(analysis_id, body, **kwargs) # noqa: E501
1910
2953
  if (
1911
2954
  data
1912
2955
  and hasattr(data, 'return_value')
@@ -1916,19 +2959,19 @@ class AnalysesApi(object):
1916
2959
  return data
1917
2960
 
1918
2961
 
1919
- def get_analysis_file_info_with_http_info(self, container_id, filename, **kwargs): # noqa: E501
1920
- """Get info for a particular file.
2962
+ def modify_analysis_with_http_info(self, analysis_id, body, **kwargs): # noqa: E501
2963
+ """Modify an analysis.
1921
2964
 
1922
- Get info for a particular file.
2965
+ Modify an analysis by its id Args: analysis_id: The id of the analysis analysis_modify: The modifications to make auth_session: The auth session
1923
2966
  This method makes a synchronous HTTP request by default.
1924
2967
 
1925
- :param str container_id: Container Id (required)
1926
- :param str filename: (required)
2968
+ :param str analysis_id: 24-char hex analysis id (required)
2969
+ :param AnalysisModifyInput body: new analysis fields (required)
1927
2970
  :param bool async_: Perform the request asynchronously
1928
- :return: FileOutput
2971
+ :return: ModifiedResult
1929
2972
  """
1930
2973
 
1931
- all_params = ['container_id','filename',] # noqa: E501
2974
+ all_params = ['analysis_id','body',] # noqa: E501
1932
2975
  all_params.append('async_')
1933
2976
  all_params.append('_return_http_data_only')
1934
2977
  all_params.append('_preload_content')
@@ -1940,26 +2983,24 @@ class AnalysesApi(object):
1940
2983
  if key not in all_params:
1941
2984
  raise TypeError(
1942
2985
  "Got an unexpected keyword argument '%s'"
1943
- " to method get_analysis_file_info" % key
2986
+ " to method modify_analysis" % key
1944
2987
  )
1945
2988
  params[key] = val
1946
2989
  del params['kwargs']
1947
- # verify the required parameter 'container_id' is set
1948
- if ('container_id' not in params or
1949
- params['container_id'] is None):
1950
- raise ValueError("Missing the required parameter `container_id` when calling `get_analysis_file_info`") # noqa: E501
1951
- # verify the required parameter 'filename' is set
1952
- if ('filename' not in params or
1953
- params['filename'] is None):
1954
- raise ValueError("Missing the required parameter `filename` when calling `get_analysis_file_info`") # noqa: E501
2990
+ # verify the required parameter 'analysis_id' is set
2991
+ if ('analysis_id' not in params or
2992
+ params['analysis_id'] is None):
2993
+ raise ValueError("Missing the required parameter `analysis_id` when calling `modify_analysis`") # noqa: E501
2994
+ # verify the required parameter 'body' is set
2995
+ if ('body' not in params or
2996
+ params['body'] is None):
2997
+ raise ValueError("Missing the required parameter `body` when calling `modify_analysis`") # noqa: E501
1955
2998
 
1956
2999
  collection_formats = {}
1957
3000
 
1958
3001
  path_params = {}
1959
- if 'container_id' in params:
1960
- path_params['container_id'] = params['container_id'] # noqa: E501
1961
- if 'filename' in params:
1962
- path_params['filename'] = params['filename'] # noqa: E501
3002
+ if 'analysis_id' in params:
3003
+ path_params['analysis_id'] = params['analysis_id'] # noqa: E501
1963
3004
 
1964
3005
  query_params = []
1965
3006
 
@@ -1969,22 +3010,35 @@ class AnalysesApi(object):
1969
3010
  local_var_files = {}
1970
3011
 
1971
3012
  body_params = None
3013
+ if 'body' in params:
3014
+ if 'AnalysisModifyInput'.startswith('union'):
3015
+ body_type = type(params['body'])
3016
+ if getattr(body_type, 'positional_to_model', None):
3017
+ body_params = body_type.positional_to_model(params['body'])
3018
+ else:
3019
+ body_params = params['body']
3020
+ else:
3021
+ body_params = flywheel.models.AnalysisModifyInput.positional_to_model(params['body'])
1972
3022
  # HTTP header `Accept`
1973
3023
  header_params['Accept'] = self.api_client.select_header_accept(
1974
3024
  ['application/json']) # noqa: E501
1975
3025
 
3026
+ # HTTP header `Content-Type`
3027
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
3028
+ ['application/json']) # noqa: E501
3029
+
1976
3030
  # Authentication setting
1977
3031
  auth_settings = ['ApiKey'] # noqa: E501
1978
3032
 
1979
3033
  return self.api_client.call_api(
1980
- '/analyses/{container_id}/inputs/{filename}/info', 'GET',
3034
+ '/analyses/{analysis_id}', 'PUT',
1981
3035
  path_params,
1982
3036
  query_params,
1983
3037
  header_params,
1984
3038
  body=body_params,
1985
3039
  post_params=form_params,
1986
3040
  files=local_var_files,
1987
- response_type='FileOutput', # noqa: E501
3041
+ response_type='ModifiedResult', # noqa: E501
1988
3042
  auth_settings=auth_settings,
1989
3043
  async_=params.get('async_'),
1990
3044
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -1993,24 +3047,25 @@ class AnalysesApi(object):
1993
3047
  _request_out=params.get('_request_out'),
1994
3048
  collection_formats=collection_formats)
1995
3049
 
1996
- def get_analysis_note(self, container_id, note_id, **kwargs): # noqa: E501
1997
- """Get a note of a(n) analysis.
3050
+ def modify_analysis_file(self, cid, filename, body, **kwargs): # noqa: E501
3051
+ """Modify a file&#x27;s attributes
1998
3052
 
1999
- Get a note of a(n) analysis
3053
+ Note: If modifying a file's modality, the current classification will be cleared (except for items in the \"Custom\" list)
2000
3054
  This method makes a synchronous HTTP request by default.
2001
3055
 
2002
- :param str container_id: (required)
2003
- :param str note_id: (required)
3056
+ :param str cid: (required)
3057
+ :param str filename: (required)
3058
+ :param FileModifyInput body: (required)
2004
3059
  :param bool async_: Perform the request asynchronously
2005
- :return: Note
3060
+ :return: ModifiedResult
2006
3061
  """
2007
3062
  ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
2008
3063
  kwargs['_return_http_data_only'] = True
2009
3064
 
2010
3065
  if kwargs.get('async_'):
2011
- return self.get_analysis_note_with_http_info(container_id, note_id, **kwargs) # noqa: E501
3066
+ return self.modify_analysis_file_with_http_info(cid, filename, body, **kwargs) # noqa: E501
2012
3067
  else:
2013
- (data) = self.get_analysis_note_with_http_info(container_id, note_id, **kwargs) # noqa: E501
3068
+ (data) = self.modify_analysis_file_with_http_info(cid, filename, body, **kwargs) # noqa: E501
2014
3069
  if (
2015
3070
  data
2016
3071
  and hasattr(data, 'return_value')
@@ -2020,19 +3075,20 @@ class AnalysesApi(object):
2020
3075
  return data
2021
3076
 
2022
3077
 
2023
- def get_analysis_note_with_http_info(self, container_id, note_id, **kwargs): # noqa: E501
2024
- """Get a note of a(n) analysis.
3078
+ def modify_analysis_file_with_http_info(self, cid, filename, body, **kwargs): # noqa: E501
3079
+ """Modify a file&#x27;s attributes
2025
3080
 
2026
- Get a note of a(n) analysis
3081
+ Note: If modifying a file's modality, the current classification will be cleared (except for items in the \"Custom\" list)
2027
3082
  This method makes a synchronous HTTP request by default.
2028
3083
 
2029
- :param str container_id: (required)
2030
- :param str note_id: (required)
3084
+ :param str cid: (required)
3085
+ :param str filename: (required)
3086
+ :param FileModifyInput body: (required)
2031
3087
  :param bool async_: Perform the request asynchronously
2032
- :return: Note
3088
+ :return: ModifiedResult
2033
3089
  """
2034
3090
 
2035
- all_params = ['container_id','note_id',] # noqa: E501
3091
+ all_params = ['cid','filename','body',] # noqa: E501
2036
3092
  all_params.append('async_')
2037
3093
  all_params.append('_return_http_data_only')
2038
3094
  all_params.append('_preload_content')
@@ -2044,26 +3100,30 @@ class AnalysesApi(object):
2044
3100
  if key not in all_params:
2045
3101
  raise TypeError(
2046
3102
  "Got an unexpected keyword argument '%s'"
2047
- " to method get_analysis_note" % key
3103
+ " to method modify_analysis_file" % key
2048
3104
  )
2049
3105
  params[key] = val
2050
3106
  del params['kwargs']
2051
- # verify the required parameter 'container_id' is set
2052
- if ('container_id' not in params or
2053
- params['container_id'] is None):
2054
- raise ValueError("Missing the required parameter `container_id` when calling `get_analysis_note`") # noqa: E501
2055
- # verify the required parameter 'note_id' is set
2056
- if ('note_id' not in params or
2057
- params['note_id'] is None):
2058
- raise ValueError("Missing the required parameter `note_id` when calling `get_analysis_note`") # noqa: E501
3107
+ # verify the required parameter 'cid' is set
3108
+ if ('cid' not in params or
3109
+ params['cid'] is None):
3110
+ raise ValueError("Missing the required parameter `cid` when calling `modify_analysis_file`") # noqa: E501
3111
+ # verify the required parameter 'filename' is set
3112
+ if ('filename' not in params or
3113
+ params['filename'] is None):
3114
+ raise ValueError("Missing the required parameter `filename` when calling `modify_analysis_file`") # noqa: E501
3115
+ # verify the required parameter 'body' is set
3116
+ if ('body' not in params or
3117
+ params['body'] is None):
3118
+ raise ValueError("Missing the required parameter `body` when calling `modify_analysis_file`") # noqa: E501
2059
3119
 
2060
3120
  collection_formats = {}
2061
3121
 
2062
3122
  path_params = {}
2063
- if 'container_id' in params:
2064
- path_params['container_id'] = params['container_id'] # noqa: E501
2065
- if 'note_id' in params:
2066
- path_params['note_id'] = params['note_id'] # noqa: E501
3123
+ if 'cid' in params:
3124
+ path_params['cid'] = params['cid'] # noqa: E501
3125
+ if 'filename' in params:
3126
+ path_params['filename'] = params['filename'] # noqa: E501
2067
3127
 
2068
3128
  query_params = []
2069
3129
 
@@ -2073,22 +3133,35 @@ class AnalysesApi(object):
2073
3133
  local_var_files = {}
2074
3134
 
2075
3135
  body_params = None
3136
+ if 'body' in params:
3137
+ if 'FileModifyInput'.startswith('union'):
3138
+ body_type = type(params['body'])
3139
+ if getattr(body_type, 'positional_to_model', None):
3140
+ body_params = body_type.positional_to_model(params['body'])
3141
+ else:
3142
+ body_params = params['body']
3143
+ else:
3144
+ body_params = flywheel.models.FileModifyInput.positional_to_model(params['body'])
2076
3145
  # HTTP header `Accept`
2077
3146
  header_params['Accept'] = self.api_client.select_header_accept(
2078
3147
  ['application/json']) # noqa: E501
2079
3148
 
3149
+ # HTTP header `Content-Type`
3150
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
3151
+ ['application/json']) # noqa: E501
3152
+
2080
3153
  # Authentication setting
2081
3154
  auth_settings = ['ApiKey'] # noqa: E501
2082
3155
 
2083
3156
  return self.api_client.call_api(
2084
- '/analyses/{container_id}/notes/{note_id}', 'GET',
3157
+ '/analyses/{cid}/files/{filename}', 'PUT',
2085
3158
  path_params,
2086
3159
  query_params,
2087
3160
  header_params,
2088
3161
  body=body_params,
2089
3162
  post_params=form_params,
2090
3163
  files=local_var_files,
2091
- response_type='Note', # noqa: E501
3164
+ response_type='ModifiedResult', # noqa: E501
2092
3165
  auth_settings=auth_settings,
2093
3166
  async_=params.get('async_'),
2094
3167
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -2097,24 +3170,25 @@ class AnalysesApi(object):
2097
3170
  _request_out=params.get('_request_out'),
2098
3171
  collection_formats=collection_formats)
2099
3172
 
2100
- def get_analysis_tag(self, container_id, value, **kwargs): # noqa: E501
2101
- """Get the value of a tag, by name.
3173
+ def modify_analysis_file_classification(self, cid, filename, body, **kwargs): # noqa: E501
3174
+ """Update classification for a particular file.
2102
3175
 
2103
- Get the value of a tag, by name
3176
+ If replacing a file's classification, the modality can optionally be modified as well.
2104
3177
  This method makes a synchronous HTTP request by default.
2105
3178
 
2106
- :param str container_id: (required)
2107
- :param str value: The tag to interact with (required)
3179
+ :param str cid: (required)
3180
+ :param str filename: (required)
3181
+ :param FileClassificationDelta body: (required)
2108
3182
  :param bool async_: Perform the request asynchronously
2109
- :return: str
3183
+ :return: ModifiedResult
2110
3184
  """
2111
3185
  ignore_simplified_return_value = kwargs.pop('_ignore_simplified_return_value', False)
2112
3186
  kwargs['_return_http_data_only'] = True
2113
3187
 
2114
3188
  if kwargs.get('async_'):
2115
- return self.get_analysis_tag_with_http_info(container_id, value, **kwargs) # noqa: E501
3189
+ return self.modify_analysis_file_classification_with_http_info(cid, filename, body, **kwargs) # noqa: E501
2116
3190
  else:
2117
- (data) = self.get_analysis_tag_with_http_info(container_id, value, **kwargs) # noqa: E501
3191
+ (data) = self.modify_analysis_file_classification_with_http_info(cid, filename, body, **kwargs) # noqa: E501
2118
3192
  if (
2119
3193
  data
2120
3194
  and hasattr(data, 'return_value')
@@ -2124,19 +3198,20 @@ class AnalysesApi(object):
2124
3198
  return data
2125
3199
 
2126
3200
 
2127
- def get_analysis_tag_with_http_info(self, container_id, value, **kwargs): # noqa: E501
2128
- """Get the value of a tag, by name.
3201
+ def modify_analysis_file_classification_with_http_info(self, cid, filename, body, **kwargs): # noqa: E501
3202
+ """Update classification for a particular file.
2129
3203
 
2130
- Get the value of a tag, by name
3204
+ If replacing a file's classification, the modality can optionally be modified as well.
2131
3205
  This method makes a synchronous HTTP request by default.
2132
3206
 
2133
- :param str container_id: (required)
2134
- :param str value: The tag to interact with (required)
3207
+ :param str cid: (required)
3208
+ :param str filename: (required)
3209
+ :param FileClassificationDelta body: (required)
2135
3210
  :param bool async_: Perform the request asynchronously
2136
- :return: str
3211
+ :return: ModifiedResult
2137
3212
  """
2138
3213
 
2139
- all_params = ['container_id','value',] # noqa: E501
3214
+ all_params = ['cid','filename','body',] # noqa: E501
2140
3215
  all_params.append('async_')
2141
3216
  all_params.append('_return_http_data_only')
2142
3217
  all_params.append('_preload_content')
@@ -2148,26 +3223,30 @@ class AnalysesApi(object):
2148
3223
  if key not in all_params:
2149
3224
  raise TypeError(
2150
3225
  "Got an unexpected keyword argument '%s'"
2151
- " to method get_analysis_tag" % key
3226
+ " to method modify_analysis_file_classification" % key
2152
3227
  )
2153
3228
  params[key] = val
2154
3229
  del params['kwargs']
2155
- # verify the required parameter 'container_id' is set
2156
- if ('container_id' not in params or
2157
- params['container_id'] is None):
2158
- raise ValueError("Missing the required parameter `container_id` when calling `get_analysis_tag`") # noqa: E501
2159
- # verify the required parameter 'value' is set
2160
- if ('value' not in params or
2161
- params['value'] is None):
2162
- raise ValueError("Missing the required parameter `value` when calling `get_analysis_tag`") # noqa: E501
3230
+ # verify the required parameter 'cid' is set
3231
+ if ('cid' not in params or
3232
+ params['cid'] is None):
3233
+ raise ValueError("Missing the required parameter `cid` when calling `modify_analysis_file_classification`") # noqa: E501
3234
+ # verify the required parameter 'filename' is set
3235
+ if ('filename' not in params or
3236
+ params['filename'] is None):
3237
+ raise ValueError("Missing the required parameter `filename` when calling `modify_analysis_file_classification`") # noqa: E501
3238
+ # verify the required parameter 'body' is set
3239
+ if ('body' not in params or
3240
+ params['body'] is None):
3241
+ raise ValueError("Missing the required parameter `body` when calling `modify_analysis_file_classification`") # noqa: E501
2163
3242
 
2164
3243
  collection_formats = {}
2165
3244
 
2166
3245
  path_params = {}
2167
- if 'container_id' in params:
2168
- path_params['container_id'] = params['container_id'] # noqa: E501
2169
- if 'value' in params:
2170
- path_params['value'] = params['value'] # noqa: E501
3246
+ if 'cid' in params:
3247
+ path_params['cid'] = params['cid'] # noqa: E501
3248
+ if 'filename' in params:
3249
+ path_params['filename'] = params['filename'] # noqa: E501
2171
3250
 
2172
3251
  query_params = []
2173
3252
 
@@ -2177,22 +3256,35 @@ class AnalysesApi(object):
2177
3256
  local_var_files = {}
2178
3257
 
2179
3258
  body_params = None
3259
+ if 'body' in params:
3260
+ if 'FileClassificationDelta'.startswith('union'):
3261
+ body_type = type(params['body'])
3262
+ if getattr(body_type, 'positional_to_model', None):
3263
+ body_params = body_type.positional_to_model(params['body'])
3264
+ else:
3265
+ body_params = params['body']
3266
+ else:
3267
+ body_params = flywheel.models.FileClassificationDelta.positional_to_model(params['body'])
2180
3268
  # HTTP header `Accept`
2181
3269
  header_params['Accept'] = self.api_client.select_header_accept(
2182
3270
  ['application/json']) # noqa: E501
2183
3271
 
3272
+ # HTTP header `Content-Type`
3273
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
3274
+ ['application/json']) # noqa: E501
3275
+
2184
3276
  # Authentication setting
2185
3277
  auth_settings = ['ApiKey'] # noqa: E501
2186
3278
 
2187
3279
  return self.api_client.call_api(
2188
- '/analyses/{container_id}/tags/{value}', 'GET',
3280
+ '/analyses/{cid}/files/{filename}/classification', 'PATCH',
2189
3281
  path_params,
2190
3282
  query_params,
2191
3283
  header_params,
2192
3284
  body=body_params,
2193
3285
  post_params=form_params,
2194
3286
  files=local_var_files,
2195
- response_type='str', # noqa: E501
3287
+ response_type='ModifiedResult', # noqa: E501
2196
3288
  auth_settings=auth_settings,
2197
3289
  async_=params.get('async_'),
2198
3290
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -2201,14 +3293,15 @@ class AnalysesApi(object):
2201
3293
  _request_out=params.get('_request_out'),
2202
3294
  collection_formats=collection_formats)
2203
3295
 
2204
- def modify_analysis(self, analysis_id, body, **kwargs): # noqa: E501
2205
- """Modify an analysis.
3296
+ def modify_analysis_file_info(self, cid, filename, body, **kwargs): # noqa: E501
3297
+ """Update info for a particular file.
2206
3298
 
2207
- Modify an analysis by its id Args: analysis_id: The id of the analysis analysis_modify: The modifications to make auth_session: The auth session
3299
+ Modify and return the file 'info' field
2208
3300
  This method makes a synchronous HTTP request by default.
2209
3301
 
2210
- :param str analysis_id: 24-char hex analysis id (required)
2211
- :param AnalysisModifyInput body: new analysis fields (required)
3302
+ :param str cid: (required)
3303
+ :param str filename: (required)
3304
+ :param Info body: (required)
2212
3305
  :param bool async_: Perform the request asynchronously
2213
3306
  :return: ModifiedResult
2214
3307
  """
@@ -2216,9 +3309,9 @@ class AnalysesApi(object):
2216
3309
  kwargs['_return_http_data_only'] = True
2217
3310
 
2218
3311
  if kwargs.get('async_'):
2219
- return self.modify_analysis_with_http_info(analysis_id, body, **kwargs) # noqa: E501
3312
+ return self.modify_analysis_file_info_with_http_info(cid, filename, body, **kwargs) # noqa: E501
2220
3313
  else:
2221
- (data) = self.modify_analysis_with_http_info(analysis_id, body, **kwargs) # noqa: E501
3314
+ (data) = self.modify_analysis_file_info_with_http_info(cid, filename, body, **kwargs) # noqa: E501
2222
3315
  if (
2223
3316
  data
2224
3317
  and hasattr(data, 'return_value')
@@ -2228,19 +3321,20 @@ class AnalysesApi(object):
2228
3321
  return data
2229
3322
 
2230
3323
 
2231
- def modify_analysis_with_http_info(self, analysis_id, body, **kwargs): # noqa: E501
2232
- """Modify an analysis.
3324
+ def modify_analysis_file_info_with_http_info(self, cid, filename, body, **kwargs): # noqa: E501
3325
+ """Update info for a particular file.
2233
3326
 
2234
- Modify an analysis by its id Args: analysis_id: The id of the analysis analysis_modify: The modifications to make auth_session: The auth session
3327
+ Modify and return the file 'info' field
2235
3328
  This method makes a synchronous HTTP request by default.
2236
3329
 
2237
- :param str analysis_id: 24-char hex analysis id (required)
2238
- :param AnalysisModifyInput body: new analysis fields (required)
3330
+ :param str cid: (required)
3331
+ :param str filename: (required)
3332
+ :param Info body: (required)
2239
3333
  :param bool async_: Perform the request asynchronously
2240
3334
  :return: ModifiedResult
2241
3335
  """
2242
3336
 
2243
- all_params = ['analysis_id','body',] # noqa: E501
3337
+ all_params = ['cid','filename','body',] # noqa: E501
2244
3338
  all_params.append('async_')
2245
3339
  all_params.append('_return_http_data_only')
2246
3340
  all_params.append('_preload_content')
@@ -2252,24 +3346,30 @@ class AnalysesApi(object):
2252
3346
  if key not in all_params:
2253
3347
  raise TypeError(
2254
3348
  "Got an unexpected keyword argument '%s'"
2255
- " to method modify_analysis" % key
3349
+ " to method modify_analysis_file_info" % key
2256
3350
  )
2257
3351
  params[key] = val
2258
3352
  del params['kwargs']
2259
- # verify the required parameter 'analysis_id' is set
2260
- if ('analysis_id' not in params or
2261
- params['analysis_id'] is None):
2262
- raise ValueError("Missing the required parameter `analysis_id` when calling `modify_analysis`") # noqa: E501
3353
+ # verify the required parameter 'cid' is set
3354
+ if ('cid' not in params or
3355
+ params['cid'] is None):
3356
+ raise ValueError("Missing the required parameter `cid` when calling `modify_analysis_file_info`") # noqa: E501
3357
+ # verify the required parameter 'filename' is set
3358
+ if ('filename' not in params or
3359
+ params['filename'] is None):
3360
+ raise ValueError("Missing the required parameter `filename` when calling `modify_analysis_file_info`") # noqa: E501
2263
3361
  # verify the required parameter 'body' is set
2264
3362
  if ('body' not in params or
2265
3363
  params['body'] is None):
2266
- raise ValueError("Missing the required parameter `body` when calling `modify_analysis`") # noqa: E501
3364
+ raise ValueError("Missing the required parameter `body` when calling `modify_analysis_file_info`") # noqa: E501
2267
3365
 
2268
3366
  collection_formats = {}
2269
3367
 
2270
3368
  path_params = {}
2271
- if 'analysis_id' in params:
2272
- path_params['analysis_id'] = params['analysis_id'] # noqa: E501
3369
+ if 'cid' in params:
3370
+ path_params['cid'] = params['cid'] # noqa: E501
3371
+ if 'filename' in params:
3372
+ path_params['filename'] = params['filename'] # noqa: E501
2273
3373
 
2274
3374
  query_params = []
2275
3375
 
@@ -2280,14 +3380,14 @@ class AnalysesApi(object):
2280
3380
 
2281
3381
  body_params = None
2282
3382
  if 'body' in params:
2283
- if 'AnalysisModifyInput'.startswith('union'):
3383
+ if 'Info'.startswith('union'):
2284
3384
  body_type = type(params['body'])
2285
3385
  if getattr(body_type, 'positional_to_model', None):
2286
3386
  body_params = body_type.positional_to_model(params['body'])
2287
3387
  else:
2288
3388
  body_params = params['body']
2289
3389
  else:
2290
- body_params = flywheel.models.AnalysisModifyInput.positional_to_model(params['body'])
3390
+ body_params = flywheel.models.Info.positional_to_model(params['body'])
2291
3391
  # HTTP header `Accept`
2292
3392
  header_params['Accept'] = self.api_client.select_header_accept(
2293
3393
  ['application/json']) # noqa: E501
@@ -2300,7 +3400,7 @@ class AnalysesApi(object):
2300
3400
  auth_settings = ['ApiKey'] # noqa: E501
2301
3401
 
2302
3402
  return self.api_client.call_api(
2303
- '/analyses/{analysis_id}', 'PUT',
3403
+ '/analyses/{cid}/files/{filename}/info', 'PATCH',
2304
3404
  path_params,
2305
3405
  query_params,
2306
3406
  header_params,