Py4HEAppE 1.0.0__tar.gz → 2.0.0__tar.gz

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 (270) hide show
  1. py4heappe-2.0.0/.gitlab/stages/.generation.yml +25 -0
  2. {py4heappe-1.0.0 → py4heappe-2.0.0}/.gitlab-ci.yml +2 -0
  3. {py4heappe-1.0.0 → py4heappe-2.0.0}/CHANGELOG.md +6 -1
  4. {py4heappe-1.0.0/src/Py4HEAppE.egg-info → py4heappe-2.0.0}/PKG-INFO +2 -2
  5. {py4heappe-1.0.0 → py4heappe-2.0.0}/README.md +1 -1
  6. py4heappe-2.0.0/Tools/APIWrapperGen/README.md +10 -0
  7. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/README.mustache +129 -0
  8. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/__init__api.mustache +7 -0
  9. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/__init__model.mustache +10 -0
  10. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/__init__package.mustache +17 -0
  11. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/__init__test.mustache +1 -0
  12. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/api.mustache +214 -0
  13. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/api_client.mustache +645 -0
  14. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/api_doc.mustache +85 -0
  15. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/api_test.mustache +37 -0
  16. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/asyncio/rest.mustache +260 -0
  17. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/configuration.mustache +271 -0
  18. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/git_push.sh.mustache +52 -0
  19. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/gitignore.mustache +64 -0
  20. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/model.mustache +236 -0
  21. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/model_doc.mustache +11 -0
  22. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/model_test.mustache +35 -0
  23. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/partial_header.mustache +13 -0
  24. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/requirements.mustache +5 -0
  25. py4heappe-1.0.0/src/py4heappe/core/rest.py → py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/rest.mustache +12 -9
  26. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/setup.mustache +49 -0
  27. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/test-requirements.mustache +11 -0
  28. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/tornado/rest.mustache +255 -0
  29. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/tox.mustache +20 -0
  30. py4heappe-2.0.0/Tools/APIWrapperGen/Templates/python/travis.mustache +14 -0
  31. py4heappe-2.0.0/Tools/APIWrapperGen/config.json +4 -0
  32. py4heappe-2.0.0/Tools/APIWrapperGen/swagger.json +11690 -0
  33. {py4heappe-1.0.0 → py4heappe-2.0.0}/docs/examples/example.py +15 -19
  34. {py4heappe-1.0.0 → py4heappe-2.0.0}/pyproject.toml +1 -1
  35. {py4heappe-1.0.0 → py4heappe-2.0.0/src/Py4HEAppE.egg-info}/PKG-INFO +2 -2
  36. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/Py4HEAppE.egg-info/SOURCES.txt +80 -36
  37. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/cli/command_template.py +45 -11
  38. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/cli/configuration.py +1 -1
  39. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/cli/information.py +27 -8
  40. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/cli/report.py +23 -10
  41. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/__init__.py +57 -28
  42. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/api/cluster_information_api.py +40 -10
  43. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/api/data_transfer_api.py +12 -11
  44. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/api/file_transfer_api.py +12 -11
  45. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/api/job_management_api.py +28 -23
  46. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/api/job_reporting_api.py +43 -27
  47. py4heappe-2.0.0/src/py4heappe/core/api/management_api.py +6824 -0
  48. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/api/user_and_limitation_management_api.py +97 -7
  49. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/api_client.py +24 -17
  50. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/configuration.py +25 -21
  51. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/__init__.py +56 -28
  52. py4heappe-2.0.0/src/py4heappe/core/models/accounting_ext.py +265 -0
  53. py4heappe-2.0.0/src/py4heappe/core/models/accounting_state_ext.py +263 -0
  54. py4heappe-1.0.0/src/py4heappe/core/models/file_transfer_cipher_type.py → py4heappe-2.0.0/src/py4heappe/core/models/accounting_state_type_ext.py +23 -13
  55. py4heappe-2.0.0/src/py4heappe/core/models/adaptor_user_ext.py +263 -0
  56. py4heappe-1.0.0/src/py4heappe/core/models/user_group_report_ext.py → py4heappe-2.0.0/src/py4heappe/core/models/adaptor_user_group_ext.py +72 -77
  57. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/adaptor_user_role_ext.py +37 -8
  58. py4heappe-1.0.0/src/py4heappe/core/models/adaptor_user_type.py → py4heappe-2.0.0/src/py4heappe/core/models/adaptor_user_type_ext.py +21 -10
  59. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/authenticate_lexis_token_model.py +19 -6
  60. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/authenticate_user_digital_signature_model.py +19 -6
  61. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/authenticate_user_open_id_model.py +19 -6
  62. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/authenticate_user_open_id_open_stack_model.py +21 -6
  63. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/authenticate_user_password_model.py +19 -6
  64. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/bad_request_result.py +19 -6
  65. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/cancel_job_model.py +29 -6
  66. py4heappe-2.0.0/src/py4heappe/core/models/cluster_aggregated_report_ext.py +209 -0
  67. py4heappe-2.0.0/src/py4heappe/core/models/cluster_authentication_credentials_auth_type_ext.py +109 -0
  68. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/cluster_connection_protocol.py +17 -6
  69. py4heappe-1.0.0/src/py4heappe/core/models/adaptor_user_role_type.py → py4heappe-2.0.0/src/py4heappe/core/models/cluster_connection_protocol_ext.py +21 -14
  70. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/cluster_detailed_report_ext.py +29 -6
  71. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/cluster_ext.py +27 -6
  72. py4heappe-2.0.0/src/py4heappe/core/models/cluster_extended_report_ext.py +241 -0
  73. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/cluster_init_report_ext.py +23 -6
  74. py4heappe-1.0.0/src/py4heappe/core/models/user_group_detailed_report_ext.py → py4heappe-2.0.0/src/py4heappe/core/models/cluster_node_extended_type_report_ext.py +87 -90
  75. py4heappe-2.0.0/src/py4heappe/core/models/cluster_node_type_aggregated_report_ext.py +209 -0
  76. py4heappe-2.0.0/src/py4heappe/core/models/cluster_node_type_aggregation_accounting_ext.py +153 -0
  77. py4heappe-2.0.0/src/py4heappe/core/models/cluster_node_type_aggregation_ext.py +265 -0
  78. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/cluster_node_type_detailed_report_ext.py +31 -6
  79. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/cluster_node_type_ext.py +173 -6
  80. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/cluster_node_type_for_task_ext.py +25 -6
  81. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/cluster_node_type_report_ext.py +43 -48
  82. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/cluster_node_type_resource_usage_ext.py +33 -6
  83. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/cluster_node_usage_ext.py +37 -6
  84. py4heappe-2.0.0/src/py4heappe/core/models/cluster_project_ext.py +243 -0
  85. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/cluster_proxy_connection_ext.py +55 -6
  86. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/cluster_report_ext.py +27 -33
  87. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/command_template_ext.py +87 -6
  88. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/command_template_parameter_ext.py +23 -6
  89. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/command_template_parameter_value_ext.py +35 -6
  90. py4heappe-2.0.0/src/py4heappe/core/models/compute_accounting_model.py +215 -0
  91. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/copy_job_data_from_temp_model.py +37 -6
  92. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/copy_job_data_to_temp_model.py +37 -6
  93. py4heappe-2.0.0/src/py4heappe/core/models/create_accounting_model.py +221 -0
  94. py4heappe-2.0.0/src/py4heappe/core/models/create_cluster_model.py +437 -0
  95. py4heappe-2.0.0/src/py4heappe/core/models/create_cluster_node_type_aggregation_accounting_model.py +187 -0
  96. py4heappe-2.0.0/src/py4heappe/core/models/create_cluster_node_type_aggregation_model.py +283 -0
  97. py4heappe-2.0.0/src/py4heappe/core/models/create_cluster_node_type_model.py +469 -0
  98. py4heappe-2.0.0/src/py4heappe/core/models/create_cluster_proxy_connection_model.py +287 -0
  99. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/create_command_inner_template_parameter_model.py +43 -6
  100. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/create_command_template_from_generic_model.py +71 -6
  101. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/create_command_template_model.py +73 -6
  102. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/create_command_template_parameter_model.py +53 -6
  103. py4heappe-2.0.0/src/py4heappe/core/models/create_file_transfer_method_model.py +247 -0
  104. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/create_job_by_project_model.py +27 -6
  105. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/create_project_assignment_to_cluster_model.py +39 -6
  106. py4heappe-2.0.0/src/py4heappe/core/models/create_project_cluster_node_type_aggregation_model.py +215 -0
  107. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/create_project_model.py +65 -6
  108. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/create_secure_shell_key_model.py +31 -6
  109. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/create_secure_shell_key_model_obsolete.py +39 -6
  110. py4heappe-2.0.0/src/py4heappe/core/models/create_sub_project_model.py +283 -0
  111. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/data_transfer_method_ext.py +33 -6
  112. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/delete_job_model.py +57 -8
  113. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/deployment_type_ext.py +17 -6
  114. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/digital_signature_credentials_ext.py +31 -6
  115. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/download_file_from_cluster_model.py +37 -6
  116. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/download_parts_of_job_files_from_cluster_model.py +31 -6
  117. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/end_data_transfer_model.py +27 -6
  118. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/end_file_transfer_model.py +31 -6
  119. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/environment_variable_ext.py +35 -6
  120. py4heappe-1.0.0/src/py4heappe/core/models/cluster.py → py4heappe-2.0.0/src/py4heappe/core/models/extended_cluster_ext.py +160 -211
  121. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/extended_command_template_ext.py +97 -6
  122. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/extended_command_template_parameter_ext.py +27 -6
  123. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/extended_project_info_ext.py +37 -6
  124. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/file_information_ext.py +23 -6
  125. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/file_transfer_cipher_type_ext.py +18 -6
  126. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/file_transfer_key_credentials_ext.py +89 -6
  127. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/file_transfer_method_ext.py +59 -6
  128. py4heappe-2.0.0/src/py4heappe/core/models/file_transfer_method_no_credentials_ext.py +241 -0
  129. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/file_transfer_protocol.py +17 -6
  130. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/file_transfer_protocol_ext.py +17 -6
  131. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/get_command_template_parameters_name_model.py +39 -6
  132. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/get_data_transfer_method_model.py +39 -6
  133. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/get_file_transfer_method_model.py +29 -6
  134. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/http_get_to_job_node_model.py +44 -7
  135. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/http_header_ext.py +35 -6
  136. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/http_post_to_job_node_model.py +46 -7
  137. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/initialize_cluster_script_directory_model.py +31 -6
  138. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/instance_information_ext.py +37 -6
  139. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/job_detailed_report_ext.py +35 -6
  140. py4heappe-2.0.0/src/py4heappe/core/models/job_extended_report_ext.py +207 -0
  141. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/job_file_content_ext.py +27 -6
  142. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/job_report_ext.py +43 -22
  143. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/job_specification_ext.py +99 -6
  144. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/job_state_aggregation_report_ext.py +23 -6
  145. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/job_state_ext.py +18 -6
  146. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/lexis_credentials_ext.py +33 -7
  147. py4heappe-2.0.0/src/py4heappe/core/models/modify_accounting_model.py +249 -0
  148. py4heappe-2.0.0/src/py4heappe/core/models/modify_cluster_model.py +465 -0
  149. py4heappe-2.0.0/src/py4heappe/core/models/modify_cluster_node_type_aggregation_model.py +311 -0
  150. py4heappe-2.0.0/src/py4heappe/core/models/modify_cluster_node_type_model.py +497 -0
  151. py4heappe-2.0.0/src/py4heappe/core/models/modify_cluster_proxy_connection_model.py +315 -0
  152. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/modify_command_template_from_generic_model.py +71 -6
  153. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/modify_command_template_model.py +101 -8
  154. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/modify_command_template_parameter_model.py +53 -6
  155. py4heappe-2.0.0/src/py4heappe/core/models/modify_file_transfer_method_model.py +275 -0
  156. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/modify_project_assignment_to_cluster_model.py +39 -6
  157. py4heappe-2.0.0/src/py4heappe/core/models/modify_project_cluster_node_type_aggregation_model.py +215 -0
  158. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/modify_project_model.py +51 -6
  159. py4heappe-2.0.0/src/py4heappe/core/models/modify_sub_project_model.py +283 -0
  160. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/node_used_cores_and_limitation_ext.py +21 -6
  161. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/open_id_credentials_ext.py +33 -7
  162. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/open_stack_application_credentials_ext.py +23 -6
  163. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/password_credentials_ext.py +35 -6
  164. py4heappe-2.0.0/src/py4heappe/core/models/problem_details.py +227 -0
  165. py4heappe-2.0.0/src/py4heappe/core/models/project_aggregated_report_ext.py +291 -0
  166. py4heappe-2.0.0/src/py4heappe/core/models/project_cluster_node_type_aggregation_ext.py +237 -0
  167. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/project_detailed_report_ext.py +61 -6
  168. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/project_ext.py +87 -6
  169. py4heappe-2.0.0/src/py4heappe/core/models/project_extended_report_ext.py +265 -0
  170. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/project_for_task_ext.py +27 -6
  171. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/project_list_report_ext.py +29 -6
  172. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/project_reference_ext.py +20 -7
  173. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/project_report_ext.py +55 -32
  174. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/project_resource_usage_ext.py +33 -6
  175. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/proxy_type.py +17 -6
  176. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/proxy_type_ext.py +17 -6
  177. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/public_key_ext.py +25 -6
  178. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/regenerate_secure_shell_key_model.py +45 -6
  179. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/regenerate_secure_shell_key_model_obsolete.py +33 -6
  180. py4heappe-2.0.0/src/py4heappe/core/models/remove_accounting_model.py +159 -0
  181. py4heappe-1.0.0/src/py4heappe/core/models/current_info_for_job_model.py → py4heappe-2.0.0/src/py4heappe/core/models/remove_cluster_model.py +51 -28
  182. py4heappe-2.0.0/src/py4heappe/core/models/remove_cluster_node_type_aggregation_accounting_model.py +187 -0
  183. py4heappe-1.0.0/src/py4heappe/core/models/list_changed_files_for_job_model.py → py4heappe-2.0.0/src/py4heappe/core/models/remove_cluster_node_type_aggregation_model.py +51 -28
  184. py4heappe-2.0.0/src/py4heappe/core/models/remove_cluster_node_type_model.py +159 -0
  185. py4heappe-2.0.0/src/py4heappe/core/models/remove_cluster_proxy_connection_model.py +159 -0
  186. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/remove_command_template_model.py +29 -6
  187. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/remove_command_template_parameter_model.py +29 -6
  188. py4heappe-2.0.0/src/py4heappe/core/models/remove_file_transfer_method_model.py +159 -0
  189. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/remove_project_assignment_to_cluster_model.py +31 -6
  190. py4heappe-2.0.0/src/py4heappe/core/models/remove_project_cluster_node_type_aggregation_model.py +187 -0
  191. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/remove_project_model.py +29 -6
  192. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/remove_secure_shell_key_model.py +31 -6
  193. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/remove_secure_shell_key_model_obsolete.py +27 -6
  194. py4heappe-2.0.0/src/py4heappe/core/models/remove_sub_project_model.py +159 -0
  195. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/resource_allocation_type_ext.py +17 -6
  196. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/scheduler_type.py +17 -6
  197. py4heappe-1.0.0/src/py4heappe/core/models/cluster_authentication_credentials_auth_type.py → py4heappe-2.0.0/src/py4heappe/core/models/scheduler_type_ext.py +21 -15
  198. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/ssh_key_user_credentials_model.py +35 -6
  199. py4heappe-2.0.0/src/py4heappe/core/models/sub_project_aggregated_report_ext.py +209 -0
  200. py4heappe-2.0.0/src/py4heappe/core/models/sub_project_ext.py +265 -0
  201. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/submit_job_model.py +29 -6
  202. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/submitted_job_info_ext.py +63 -6
  203. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/submitted_task_info_ext.py +35 -6
  204. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/synchronizable_files_ext.py +17 -6
  205. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/task_detailed_report_ext.py +35 -6
  206. py4heappe-1.0.0/src/py4heappe/core/models/task_report_ext.py → py4heappe-2.0.0/src/py4heappe/core/models/task_extended_report_ext.py +63 -38
  207. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/task_file_offset_ext.py +23 -6
  208. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/task_paralization_parameter_ext.py +25 -6
  209. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/task_priority_ext.py +17 -6
  210. py4heappe-1.0.0/src/py4heappe/core/models/cluster_node_type_requested_group.py → py4heappe-2.0.0/src/py4heappe/core/models/task_report_ext.py +65 -20
  211. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/task_specification_ext.py +102 -8
  212. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/task_state_ext.py +18 -6
  213. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/test_cluster_access_for_account_model_obsolete.py +27 -6
  214. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/unauthorized_result.py +19 -6
  215. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/usage_type_ext.py +17 -6
  216. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/user_group_list_report_ext.py +27 -6
  217. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/models/version_information_ext.py +25 -6
  218. py4heappe-2.0.0/src/py4heappe/core/rest.py +323 -0
  219. py4heappe-1.0.0/src/py4heappe/core/api/management_api.py +0 -2540
  220. py4heappe-1.0.0/src/py4heappe/core/models/adaptor_user.py +0 -398
  221. py4heappe-1.0.0/src/py4heappe/core/models/adaptor_user_group.py +0 -268
  222. py4heappe-1.0.0/src/py4heappe/core/models/adaptor_user_role.py +0 -242
  223. py4heappe-1.0.0/src/py4heappe/core/models/adaptor_user_user_group_role.py +0 -320
  224. py4heappe-1.0.0/src/py4heappe/core/models/allocated_nodes_ips_model.py +0 -136
  225. py4heappe-1.0.0/src/py4heappe/core/models/authentication_credentials.py +0 -110
  226. py4heappe-1.0.0/src/py4heappe/core/models/cluster_authentication_credentials.py +0 -375
  227. py4heappe-1.0.0/src/py4heappe/core/models/cluster_node_type.py +0 -528
  228. py4heappe-1.0.0/src/py4heappe/core/models/cluster_project.py +0 -347
  229. py4heappe-1.0.0/src/py4heappe/core/models/cluster_project_credential.py +0 -294
  230. py4heappe-1.0.0/src/py4heappe/core/models/cluster_proxy_connection.py +0 -243
  231. py4heappe-1.0.0/src/py4heappe/core/models/command_template.py +0 -557
  232. py4heappe-1.0.0/src/py4heappe/core/models/command_template_parameter.py +0 -347
  233. py4heappe-1.0.0/src/py4heappe/core/models/contact.py +0 -269
  234. py4heappe-1.0.0/src/py4heappe/core/models/current_cluster_node_usage_model.py +0 -136
  235. py4heappe-1.0.0/src/py4heappe/core/models/file_transfer_method.py +0 -294
  236. py4heappe-1.0.0/src/py4heappe/core/models/get_current_usage_and_limitations_for_current_user_model.py +0 -110
  237. py4heappe-1.0.0/src/py4heappe/core/models/job_specification_by_project_ext.py +0 -448
  238. py4heappe-1.0.0/src/py4heappe/core/models/list_jobs_for_current_user_model.py +0 -110
  239. py4heappe-1.0.0/src/py4heappe/core/models/problem_details.py +0 -89
  240. py4heappe-1.0.0/src/py4heappe/core/models/project.py +0 -482
  241. py4heappe-1.0.0/src/py4heappe/core/models/project_contact.py +0 -215
  242. py4heappe-1.0.0/src/py4heappe/core/models/recreate_secure_shell_key_model.py +0 -214
  243. py4heappe-1.0.0/src/py4heappe/core/models/resource_limitation_ext.py +0 -136
  244. py4heappe-1.0.0/src/py4heappe/core/models/resource_usage_ext.py +0 -163
  245. py4heappe-1.0.0/src/py4heappe/core/models/test_cluster_access_for_account_model.py +0 -162
  246. py4heappe-1.0.0/src/py4heappe/core/models/usage_type.py +0 -90
  247. {py4heappe-1.0.0 → py4heappe-2.0.0}/.gitignore +0 -0
  248. {py4heappe-1.0.0 → py4heappe-2.0.0}/.gitlab/stages/.check.yml +0 -0
  249. {py4heappe-1.0.0 → py4heappe-2.0.0}/.gitlab/stages/.publish.yml +0 -0
  250. {py4heappe-1.0.0 → py4heappe-2.0.0}/.gitlab/stages/.release.yml +0 -0
  251. {py4heappe-1.0.0 → py4heappe-2.0.0}/LICENSE +0 -0
  252. {py4heappe-1.0.0 → py4heappe-2.0.0}/docs/imgs/logo.png +0 -0
  253. {py4heappe-1.0.0 → py4heappe-2.0.0}/requirements.txt +0 -0
  254. {py4heappe-1.0.0 → py4heappe-2.0.0}/setup.cfg +0 -0
  255. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/Py4HEAppE.egg-info/dependency_links.txt +0 -0
  256. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/Py4HEAppE.egg-info/entry_points.txt +0 -0
  257. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/Py4HEAppE.egg-info/requires.txt +0 -0
  258. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/Py4HEAppE.egg-info/top_level.txt +0 -0
  259. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/__init__.py +0 -0
  260. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/__init__.py +0 -0
  261. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/cli/__init__.py +0 -0
  262. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/cli/auth.py +0 -0
  263. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/cli/job_management.py +0 -0
  264. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/api/__init__.py +0 -0
  265. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/base/__init__.py +0 -0
  266. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/base/exceptions.py +0 -0
  267. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/base/logger.py +0 -0
  268. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe/core/base/utils.py +0 -0
  269. {py4heappe-1.0.0 → py4heappe-2.0.0}/src/py4heappe_cli.py +0 -0
  270. {py4heappe-1.0.0 → py4heappe-2.0.0}/tests/__init__.py +0 -0
@@ -0,0 +1,25 @@
1
+ ## GENERATION STAGE
2
+
3
+ API_client_generation:
4
+ stage: API_generation
5
+ image: openjdk:11-jre-slim
6
+ when: manual
7
+ rules:
8
+ - if: '$CI_COMMIT_BRANCH != "develop" && $CI_COMMIT_BRANCH != "main"'
9
+ before_script:
10
+ - apt-get update
11
+ - apt-get install -y wget zip
12
+ - wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.27/swagger-codegen-cli-2.4.27.jar -O /swagger-codegen-cli.jar
13
+ script:
14
+ - echo "Generation API client"
15
+ - java -jar /swagger-codegen-cli.jar generate -i Tools/APIWrapperGen/swagger.json -l python -t Tools/APIWrapperGen/Templates/python/ -o ./app/client -c Tools/APIWrapperGen/config.json
16
+ - cd app/client/py4heappe
17
+ - zip -r ../../../APIWrapperGen.zip .
18
+ tags:
19
+ - Docker
20
+ - Centos9
21
+ - IT4I_Network
22
+ artifacts:
23
+ paths:
24
+ - APIWrapperGen.zip
25
+ expire_in: 1 days
@@ -2,6 +2,7 @@ services:
2
2
  - docker:dind
3
3
 
4
4
  include:
5
+ - local: '.gitlab/stages/.generation.yml'
5
6
  - local: '.gitlab/stages/.check.yml'
6
7
  - local: '.gitlab/stages/.release.yml'
7
8
  - local: '.gitlab/stages/.publish.yml'
@@ -9,6 +10,7 @@ include:
9
10
 
10
11
 
11
12
  stages:
13
+ - API_generation
12
14
  - check
13
15
  - release
14
16
  - publish
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## V2.0.0
9
+
10
+ ### Compatible with HEAppE V5.X.X
11
+
12
+
8
13
  ## V1.0.0
9
14
 
10
- ### Compatible with HEAppE V4.2.X and V4.3.X
15
+ ### Compatible with HEAppE V4.2.X and V4.3.X
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Py4HEAppE
3
- Version: 1.0.0
3
+ Version: 2.0.0
4
4
  Summary: Py4HEAppE is client library for easy access to HEAppE Middleware
5
5
  Author-email: IT4Innovations <support.heappe@it4i.cz>
6
6
  License-Expression: MIT
@@ -57,7 +57,7 @@ The library ensures consistent and reliable communication with the HEAppE API, h
57
57
  ### Installation
58
58
 
59
59
  ```
60
- pip install py4heappe
60
+ pip install Py4HEAppE
61
61
  ```
62
62
 
63
63
  <b>Note:</b> In some cases, you can obtain a warning message like this <b>"WARNING: The script py4heappe.exe is installed in 'C:\Users\user\AppData\Roaming\Python\Python311\Scripts' which is not on PATH.</b>" If you obtained a similar warning message, it is necessary to add the mentioned path into your operation system <b>PATH</b> variable or use a path with an executable file (i.e. C:\Users\user\AppData\Roaming\Python\Python311\Scripts\py4heappe.exe).
@@ -32,7 +32,7 @@ The library ensures consistent and reliable communication with the HEAppE API, h
32
32
  ### Installation
33
33
 
34
34
  ```
35
- pip install py4heappe
35
+ pip install Py4HEAppE
36
36
  ```
37
37
 
38
38
  <b>Note:</b> In some cases, you can obtain a warning message like this <b>"WARNING: The script py4heappe.exe is installed in 'C:\Users\user\AppData\Roaming\Python\Python311\Scripts' which is not on PATH.</b>" If you obtained a similar warning message, it is necessary to add the mentioned path into your operation system <b>PATH</b> variable or use a path with an executable file (i.e. C:\Users\user\AppData\Roaming\Python\Python311\Scripts\py4heappe.exe).
@@ -0,0 +1,10 @@
1
+ # Py4HEAppE API Client Generation
2
+ The content contains how to re-generate the HEAppE API wrapper with the new version of the HEAppE API
3
+
4
+ ## Steps
5
+ 1. Obtain HEAppE API Swagger definition **(eg.http://localhost:5000/swagger/py4heappe/swagger.json)**
6
+ 2. Upload the downloaded Swagger definition and replace it in repository folder **'Tools\APIWrapperGen\swagger.json'**
7
+ 3. Commit into random branch (not into develop or main)
8
+ 4. Manually triggered pipeline for the API wrapper generation
9
+ 5. Download pipeline artefact and replace files in **'src/py4heappe/core' (except base directory)**
10
+ 6. Modify Py4HEAppE CLI affected commands
@@ -0,0 +1,129 @@
1
+ # {{{projectName}}}
2
+ {{#appDescription}}
3
+ {{{appDescription}}}
4
+ {{/appDescription}}
5
+
6
+ This Python package is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
7
+
8
+ - API version: {{appVersion}}
9
+ - Package version: {{packageVersion}}
10
+ {{^hideGenerationTimestamp}}
11
+ - Build date: {{generatedDate}}
12
+ {{/hideGenerationTimestamp}}
13
+ - Build package: {{generatorClass}}
14
+ {{#infoUrl}}
15
+ For more information, please visit [{{{infoUrl}}}]({{{infoUrl}}})
16
+ {{/infoUrl}}
17
+
18
+ ## Requirements.
19
+
20
+ Python 2.7 and 3.4+
21
+
22
+ ## Installation & Usage
23
+ ### pip install
24
+
25
+ If the python package is hosted on Github, you can install directly from Github
26
+
27
+ ```sh
28
+ pip install git+https://github.com/{{{gitUserId}}}/{{{gitRepoId}}}.git
29
+ ```
30
+ (you may need to run `pip` with root permission: `sudo pip install git+https://github.com/{{{gitUserId}}}/{{{gitRepoId}}}.git`)
31
+
32
+ Then import the package:
33
+ ```python
34
+ import {{{packageName}}}
35
+ ```
36
+
37
+ ### Setuptools
38
+
39
+ Install via [Setuptools](http://pypi.python.org/pypi/setuptools).
40
+
41
+ ```sh
42
+ python setup.py install --user
43
+ ```
44
+ (or `sudo python setup.py install` to install the package for all users)
45
+
46
+ Then import the package:
47
+ ```python
48
+ import {{{packageName}}}
49
+ ```
50
+
51
+ ## Getting Started
52
+
53
+ Please follow the [installation procedure](#installation--usage) and then run the following:
54
+
55
+ ```python
56
+ from __future__ import print_function
57
+ import time
58
+ import {{{packageName}}}
59
+ from {{{packageName}}}.rest import ApiException
60
+ from pprint import pprint
61
+ {{#apiInfo}}{{#apis}}{{#-first}}{{#operations}}{{#operation}}{{#-first}}{{#hasAuthMethods}}{{#authMethods}}{{#isBasic}}
62
+ # Configure HTTP basic authorization: {{{name}}}
63
+ configuration = {{{packageName}}}.Configuration()
64
+ configuration.username = 'YOUR_USERNAME'
65
+ configuration.password = 'YOUR_PASSWORD'{{/isBasic}}{{#isApiKey}}
66
+ # Configure API key authorization: {{{name}}}
67
+ configuration = {{{packageName}}}.Configuration()
68
+ configuration.api_key['{{{keyParamName}}}'] = 'YOUR_API_KEY'
69
+ # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
70
+ # configuration.api_key_prefix['{{{keyParamName}}}'] = 'Bearer'{{/isApiKey}}{{#isOAuth}}
71
+ # Configure OAuth2 access token for authorization: {{{name}}}
72
+ configuration = {{{packageName}}}.Configuration()
73
+ configuration.access_token = 'YOUR_ACCESS_TOKEN'{{/isOAuth}}{{/authMethods}}
74
+ {{/hasAuthMethods}}
75
+
76
+ # create an instance of the API class
77
+ api_instance = {{{packageName}}}.{{{classname}}}({{{packageName}}}.ApiClient(configuration))
78
+ {{#allParams}}{{paramName}} = {{{example}}} # {{{dataType}}} | {{{description}}}{{^required}} (optional){{/required}}{{#defaultValue}} (default to {{{.}}}){{/defaultValue}}
79
+ {{/allParams}}
80
+
81
+ try:
82
+ {{#summary}} # {{{.}}}
83
+ {{/summary}} {{#returnType}}api_response = {{/returnType}}api_instance.{{{operationId}}}({{#allParams}}{{#required}}{{paramName}}{{/required}}{{^required}}{{paramName}}={{paramName}}{{/required}}{{#hasMore}}, {{/hasMore}}{{/allParams}}){{#returnType}}
84
+ pprint(api_response){{/returnType}}
85
+ except ApiException as e:
86
+ print("Exception when calling {{classname}}->{{operationId}}: %s\n" % e)
87
+ {{/-first}}{{/operation}}{{/operations}}{{/-first}}{{/apis}}{{/apiInfo}}
88
+ ```
89
+
90
+ ## Documentation for API Endpoints
91
+
92
+ All URIs are relative to *{{basePath}}*
93
+
94
+ Class | Method | HTTP request | Description
95
+ ------------ | ------------- | ------------- | -------------
96
+ {{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}*{{classname}}* | [**{{operationId}}**]({{apiDocPath}}{{classname}}.md#{{operationIdLowerCase}}) | **{{httpMethod}}** {{path}} | {{#summary}}{{summary}}{{/summary}}
97
+ {{/operation}}{{/operations}}{{/apis}}{{/apiInfo}}
98
+
99
+ ## Documentation For Models
100
+
101
+ {{#models}}{{#model}} - [{{{classname}}}]({{modelDocPath}}{{{classname}}}.md)
102
+ {{/model}}{{/models}}
103
+
104
+ ## Documentation For Authorization
105
+
106
+ {{^authMethods}} All endpoints do not require authorization.
107
+ {{/authMethods}}{{#authMethods}}{{#last}} Authentication schemes defined for the API:{{/last}}{{/authMethods}}
108
+ {{#authMethods}}## {{{name}}}
109
+
110
+ {{#isApiKey}}- **Type**: API key
111
+ - **API key parameter name**: {{{keyParamName}}}
112
+ - **Location**: {{#isKeyInQuery}}URL query string{{/isKeyInQuery}}{{#isKeyInHeader}}HTTP header{{/isKeyInHeader}}
113
+ {{/isApiKey}}
114
+ {{#isBasic}}- **Type**: HTTP basic authentication
115
+ {{/isBasic}}
116
+ {{#isOAuth}}- **Type**: OAuth
117
+ - **Flow**: {{{flow}}}
118
+ - **Authorization URL**: {{{authorizationUrl}}}
119
+ - **Scopes**: {{^scopes}}N/A{{/scopes}}
120
+ {{#scopes}} - **{{{scope}}}**: {{{description}}}
121
+ {{/scopes}}
122
+ {{/isOAuth}}
123
+
124
+ {{/authMethods}}
125
+
126
+ ## Author
127
+
128
+ {{#apiInfo}}{{#apis}}{{^hasMore}}{{infoEmail}}
129
+ {{/hasMore}}{{/apis}}{{/apiInfo}}
@@ -0,0 +1,7 @@
1
+ from __future__ import absolute_import
2
+
3
+ # flake8: noqa
4
+
5
+ # import apis into api package
6
+ {{#apiInfo}}{{#apis}}from {{apiPackage}}.{{classVarName}} import {{classname}}
7
+ {{/apis}}{{/apiInfo}}
@@ -0,0 +1,10 @@
1
+ # coding: utf-8
2
+
3
+ # flake8: noqa
4
+ {{>partial_header}}
5
+
6
+ from __future__ import absolute_import
7
+
8
+ # import models into model package
9
+ {{#models}}{{#model}}from {{modelPackage}}.{{classFilename}} import {{classname}}{{/model}}
10
+ {{/models}}
@@ -0,0 +1,17 @@
1
+ # coding: utf-8
2
+
3
+ # flake8: noqa
4
+
5
+ {{>partial_header}}
6
+
7
+ from __future__ import absolute_import
8
+
9
+ # import apis into sdk package
10
+ {{#apiInfo}}{{#apis}}from {{apiPackage}}.{{classVarName}} import {{classname}}
11
+ {{/apis}}{{/apiInfo}}
12
+ # import ApiClient
13
+ from {{packageName}}.api_client import ApiClient
14
+ from {{packageName}}.configuration import Configuration
15
+ # import models into sdk package
16
+ {{#models}}{{#model}}from {{modelPackage}}.{{classFilename}} import {{classname}}
17
+ {{/model}}{{/models}}
@@ -0,0 +1,214 @@
1
+ # coding: utf-8
2
+
3
+ {{>partial_header}}
4
+
5
+ from __future__ import absolute_import
6
+
7
+ import re # noqa: F401
8
+
9
+ # python 2 and python 3 compatibility library
10
+ import six
11
+
12
+ from {{packageName}}.api_client import ApiClient
13
+
14
+
15
+ {{#operations}}
16
+ class {{classname}}(object):
17
+ """NOTE: This class is auto generated by the swagger code generator program.
18
+
19
+ Do not edit the class manually.
20
+ Ref: https://github.com/swagger-api/swagger-codegen
21
+ """
22
+
23
+ def __init__(self, api_client=None):
24
+ if api_client is None:
25
+ api_client = ApiClient()
26
+ self.api_client = api_client
27
+ {{#operation}}
28
+
29
+ def {{operationId}}(self, {{#sortParamsByRequiredFlag}}{{#allParams}}{{#required}}{{baseName}}, {{/required}}{{/allParams}}{{/sortParamsByRequiredFlag}}**kwargs): # noqa: E501
30
+ """{{#summary}}{{{.}}}{{/summary}}{{^summary}}{{operationId}}{{/summary}} # noqa: E501
31
+
32
+ {{#notes}}
33
+ {{{notes}}} # noqa: E501
34
+ {{/notes}}
35
+ This method makes a synchronous HTTP request by default. To make an
36
+ asynchronous HTTP request, please pass async_req=True
37
+ {{#sortParamsByRequiredFlag}}
38
+ >>> thread = api.{{operationId}}({{#allParams}}{{#required}}{{baseName}}, {{/required}}{{/allParams}}async_req=True)
39
+ {{/sortParamsByRequiredFlag}}
40
+ {{^sortParamsByRequiredFlag}}
41
+ >>> thread = api.{{operationId}}({{#allParams}}{{#required}}{{baseName}}={{baseName}}_value, {{/required}}{{/allParams}}async_req=True)
42
+ {{/sortParamsByRequiredFlag}}
43
+ >>> result = thread.get()
44
+
45
+ :param async_req bool
46
+ {{#allParams}}
47
+ :param {{dataType}} {{baseName}}:{{#description}} {{{description}}}{{/description}}{{#required}} (required){{/required}}{{#optional}}(optional){{/optional}}
48
+ {{/allParams}}
49
+ :return: {{#returnType}}{{returnType}}{{/returnType}}{{^returnType}}None{{/returnType}}
50
+ If the method is called asynchronously,
51
+ returns the request thread.
52
+ """
53
+ kwargs['_return_http_data_only'] = True
54
+ if kwargs.get('async_req'):
55
+ return self.{{operationId}}_with_http_info({{#sortParamsByRequiredFlag}}{{#allParams}}{{#required}}{{baseName}}, {{/required}}{{/allParams}}{{/sortParamsByRequiredFlag}}**kwargs) # noqa: E501
56
+ else:
57
+ (data) = self.{{operationId}}_with_http_info({{#sortParamsByRequiredFlag}}{{#allParams}}{{#required}}{{baseName}}, {{/required}}{{/allParams}}{{/sortParamsByRequiredFlag}}**kwargs) # noqa: E501
58
+ return data
59
+
60
+ def {{operationId}}_with_http_info(self, {{#sortParamsByRequiredFlag}}{{#allParams}}{{#required}}{{baseName}}, {{/required}}{{/allParams}}{{/sortParamsByRequiredFlag}}**kwargs): # noqa: E501
61
+ """{{#summary}}{{{.}}}{{/summary}}{{^summary}}{{operationId}}{{/summary}} # noqa: E501
62
+
63
+ {{#notes}}
64
+ {{{notes}}} # noqa: E501
65
+ {{/notes}}
66
+ This method makes a synchronous HTTP request by default. To make an
67
+ asynchronous HTTP request, please pass async_req=True
68
+ {{#sortParamsByRequiredFlag}}
69
+ >>> thread = api.{{operationId}}_with_http_info({{#allParams}}{{#required}}{{baseName}}, {{/required}}{{/allParams}}async_req=True)
70
+ {{/sortParamsByRequiredFlag}}
71
+ {{^sortParamsByRequiredFlag}}
72
+ >>> thread = api.{{operationId}}_with_http_info({{#allParams}}{{#required}}{{baseName}}={{baseName}}_value, {{/required}}{{/allParams}}async_req=True)
73
+ {{/sortParamsByRequiredFlag}}
74
+ >>> result = thread.get()
75
+
76
+ :param async_req bool
77
+ {{#allParams}}
78
+ :param {{dataType}} {{baseName}}:{{#description}} {{{description}}}{{/description}}{{#required}} (required){{/required}}{{#optional}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/optional}}
79
+ {{/allParams}}
80
+ :return: {{#returnType}}{{returnType}}{{/returnType}}{{^returnType}}None{{/returnType}}
81
+ If the method is called asynchronously,
82
+ returns the request thread.
83
+ """
84
+
85
+ all_params = [{{#allParams}}'{{baseName}}'{{#hasMore}}, {{/hasMore}}{{/allParams}}] # noqa: E501
86
+ all_params.append('async_req')
87
+ all_params.append('_return_http_data_only')
88
+ all_params.append('_preload_content')
89
+ all_params.append('_request_timeout')
90
+
91
+ params = locals()
92
+ for key, val in six.iteritems(params['kwargs']):
93
+ if key not in all_params:
94
+ raise TypeError(
95
+ "Got an unexpected keyword argument '%s'"
96
+ " to method {{operationId}}" % key
97
+ )
98
+ params[key] = val
99
+ del params['kwargs']
100
+ {{#allParams}}
101
+ {{#required}}
102
+ # verify the required parameter '{{baseName}}' is set
103
+ if self.api_client.client_side_validation and ('{{baseName}}' not in params or
104
+ params['{{baseName}}'] is None): # noqa: E501
105
+ raise ValueError("Missing the required parameter `{{baseName}}` when calling `{{operationId}}`") # noqa: E501
106
+ {{/required}}
107
+ {{/allParams}}
108
+
109
+ {{#allParams}}
110
+ {{#hasValidation}}
111
+ {{#maxLength}}
112
+ if self.api_client.client_side_validation and ('{{baseName}}' in params and
113
+ len(params['{{baseName}}']) > {{maxLength}}):
114
+ raise ValueError("Invalid value for parameter `{{baseName}}` when calling `{{operationId}}`, length must be less than or equal to `{{maxLength}}`") # noqa: E501
115
+ {{/maxLength}}
116
+ {{#minLength}}
117
+ if self.api_client.client_side_validation and ('{{baseName}}' in params and
118
+ len(params['{{baseName}}']) < {{minLength}}):
119
+ raise ValueError("Invalid value for parameter `{{baseName}}` when calling `{{operationId}}`, length must be greater than or equal to `{{minLength}}`") # noqa: E501
120
+ {{/minLength}}
121
+ {{#maximum}}
122
+ if self.api_client.client_side_validation and ('{{baseName}}' in params and params['{{baseName}}'] >{{#exclusiveMaximum}}={{/exclusiveMaximum}} {{maximum}}): # noqa: E501
123
+ raise ValueError("Invalid value for parameter `{{baseName}}` when calling `{{operationId}}`, must be a value less than {{^exclusiveMaximum}}or equal to {{/exclusiveMaximum}}`{{maximum}}`") # noqa: E501
124
+ {{/maximum}}
125
+ {{#minimum}}
126
+ if self.api_client.client_side_validation and ('{{baseName}}' in params and params['{{baseName}}'] <{{#exclusiveMinimum}}={{/exclusiveMinimum}} {{minimum}}): # noqa: E501
127
+ raise ValueError("Invalid value for parameter `{{baseName}}` when calling `{{operationId}}`, must be a value greater than {{^exclusiveMinimum}}or equal to {{/exclusiveMinimum}}`{{minimum}}`") # noqa: E501
128
+ {{/minimum}}
129
+ {{#pattern}}
130
+ if self.api_client.client_side_validation and ('{{baseName}}' in params and not re.search(r'{{{vendorExtensions.x-regex}}}', params['{{baseName}}']{{#vendorExtensions.x-modifiers}}{{#-first}}, flags={{/-first}}re.{{.}}{{^-last}} | {{/-last}}{{/vendorExtensions.x-modifiers}})): # noqa: E501
131
+ raise ValueError("Invalid value for parameter `{{baseName}}` when calling `{{operationId}}`, must conform to the pattern `{{{pattern}}}`") # noqa: E501
132
+ {{/pattern}}
133
+ {{#maxItems}}
134
+ if self.api_client.client_side_validation and ('{{baseName}}' in params and
135
+ len(params['{{baseName}}']) > {{maxItems}}):
136
+ raise ValueError("Invalid value for parameter `{{baseName}}` when calling `{{operationId}}`, number of items must be less than or equal to `{{maxItems}}`") # noqa: E501
137
+ {{/maxItems}}
138
+ {{#minItems}}
139
+ if self.api_client.client_side_validation and ('{{baseName}}' in params and
140
+ len(params['{{baseName}}']) < {{minItems}}):
141
+ raise ValueError("Invalid value for parameter `{{baseName}}` when calling `{{operationId}}`, number of items must be greater than or equal to `{{minItems}}`") # noqa: E501
142
+ {{/minItems}}
143
+ {{/hasValidation}}
144
+ {{#-last}}
145
+ {{/-last}}
146
+ {{/allParams}}
147
+ collection_formats = {}
148
+
149
+ path_params = {}
150
+ {{#pathParams}}
151
+ if '{{baseName}}' in params:
152
+ path_params['{{baseName}}'] = params['{{baseName}}']{{#isListContainer}} # noqa: E501
153
+ collection_formats['{{baseName}}'] = '{{collectionFormat}}'{{/isListContainer}} # noqa: E501
154
+ {{/pathParams}}
155
+
156
+ query_params = []
157
+ {{#queryParams}}
158
+ if '{{baseName}}' in params:
159
+ query_params.append(('{{baseName}}', params['{{baseName}}'])){{#isListContainer}} # noqa: E501
160
+ collection_formats['{{baseName}}'] = '{{collectionFormat}}'{{/isListContainer}} # noqa: E501
161
+ {{/queryParams}}
162
+
163
+ header_params = {}
164
+ {{#headerParams}}
165
+ if '{{baseName}}' in params:
166
+ header_params['{{baseName}}'] = params['{{baseName}}']{{#isListContainer}} # noqa: E501
167
+ collection_formats['{{baseName}}'] = '{{collectionFormat}}'{{/isListContainer}} # noqa: E501
168
+ {{/headerParams}}
169
+
170
+ form_params = []
171
+ local_var_files = {}
172
+ {{#formParams}}
173
+ if '{{baseName}}' in params:
174
+ {{#notFile}}form_params.append(('{{baseName}}', params['{{baseName}}'])){{/notFile}}{{#isFile}}local_var_files['{{baseName}}'] = params['{{baseName}}']{{/isFile}}{{#isListContainer}} # noqa: E501
175
+ collection_formats['{{baseName}}'] = '{{collectionFormat}}'{{/isListContainer}} # noqa: E501
176
+ {{/formParams}}
177
+
178
+ body_params = None
179
+ {{#bodyParam}}
180
+ if '{{baseName}}' in params:
181
+ body_params = params['{{baseName}}']
182
+ {{/bodyParam}}
183
+ {{#hasProduces}}
184
+ # HTTP header `Accept`
185
+ header_params['Accept'] = self.api_client.select_header_accept(
186
+ [{{#produces}}'{{{mediaType}}}'{{#hasMore}}, {{/hasMore}}{{/produces}}]) # noqa: E501
187
+
188
+ {{/hasProduces}}
189
+ {{#hasConsumes}}
190
+ # HTTP header `Content-Type`
191
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
192
+ [{{#consumes}}'{{{mediaType}}}'{{#hasMore}}, {{/hasMore}}{{/consumes}}]) # noqa: E501
193
+
194
+ {{/hasConsumes}}
195
+ # Authentication setting
196
+ auth_settings = [{{#authMethods}}'{{name}}'{{#hasMore}}, {{/hasMore}}{{/authMethods}}] # noqa: E501
197
+
198
+ return self.api_client.call_api(
199
+ '{{{path}}}', '{{httpMethod}}',
200
+ path_params,
201
+ query_params,
202
+ header_params,
203
+ body=body_params,
204
+ post_params=form_params,
205
+ files=local_var_files,
206
+ response_type={{#returnType}}'{{returnType}}'{{/returnType}}{{^returnType}}None{{/returnType}}, # noqa: E501
207
+ auth_settings=auth_settings,
208
+ async_req=params.get('async_req'),
209
+ _return_http_data_only=params.get('_return_http_data_only'),
210
+ _preload_content=params.get('_preload_content', True),
211
+ _request_timeout=params.get('_request_timeout'),
212
+ collection_formats=collection_formats)
213
+ {{/operation}}
214
+ {{/operations}}