defectdojo-api-generated 2.56.2__tar.gz → 2.56.4__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 (431) hide show
  1. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/PKG-INFO +15 -10
  2. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/README.md +13 -7
  3. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/__init__.py +1 -1
  4. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/cli/__main__.py +0 -10
  5. defectdojo_api_generated-2.56.4/defectdojo_api_generated/cli/commands/__init__.py +0 -0
  6. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/cli/commands/apis.py +3 -3
  7. defectdojo_api_generated-2.56.4/defectdojo_api_generated/cli/commands/cli.py +75 -0
  8. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/cli/commands/status.py +1 -1
  9. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/configuration.py +1 -1
  10. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_system_settings_request.py +0 -3
  11. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/system_settings.py +0 -3
  12. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/system_settings_request.py +0 -3
  13. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated.egg-info/PKG-INFO +15 -10
  14. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated.egg-info/SOURCES.txt +1 -1
  15. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated.egg-info/requires.txt +1 -2
  16. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/pyproject.toml +4 -2
  17. defectdojo_api_generated-2.56.2/defectdojo_api_generated/cli/commands/cli.py +0 -151
  18. defectdojo_api_generated-2.56.2/defectdojo_api_generated/cli/commands/config.py +0 -71
  19. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/LICENSE +0 -0
  20. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/__init__.py +0 -0
  21. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/announcements_api.py +0 -0
  22. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/api_token_auth_api.py +0 -0
  23. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/asset_api_scan_configurations_api.py +0 -0
  24. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/asset_groups_api.py +0 -0
  25. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/asset_members_api.py +0 -0
  26. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/assets_api.py +0 -0
  27. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/configuration_permissions_api.py +0 -0
  28. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/credential_mappings_api.py +0 -0
  29. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/credentials_api.py +0 -0
  30. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/development_environments_api.py +0 -0
  31. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/dojo_group_members_api.py +0 -0
  32. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/dojo_groups_api.py +0 -0
  33. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/endpoint_meta_import_api.py +0 -0
  34. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/endpoint_status_api.py +0 -0
  35. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/endpoints_api.py +0 -0
  36. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/engagement_presets_api.py +0 -0
  37. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/engagements_api.py +0 -0
  38. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/finding_templates_api.py +0 -0
  39. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/findings_api.py +0 -0
  40. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/global_roles_api.py +0 -0
  41. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/import_languages_api.py +0 -0
  42. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/import_scan_api.py +0 -0
  43. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/jira_configurations_api.py +0 -0
  44. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/jira_finding_mappings_api.py +0 -0
  45. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/jira_instances_api.py +0 -0
  46. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/jira_product_configurations_api.py +0 -0
  47. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/jira_projects_api.py +0 -0
  48. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/language_types_api.py +0 -0
  49. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/languages_api.py +0 -0
  50. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/metadata_api.py +0 -0
  51. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/network_locations_api.py +0 -0
  52. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/note_type_api.py +0 -0
  53. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/notes_api.py +0 -0
  54. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/notification_webhooks_api.py +0 -0
  55. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/notifications_api.py +0 -0
  56. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/oa3_api.py +0 -0
  57. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/organization_groups_api.py +0 -0
  58. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/organization_members_api.py +0 -0
  59. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/organizations_api.py +0 -0
  60. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/product_api_scan_configurations_api.py +0 -0
  61. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/product_groups_api.py +0 -0
  62. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/product_members_api.py +0 -0
  63. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/product_type_groups_api.py +0 -0
  64. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/product_type_members_api.py +0 -0
  65. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/product_types_api.py +0 -0
  66. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/products_api.py +0 -0
  67. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/questionnaire_answered_questionnaires_api.py +0 -0
  68. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/questionnaire_answers_api.py +0 -0
  69. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/questionnaire_engagement_questionnaires_api.py +0 -0
  70. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/questionnaire_general_questionnaires_api.py +0 -0
  71. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/questionnaire_questions_api.py +0 -0
  72. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/regulations_api.py +0 -0
  73. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/reimport_scan_api.py +0 -0
  74. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/request_response_pairs_api.py +0 -0
  75. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/risk_acceptance_api.py +0 -0
  76. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/roles_api.py +0 -0
  77. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/sla_configurations_api.py +0 -0
  78. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/sonarqube_issues_api.py +0 -0
  79. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/sonarqube_transitions_api.py +0 -0
  80. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/stub_findings_api.py +0 -0
  81. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/system_settings_api.py +0 -0
  82. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/technologies_api.py +0 -0
  83. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/test_imports_api.py +0 -0
  84. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/test_types_api.py +0 -0
  85. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/tests_api.py +0 -0
  86. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/tool_configurations_api.py +0 -0
  87. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/tool_product_settings_api.py +0 -0
  88. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/tool_types_api.py +0 -0
  89. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/user_contact_infos_api.py +0 -0
  90. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/user_profile_api.py +0 -0
  91. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api/users_api.py +0 -0
  92. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api_client.py +0 -0
  93. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/api_response.py +0 -0
  94. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/client.py +0 -0
  95. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/exceptions.py +0 -0
  96. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/helpers.py +0 -0
  97. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/__init__.py +0 -0
  98. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/accepted_risk_request.py +0 -0
  99. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/add_new_note_option_request.py +0 -0
  100. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/announcement.py +0 -0
  101. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/announcement_request.py +0 -0
  102. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/app_analysis.py +0 -0
  103. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/app_analysis_prefetch.py +0 -0
  104. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/app_analysis_request.py +0 -0
  105. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/asset.py +0 -0
  106. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/asset_api_scan_configuration.py +0 -0
  107. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/asset_api_scan_configuration_prefetch.py +0 -0
  108. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/asset_api_scan_configuration_request.py +0 -0
  109. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/asset_group.py +0 -0
  110. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/asset_group_prefetch.py +0 -0
  111. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/asset_group_request.py +0 -0
  112. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/asset_member.py +0 -0
  113. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/asset_member_prefetch.py +0 -0
  114. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/asset_member_request.py +0 -0
  115. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/asset_prefetch.py +0 -0
  116. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/asset_request.py +0 -0
  117. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/auth_token.py +0 -0
  118. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/auth_token_request.py +0 -0
  119. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/burp_raw_request_response.py +0 -0
  120. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/burp_raw_request_response_multi.py +0 -0
  121. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/burp_raw_request_response_multi_request.py +0 -0
  122. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/burp_raw_request_response_request.py +0 -0
  123. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/configuration_permission.py +0 -0
  124. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/credential.py +0 -0
  125. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/credential_mapping.py +0 -0
  126. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/credential_mapping_request.py +0 -0
  127. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/credential_prefetch.py +0 -0
  128. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/credential_request.py +0 -0
  129. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/delete_preview.py +0 -0
  130. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/delta_statistics.py +0 -0
  131. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/delta_statistics_request.py +0 -0
  132. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/development_environment.py +0 -0
  133. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/development_environment_request.py +0 -0
  134. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/dojo_group.py +0 -0
  135. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/dojo_group_member.py +0 -0
  136. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/dojo_group_member_prefetch.py +0 -0
  137. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/dojo_group_member_request.py +0 -0
  138. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/dojo_group_prefetch.py +0 -0
  139. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/dojo_group_request.py +0 -0
  140. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/endpoint.py +0 -0
  141. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/endpoint_meta_importer.py +0 -0
  142. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/endpoint_request.py +0 -0
  143. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/endpoint_status.py +0 -0
  144. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/endpoint_status_request.py +0 -0
  145. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/engagement.py +0 -0
  146. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/engagement_check_list.py +0 -0
  147. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/engagement_check_list_request.py +0 -0
  148. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/engagement_presets.py +0 -0
  149. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/engagement_presets_prefetch.py +0 -0
  150. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/engagement_presets_request.py +0 -0
  151. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/engagement_request.py +0 -0
  152. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/engagement_to_files.py +0 -0
  153. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/engagement_to_notes.py +0 -0
  154. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/engagement_update_jira_epic.py +0 -0
  155. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/engagement_update_jira_epic_request.py +0 -0
  156. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/executive_summary.py +0 -0
  157. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/file.py +0 -0
  158. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/file_request.py +0 -0
  159. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding.py +0 -0
  160. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_close.py +0 -0
  161. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_close_request.py +0 -0
  162. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_create.py +0 -0
  163. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_create_request.py +0 -0
  164. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_engagement.py +0 -0
  165. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_environment.py +0 -0
  166. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_group.py +0 -0
  167. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_group_request.py +0 -0
  168. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_meta.py +0 -0
  169. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_meta_request.py +0 -0
  170. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_prefetch.py +0 -0
  171. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_prod_type.py +0 -0
  172. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_product.py +0 -0
  173. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_related_fields.py +0 -0
  174. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_request.py +0 -0
  175. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_template.py +0 -0
  176. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_template_request.py +0 -0
  177. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_test.py +0 -0
  178. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_test_type.py +0 -0
  179. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_to_files.py +0 -0
  180. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/finding_to_notes.py +0 -0
  181. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/global_role.py +0 -0
  182. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/global_role_request.py +0 -0
  183. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/import_languages.py +0 -0
  184. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/import_scan.py +0 -0
  185. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/import_statistics.py +0 -0
  186. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/import_statistics_request.py +0 -0
  187. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/jira_instance.py +0 -0
  188. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/jira_instance_request.py +0 -0
  189. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/jira_issue.py +0 -0
  190. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/jira_issue_request.py +0 -0
  191. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/jira_project.py +0 -0
  192. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/jira_project_prefetch.py +0 -0
  193. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/jira_project_request.py +0 -0
  194. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/language.py +0 -0
  195. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/language_prefetch.py +0 -0
  196. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/language_request.py +0 -0
  197. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/language_type.py +0 -0
  198. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/language_type_request.py +0 -0
  199. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/meta.py +0 -0
  200. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/meta_main.py +0 -0
  201. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/meta_main_request.py +0 -0
  202. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/meta_request.py +0 -0
  203. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/metadata.py +0 -0
  204. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/metadata_request.py +0 -0
  205. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/network_locations.py +0 -0
  206. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/network_locations_request.py +0 -0
  207. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/note.py +0 -0
  208. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/note_history.py +0 -0
  209. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/note_history_request.py +0 -0
  210. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/note_request.py +0 -0
  211. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/note_type.py +0 -0
  212. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/note_type_request.py +0 -0
  213. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/notification_webhooks.py +0 -0
  214. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/notification_webhooks_request.py +0 -0
  215. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/notifications.py +0 -0
  216. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/notifications_request.py +0 -0
  217. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/organization.py +0 -0
  218. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/organization_group.py +0 -0
  219. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/organization_group_prefetch.py +0 -0
  220. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/organization_group_request.py +0 -0
  221. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/organization_member.py +0 -0
  222. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/organization_member_prefetch.py +0 -0
  223. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/organization_member_request.py +0 -0
  224. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/organization_prefetch.py +0 -0
  225. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/organization_request.py +0 -0
  226. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_announcement_list.py +0 -0
  227. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_app_analysis_list.py +0 -0
  228. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_asset_api_scan_configuration_list.py +0 -0
  229. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_asset_group_list.py +0 -0
  230. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_asset_list.py +0 -0
  231. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_asset_member_list.py +0 -0
  232. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_burp_raw_request_response_multi_list.py +0 -0
  233. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_configuration_permission_list.py +0 -0
  234. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_credential_list.py +0 -0
  235. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_credential_mapping_list.py +0 -0
  236. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_delete_preview_list.py +0 -0
  237. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_development_environment_list.py +0 -0
  238. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_dojo_group_list.py +0 -0
  239. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_dojo_group_member_list.py +0 -0
  240. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_endpoint_list.py +0 -0
  241. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_endpoint_status_list.py +0 -0
  242. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_engagement_list.py +0 -0
  243. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_engagement_presets_list.py +0 -0
  244. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_finding_list.py +0 -0
  245. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_finding_template_list.py +0 -0
  246. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_global_role_list.py +0 -0
  247. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_jira_instance_list.py +0 -0
  248. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_jira_issue_list.py +0 -0
  249. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_jira_project_list.py +0 -0
  250. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_language_list.py +0 -0
  251. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_language_type_list.py +0 -0
  252. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_meta_list.py +0 -0
  253. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_network_locations_list.py +0 -0
  254. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_note_list.py +0 -0
  255. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_note_type_list.py +0 -0
  256. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_notification_webhooks_list.py +0 -0
  257. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_notifications_list.py +0 -0
  258. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_organization_group_list.py +0 -0
  259. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_organization_list.py +0 -0
  260. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_organization_member_list.py +0 -0
  261. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_product_api_scan_configuration_list.py +0 -0
  262. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_product_api_scan_configuration_list_prefetch.py +0 -0
  263. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_product_group_list.py +0 -0
  264. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_product_group_list_prefetch.py +0 -0
  265. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_product_list.py +0 -0
  266. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_product_list_prefetch.py +0 -0
  267. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_product_member_list.py +0 -0
  268. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_product_member_list_prefetch.py +0 -0
  269. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_product_type_group_list.py +0 -0
  270. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_product_type_group_list_prefetch.py +0 -0
  271. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_product_type_list.py +0 -0
  272. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_product_type_list_prefetch.py +0 -0
  273. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_product_type_member_list.py +0 -0
  274. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_product_type_member_list_prefetch.py +0 -0
  275. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_questionnaire_answer_list.py +0 -0
  276. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_questionnaire_answered_survey_list.py +0 -0
  277. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_questionnaire_answered_survey_list_prefetch.py +0 -0
  278. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_questionnaire_engagement_survey_list.py +0 -0
  279. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_questionnaire_general_survey_list.py +0 -0
  280. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_questionnaire_question_list.py +0 -0
  281. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_regulation_list.py +0 -0
  282. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_risk_acceptance_list.py +0 -0
  283. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_role_list.py +0 -0
  284. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_sla_configuration_list.py +0 -0
  285. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_sonarqube_issue_list.py +0 -0
  286. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_sonarqube_issue_transition_list.py +0 -0
  287. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_stub_finding_list.py +0 -0
  288. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_system_settings_list.py +0 -0
  289. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_test_import_list.py +0 -0
  290. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_test_list.py +0 -0
  291. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_test_type_list.py +0 -0
  292. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_tool_configuration_list.py +0 -0
  293. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_tool_configuration_list_prefetch.py +0 -0
  294. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_tool_product_settings_list.py +0 -0
  295. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_tool_product_settings_list_prefetch.py +0 -0
  296. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_tool_type_list.py +0 -0
  297. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_user_contact_info_list.py +0 -0
  298. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_user_contact_info_list_prefetch.py +0 -0
  299. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/paginated_user_list.py +0 -0
  300. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_announcement_request.py +0 -0
  301. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_app_analysis_request.py +0 -0
  302. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_asset_api_scan_configuration_request.py +0 -0
  303. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_asset_request.py +0 -0
  304. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_burp_raw_request_response_multi_request.py +0 -0
  305. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_credential_mapping_request.py +0 -0
  306. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_credential_request.py +0 -0
  307. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_development_environment_request.py +0 -0
  308. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_dojo_group_request.py +0 -0
  309. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_endpoint_request.py +0 -0
  310. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_endpoint_status_request.py +0 -0
  311. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_engagement_presets_request.py +0 -0
  312. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_engagement_request.py +0 -0
  313. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_finding_note_request.py +0 -0
  314. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_finding_request.py +0 -0
  315. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_finding_template_request.py +0 -0
  316. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_global_role_request.py +0 -0
  317. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_jira_instance_request.py +0 -0
  318. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_jira_issue_request.py +0 -0
  319. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_jira_project_request.py +0 -0
  320. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_language_request.py +0 -0
  321. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_language_type_request.py +0 -0
  322. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_meta_main_request.py +0 -0
  323. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_meta_request.py +0 -0
  324. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_network_locations_request.py +0 -0
  325. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_note_request.py +0 -0
  326. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_note_type_request.py +0 -0
  327. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_notification_webhooks_request.py +0 -0
  328. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_notifications_request.py +0 -0
  329. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_organization_request.py +0 -0
  330. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_product_api_scan_configuration_request.py +0 -0
  331. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_product_request.py +0 -0
  332. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_product_type_request.py +0 -0
  333. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_regulation_request.py +0 -0
  334. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_risk_acceptance_request.py +0 -0
  335. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_sla_configuration_request.py +0 -0
  336. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_sonarqube_issue_request.py +0 -0
  337. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_sonarqube_issue_transition_request.py +0 -0
  338. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_stub_finding_request.py +0 -0
  339. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_tag_request.py +0 -0
  340. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_test_import_request.py +0 -0
  341. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_test_request.py +0 -0
  342. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_test_type_request.py +0 -0
  343. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_tool_configuration_request.py +0 -0
  344. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_tool_product_settings_request.py +0 -0
  345. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_tool_type_request.py +0 -0
  346. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_user_contact_info_request.py +0 -0
  347. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/patched_user_request.py +0 -0
  348. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product.py +0 -0
  349. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product_api_scan_configuration.py +0 -0
  350. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product_api_scan_configuration_request.py +0 -0
  351. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product_group.py +0 -0
  352. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product_group_request.py +0 -0
  353. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product_member.py +0 -0
  354. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product_member_request.py +0 -0
  355. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product_meta.py +0 -0
  356. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product_meta_request.py +0 -0
  357. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product_request.py +0 -0
  358. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product_type.py +0 -0
  359. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product_type_group.py +0 -0
  360. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product_type_group_request.py +0 -0
  361. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product_type_member.py +0 -0
  362. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product_type_member_request.py +0 -0
  363. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/product_type_request.py +0 -0
  364. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/questionnaire_answer.py +0 -0
  365. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/questionnaire_answered_survey.py +0 -0
  366. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/questionnaire_engagement_survey.py +0 -0
  367. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/questionnaire_general_survey.py +0 -0
  368. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/questionnaire_question.py +0 -0
  369. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/raw_file.py +0 -0
  370. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/re_import_scan.py +0 -0
  371. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/regulation.py +0 -0
  372. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/regulation_request.py +0 -0
  373. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/report_generate.py +0 -0
  374. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/report_generate_option_request.py +0 -0
  375. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/risk_acceptance.py +0 -0
  376. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/risk_acceptance_proof.py +0 -0
  377. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/risk_acceptance_request.py +0 -0
  378. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/risk_acceptance_to_notes.py +0 -0
  379. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/role.py +0 -0
  380. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/severity_status_statistics.py +0 -0
  381. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/severity_status_statistics_request.py +0 -0
  382. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/sla_configuration.py +0 -0
  383. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/sla_configuration_request.py +0 -0
  384. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/sonarqube_issue.py +0 -0
  385. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/sonarqube_issue_request.py +0 -0
  386. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/sonarqube_issue_transition.py +0 -0
  387. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/sonarqube_issue_transition_request.py +0 -0
  388. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/status_statistics.py +0 -0
  389. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/status_statistics_request.py +0 -0
  390. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/stub_finding.py +0 -0
  391. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/stub_finding_create.py +0 -0
  392. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/stub_finding_create_request.py +0 -0
  393. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/stub_finding_request.py +0 -0
  394. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/tag.py +0 -0
  395. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/tag_request.py +0 -0
  396. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/test.py +0 -0
  397. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/test_create.py +0 -0
  398. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/test_create_request.py +0 -0
  399. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/test_import.py +0 -0
  400. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/test_import_finding_action.py +0 -0
  401. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/test_import_finding_action_request.py +0 -0
  402. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/test_import_request.py +0 -0
  403. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/test_request.py +0 -0
  404. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/test_to_files.py +0 -0
  405. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/test_to_notes.py +0 -0
  406. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/test_type.py +0 -0
  407. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/test_type_create.py +0 -0
  408. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/test_type_create_request.py +0 -0
  409. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/test_type_request.py +0 -0
  410. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/tool_configuration.py +0 -0
  411. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/tool_configuration_request.py +0 -0
  412. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/tool_product_settings.py +0 -0
  413. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/tool_product_settings_request.py +0 -0
  414. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/tool_type.py +0 -0
  415. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/tool_type_request.py +0 -0
  416. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/user.py +0 -0
  417. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/user_contact_info.py +0 -0
  418. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/user_contact_info_request.py +0 -0
  419. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/user_profile.py +0 -0
  420. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/user_request.py +0 -0
  421. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/user_stub.py +0 -0
  422. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/user_stub_request.py +0 -0
  423. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/vulnerability_id.py +0 -0
  424. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/vulnerability_id_request.py +0 -0
  425. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/vulnerability_id_template.py +0 -0
  426. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/models/vulnerability_id_template_request.py +0 -0
  427. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated/rest.py +0 -0
  428. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated.egg-info/dependency_links.txt +0 -0
  429. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated.egg-info/entry_points.txt +0 -0
  430. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/defectdojo_api_generated.egg-info/top_level.txt +0 -0
  431. {defectdojo_api_generated-2.56.2 → defectdojo_api_generated-2.56.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: defectdojo-api-generated
3
- Version: 2.56.2
3
+ Version: 2.56.4
4
4
  Summary: Python library to interact with DefectDojo - generated from OpenAPI
5
5
  Author-email: Filipe Pina <shelf-corncob-said@duck.com>
6
6
  Project-URL: Homepage, https://github.com/fopina/defectdojo-api-generated
@@ -12,9 +12,8 @@ Requires-Dist: python-dateutil>=2.8.2
12
12
  Requires-Dist: urllib3<3.0.0,>=2.1.0
13
13
  Requires-Dist: typing-extensions>=4.7.1
14
14
  Provides-Extra: cli
15
- Requires-Dist: classyclick==0.8.0; extra == "cli"
15
+ Requires-Dist: classyclick==1.0.0; extra == "cli"
16
16
  Requires-Dist: jmespath>=1.0.1; extra == "cli"
17
- Requires-Dist: platformdirs>=4.4.0; extra == "cli"
18
17
  Dynamic: license-file
19
18
 
20
19
  # defectdojo-api-generated
@@ -33,6 +32,7 @@ Multiple changes done on top of default openapi-generator:
33
32
  * A friendlier Client class
34
33
  * Tweak validations to reduce package import time to about 1/3
35
34
  * Remove most of pydantic/schema validations due to inconsistencies with actual database schema/requirements (tracked in https://github.com/fopina/defectdojo-api-generated/issues/39)
35
+ * *Iterator* methods for every *list* API method to handle pagination automatically
36
36
  * A nice CLI exposing all the API methods <3
37
37
  * installed only as an extra, to keep everything clean when package is used as library only
38
38
 
@@ -44,16 +44,21 @@ Multiple changes done on top of default openapi-generator:
44
44
  pip install defectojo-api-generated
45
45
  ```
46
46
 
47
+ <!-- example-id: example.py -->
47
48
  ```python
48
- from defectdojo_api_generated import DefectDojo
49
-
50
- # password publicly available in https://github.com/DefectDojo/django-DefectDojo/?tab=readme-ov-file#demo
51
- dojo = DefectDojo('https://demo.defectdojo.org/', username='admin', password='...')
52
- r = dojo.findings_api.list()
53
- print(r.json())
49
+ from defectdojo_api_generated import DefectDojo
50
+
51
+ # password publicly available in https://github.com/DefectDojo/django-DefectDojo/?tab=readme-ov-file#demo
52
+ dojo = DefectDojo(base_url='https://demo.defectdojo.org/', auth=('admin', PASSWORD))
53
+ for ind, finding in enumerate(dojo.findings_api.list_iterator(title='Stored XSS')):
54
+ if not ind:
55
+ print(f'Total matched findings: {finding.page.count}')
56
+ print(f'- [{finding.result.severity}] {finding.result.title} - {finding.result.description}')
57
+ r = dojo.system_settings_api.list(limit=1)
58
+ print(f'- {r.results[0]}')
54
59
  ```
55
60
 
56
- #### **Full documentation** [in docs](docs/README.md)
61
+ #### **Full documentation** [readthedocs](https://defectdojo-api-generated.readthedocs.io/)
57
62
 
58
63
  ### CLI
59
64
 
@@ -14,6 +14,7 @@ Multiple changes done on top of default openapi-generator:
14
14
  * A friendlier Client class
15
15
  * Tweak validations to reduce package import time to about 1/3
16
16
  * Remove most of pydantic/schema validations due to inconsistencies with actual database schema/requirements (tracked in https://github.com/fopina/defectdojo-api-generated/issues/39)
17
+ * *Iterator* methods for every *list* API method to handle pagination automatically
17
18
  * A nice CLI exposing all the API methods <3
18
19
  * installed only as an extra, to keep everything clean when package is used as library only
19
20
 
@@ -25,16 +26,21 @@ Multiple changes done on top of default openapi-generator:
25
26
  pip install defectojo-api-generated
26
27
  ```
27
28
 
29
+ <!-- example-id: example.py -->
28
30
  ```python
29
- from defectdojo_api_generated import DefectDojo
30
-
31
- # password publicly available in https://github.com/DefectDojo/django-DefectDojo/?tab=readme-ov-file#demo
32
- dojo = DefectDojo('https://demo.defectdojo.org/', username='admin', password='...')
33
- r = dojo.findings_api.list()
34
- print(r.json())
31
+ from defectdojo_api_generated import DefectDojo
32
+
33
+ # password publicly available in https://github.com/DefectDojo/django-DefectDojo/?tab=readme-ov-file#demo
34
+ dojo = DefectDojo(base_url='https://demo.defectdojo.org/', auth=('admin', PASSWORD))
35
+ for ind, finding in enumerate(dojo.findings_api.list_iterator(title='Stored XSS')):
36
+ if not ind:
37
+ print(f'Total matched findings: {finding.page.count}')
38
+ print(f'- [{finding.result.severity}] {finding.result.title} - {finding.result.description}')
39
+ r = dojo.system_settings_api.list(limit=1)
40
+ print(f'- {r.results[0]}')
35
41
  ```
36
42
 
37
- #### **Full documentation** [in docs](docs/README.md)
43
+ #### **Full documentation** [readthedocs](https://defectdojo-api-generated.readthedocs.io/)
38
44
 
39
45
  ### CLI
40
46
 
@@ -12,7 +12,7 @@ Generated by OpenAPI Generator (https://openapi-generator.tech)
12
12
  Do not edit the class manually.
13
13
  """ # noqa: E501
14
14
 
15
- __version__ = '2.56.2'
15
+ __version__ = '2.56.4'
16
16
 
17
17
  # Define package exports
18
18
  __all__ = [
@@ -1,15 +1,6 @@
1
1
  """Command-line entrypoint for defectdojo_api_generated."""
2
2
 
3
- import importlib
4
- import pkgutil
5
3
  import sys
6
- from pathlib import Path
7
-
8
-
9
- def discover_commands():
10
- # str() required because of py3.10
11
- for _, module_name, _ in pkgutil.iter_modules([str(Path(__file__).parent / 'commands')]):
12
- importlib.import_module(f'{__package__}.commands.{module_name}')
13
4
 
14
5
 
15
6
  def load_cli():
@@ -28,7 +19,6 @@ def load_cli():
28
19
 
29
20
  def main():
30
21
  CLI = load_cli()
31
- discover_commands()
32
22
  CLI.click()
33
23
 
34
24
 
@@ -33,7 +33,7 @@ _PRIMITIVE_CLICK_TYPES = (
33
33
  )
34
34
 
35
35
 
36
- class API(CLI.SubGroup, classyclick.Group):
36
+ class API(CLI.SubGroup):
37
37
  """Interact directly with any API/method"""
38
38
 
39
39
 
@@ -326,7 +326,7 @@ def _build_command_namespace(command_name: str, api_class: type, target_method:
326
326
  def _build_command_class(parent_class: type, namespace: dict[str, Any]) -> type:
327
327
  return type(
328
328
  'ApiCommand',
329
- (parent_class, classyclick.Command),
329
+ (parent_class,),
330
330
  namespace,
331
331
  )
332
332
 
@@ -572,7 +572,7 @@ def make_api_group(module_name: str, api_class: type) -> type:
572
572
  _, target_method = command_methods[0]
573
573
  return make_api_command(api_class, group_name, target_method, parent_class=API.Command)
574
574
 
575
- class ApiGroup(API.SubGroup, classyclick.Group):
575
+ class ApiGroup(API.SubGroup):
576
576
  __config__ = classyclick.Group.Config(
577
577
  name=group_name,
578
578
  help=f'methods from `{api_class.__name__}`.',
@@ -0,0 +1,75 @@
1
+ """Command-line entrypoint for defectdojo_api_generated."""
2
+
3
+ import logging
4
+ from pathlib import Path
5
+
6
+ import classyclick
7
+ import click
8
+
9
+ from defectdojo_api_generated.client import DefectDojo
10
+
11
+ from ... import __version__
12
+
13
+
14
+ class CLI(classyclick.helpers.ConfigFileMixin, classyclick.Group):
15
+ """DefectDojo CLI"""
16
+
17
+ __config__ = classyclick.Group.Config(
18
+ context_settings=dict(show_default=True),
19
+ decorators=[click.version_option(version=__version__, message='%(version)s')],
20
+ )
21
+ CONFIG_DEFAULT_NAME = 'defectdojo-generated-api'
22
+ CONFIG_EXAMPLE_PATH = Path(__file__).parent.parent / 'config.example.toml'
23
+
24
+ host: str = classyclick.Option(
25
+ '-h',
26
+ envvar='DEFECTDOJO_HOST',
27
+ show_envvar=True,
28
+ help='DefectDojo server host',
29
+ )
30
+ token: str = classyclick.Option(
31
+ '-t',
32
+ envvar='DEFECTDOJO_TOKEN',
33
+ show_envvar=True,
34
+ help='DefectDojo API token - if provided, --user/--password are ignored',
35
+ )
36
+ user: str = classyclick.Option(
37
+ '-u',
38
+ envvar='DEFECTDOJO_USER',
39
+ show_envvar=True,
40
+ help='DefectDojo API username',
41
+ )
42
+ password: str = classyclick.Option(
43
+ '-p',
44
+ envvar='DEFECTDOJO_PASSWORD',
45
+ show_envvar=True,
46
+ help='DefectDojo API password',
47
+ )
48
+ disable_tls: bool = classyclick.Option(help='Disable TLS verification in DefectDojo API requests')
49
+ debug_http: bool = classyclick.Option(help='Log HTTP requests and responses')
50
+
51
+ def __call__(self):
52
+ self.load_config()
53
+
54
+ if self.debug_http:
55
+ import http.client
56
+
57
+ http.client.HTTPConnection.debuglevel = 1
58
+ http.client.HTTPSConnection.debuglevel = 1
59
+ logging.basicConfig(level=logging.DEBUG)
60
+ http_client_logger = logging.getLogger('http.client')
61
+ http_client_logger.setLevel(logging.DEBUG)
62
+
63
+ self.ctx.meta['client'] = DefectDojo(
64
+ base_url=self.host,
65
+ token=self.token,
66
+ auth=None if self.token else (self.user, self.password),
67
+ verify_ssl=not self.disable_tls,
68
+ )
69
+
70
+
71
+ class Config(classyclick.helpers.ConfigBaseCommand, CLI.Command):
72
+ pass
73
+
74
+
75
+ classyclick.helpers.discover_commands(__package__)
@@ -8,7 +8,7 @@ from defectdojo_api_generated.client import DefectDojo
8
8
  from .cli import CLI
9
9
 
10
10
 
11
- class Status(CLI.Command, classyclick.Command):
11
+ class Status(CLI.Command):
12
12
  """Quick connectivity check"""
13
13
 
14
14
  client: DefectDojo = classyclick.ContextMeta('client')
@@ -569,7 +569,7 @@ class Configuration:
569
569
  'Python SDK Debug Report:\n'
570
570
  'OS: {env}\n'
571
571
  'Python Version: {pyversion}\n'
572
- 'Version of the API: 2.56.2\n'
572
+ 'Version of the API: 2.56.4\n'
573
573
  'SDK Package Version: 1.0.0'.format(env=sys.platform, pyversion=sys.version)
574
574
  )
575
575
 
@@ -164,7 +164,6 @@ class PatchedSystemSettingsRequest(BaseModel):
164
164
  allow_anonymous_survey_repsonse: Optional[StrictBool] = Field(
165
165
  default=None, description='Enable anyone with a link to the survey to answer a survey'
166
166
  )
167
- credentials: Optional[Annotated[str, Field(strict=True, max_length=3000)]] = None
168
167
  disclaimer_notifications: Optional[Annotated[str, Field(strict=True, max_length=3000)]] = Field(
169
168
  default=None, description='Include this custom disclaimer on all notifications'
170
169
  )
@@ -305,7 +304,6 @@ class PatchedSystemSettingsRequest(BaseModel):
305
304
  'enable_notify_sla_jira_only',
306
305
  'enable_notify_sla_exponential_backoff',
307
306
  'allow_anonymous_survey_repsonse',
308
- 'credentials',
309
307
  'disclaimer_notifications',
310
308
  'disclaimer_reports',
311
309
  'disclaimer_reports_forced',
@@ -491,7 +489,6 @@ class PatchedSystemSettingsRequest(BaseModel):
491
489
  'enable_notify_sla_jira_only': obj.get('enable_notify_sla_jira_only'),
492
490
  'enable_notify_sla_exponential_backoff': obj.get('enable_notify_sla_exponential_backoff'),
493
491
  'allow_anonymous_survey_repsonse': obj.get('allow_anonymous_survey_repsonse'),
494
- 'credentials': obj.get('credentials'),
495
492
  'disclaimer_notifications': obj.get('disclaimer_notifications'),
496
493
  'disclaimer_reports': obj.get('disclaimer_reports'),
497
494
  'disclaimer_reports_forced': obj.get('disclaimer_reports_forced'),
@@ -165,7 +165,6 @@ class SystemSettings(BaseModel):
165
165
  allow_anonymous_survey_repsonse: Optional[StrictBool] = Field(
166
166
  default=None, description='Enable anyone with a link to the survey to answer a survey'
167
167
  )
168
- credentials: Optional[Annotated[str, Field(strict=True, max_length=3000)]] = None
169
168
  disclaimer_notifications: Optional[Annotated[str, Field(strict=True, max_length=3000)]] = Field(
170
169
  default=None, description='Include this custom disclaimer on all notifications'
171
170
  )
@@ -307,7 +306,6 @@ class SystemSettings(BaseModel):
307
306
  'enable_notify_sla_jira_only',
308
307
  'enable_notify_sla_exponential_backoff',
309
308
  'allow_anonymous_survey_repsonse',
310
- 'credentials',
311
309
  'disclaimer_notifications',
312
310
  'disclaimer_reports',
313
311
  'disclaimer_reports_forced',
@@ -499,7 +497,6 @@ class SystemSettings(BaseModel):
499
497
  'enable_notify_sla_jira_only': obj.get('enable_notify_sla_jira_only'),
500
498
  'enable_notify_sla_exponential_backoff': obj.get('enable_notify_sla_exponential_backoff'),
501
499
  'allow_anonymous_survey_repsonse': obj.get('allow_anonymous_survey_repsonse'),
502
- 'credentials': obj.get('credentials'),
503
500
  'disclaimer_notifications': obj.get('disclaimer_notifications'),
504
501
  'disclaimer_reports': obj.get('disclaimer_reports'),
505
502
  'disclaimer_reports_forced': obj.get('disclaimer_reports_forced'),
@@ -164,7 +164,6 @@ class SystemSettingsRequest(BaseModel):
164
164
  allow_anonymous_survey_repsonse: Optional[StrictBool] = Field(
165
165
  default=None, description='Enable anyone with a link to the survey to answer a survey'
166
166
  )
167
- credentials: Optional[Annotated[str, Field(strict=True, max_length=3000)]] = None
168
167
  disclaimer_notifications: Optional[Annotated[str, Field(strict=True, max_length=3000)]] = Field(
169
168
  default=None, description='Include this custom disclaimer on all notifications'
170
169
  )
@@ -305,7 +304,6 @@ class SystemSettingsRequest(BaseModel):
305
304
  'enable_notify_sla_jira_only',
306
305
  'enable_notify_sla_exponential_backoff',
307
306
  'allow_anonymous_survey_repsonse',
308
- 'credentials',
309
307
  'disclaimer_notifications',
310
308
  'disclaimer_reports',
311
309
  'disclaimer_reports_forced',
@@ -491,7 +489,6 @@ class SystemSettingsRequest(BaseModel):
491
489
  'enable_notify_sla_jira_only': obj.get('enable_notify_sla_jira_only'),
492
490
  'enable_notify_sla_exponential_backoff': obj.get('enable_notify_sla_exponential_backoff'),
493
491
  'allow_anonymous_survey_repsonse': obj.get('allow_anonymous_survey_repsonse'),
494
- 'credentials': obj.get('credentials'),
495
492
  'disclaimer_notifications': obj.get('disclaimer_notifications'),
496
493
  'disclaimer_reports': obj.get('disclaimer_reports'),
497
494
  'disclaimer_reports_forced': obj.get('disclaimer_reports_forced'),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: defectdojo-api-generated
3
- Version: 2.56.2
3
+ Version: 2.56.4
4
4
  Summary: Python library to interact with DefectDojo - generated from OpenAPI
5
5
  Author-email: Filipe Pina <shelf-corncob-said@duck.com>
6
6
  Project-URL: Homepage, https://github.com/fopina/defectdojo-api-generated
@@ -12,9 +12,8 @@ Requires-Dist: python-dateutil>=2.8.2
12
12
  Requires-Dist: urllib3<3.0.0,>=2.1.0
13
13
  Requires-Dist: typing-extensions>=4.7.1
14
14
  Provides-Extra: cli
15
- Requires-Dist: classyclick==0.8.0; extra == "cli"
15
+ Requires-Dist: classyclick==1.0.0; extra == "cli"
16
16
  Requires-Dist: jmespath>=1.0.1; extra == "cli"
17
- Requires-Dist: platformdirs>=4.4.0; extra == "cli"
18
17
  Dynamic: license-file
19
18
 
20
19
  # defectdojo-api-generated
@@ -33,6 +32,7 @@ Multiple changes done on top of default openapi-generator:
33
32
  * A friendlier Client class
34
33
  * Tweak validations to reduce package import time to about 1/3
35
34
  * Remove most of pydantic/schema validations due to inconsistencies with actual database schema/requirements (tracked in https://github.com/fopina/defectdojo-api-generated/issues/39)
35
+ * *Iterator* methods for every *list* API method to handle pagination automatically
36
36
  * A nice CLI exposing all the API methods <3
37
37
  * installed only as an extra, to keep everything clean when package is used as library only
38
38
 
@@ -44,16 +44,21 @@ Multiple changes done on top of default openapi-generator:
44
44
  pip install defectojo-api-generated
45
45
  ```
46
46
 
47
+ <!-- example-id: example.py -->
47
48
  ```python
48
- from defectdojo_api_generated import DefectDojo
49
-
50
- # password publicly available in https://github.com/DefectDojo/django-DefectDojo/?tab=readme-ov-file#demo
51
- dojo = DefectDojo('https://demo.defectdojo.org/', username='admin', password='...')
52
- r = dojo.findings_api.list()
53
- print(r.json())
49
+ from defectdojo_api_generated import DefectDojo
50
+
51
+ # password publicly available in https://github.com/DefectDojo/django-DefectDojo/?tab=readme-ov-file#demo
52
+ dojo = DefectDojo(base_url='https://demo.defectdojo.org/', auth=('admin', PASSWORD))
53
+ for ind, finding in enumerate(dojo.findings_api.list_iterator(title='Stored XSS')):
54
+ if not ind:
55
+ print(f'Total matched findings: {finding.page.count}')
56
+ print(f'- [{finding.result.severity}] {finding.result.title} - {finding.result.description}')
57
+ r = dojo.system_settings_api.list(limit=1)
58
+ print(f'- {r.results[0]}')
54
59
  ```
55
60
 
56
- #### **Full documentation** [in docs](docs/README.md)
61
+ #### **Full documentation** [readthedocs](https://defectdojo-api-generated.readthedocs.io/)
57
62
 
58
63
  ### CLI
59
64
 
@@ -88,9 +88,9 @@ defectdojo_api_generated/api/user_contact_infos_api.py
88
88
  defectdojo_api_generated/api/user_profile_api.py
89
89
  defectdojo_api_generated/api/users_api.py
90
90
  defectdojo_api_generated/cli/__main__.py
91
+ defectdojo_api_generated/cli/commands/__init__.py
91
92
  defectdojo_api_generated/cli/commands/apis.py
92
93
  defectdojo_api_generated/cli/commands/cli.py
93
- defectdojo_api_generated/cli/commands/config.py
94
94
  defectdojo_api_generated/cli/commands/status.py
95
95
  defectdojo_api_generated/models/__init__.py
96
96
  defectdojo_api_generated/models/accepted_risk_request.py
@@ -4,6 +4,5 @@ urllib3<3.0.0,>=2.1.0
4
4
  typing-extensions>=4.7.1
5
5
 
6
6
  [cli]
7
- classyclick==0.8.0
7
+ classyclick==1.0.0
8
8
  jmespath>=1.0.1
9
- platformdirs>=4.4.0
@@ -18,9 +18,8 @@ dependencies = [
18
18
 
19
19
  [project.optional-dependencies]
20
20
  cli = [
21
- "classyclick==0.8.0",
21
+ "classyclick==1.0.0",
22
22
  "jmespath>=1.0.1",
23
- "platformdirs>=4.4.0",
24
23
  ]
25
24
 
26
25
  [project.scripts]
@@ -31,9 +30,12 @@ defectdojo-api-generated = "defectdojo_api_generated.cli.__main__:main"
31
30
  [dependency-groups]
32
31
  dev = [
33
32
  "build",
33
+ "mkdocs>=1.6.1",
34
+ "mkdocs-click>=0.9.0",
34
35
  "pytest",
35
36
  "pytest-cov",
36
37
  "pytest-socket",
38
+ "readme-example-tester>=0.0.2",
37
39
  "ruff",
38
40
  "twine",
39
41
  ]
@@ -1,151 +0,0 @@
1
- """Command-line entrypoint for defectdojo_api_generated."""
2
-
3
- import logging
4
- from pathlib import Path
5
- from typing import Optional
6
-
7
- import classyclick
8
- import click
9
- from platformdirs import user_config_dir
10
-
11
- from defectdojo_api_generated.client import DefectDojo
12
-
13
- from ... import __version__
14
-
15
- try:
16
- # Python 3.11+
17
- import tomllib
18
- except ModuleNotFoundError:
19
- # Python < 3.11
20
- import tomli as tomllib # type: ignore
21
-
22
-
23
- DEFAULT_PATH = Path(user_config_dir('defectdojo-generated-api')) / 'config.toml'
24
-
25
-
26
- def ensure_config_file(config_path: Optional[Path]) -> Path:
27
- config_path = config_path or DEFAULT_PATH
28
- if not config_path.exists():
29
- config_path.parent.mkdir(parents=True, exist_ok=True)
30
- config_path.write_text((Path(__file__).parent.parent / 'config.example.toml').read_text())
31
- print(f'Info: No configuration file found at {config_path}, a sample config has been placed there.')
32
-
33
- return config_path
34
-
35
-
36
- def load_config_data(config_path: Path) -> dict:
37
- with config_path.open('rb') as f:
38
- return tomllib.load(f)
39
-
40
-
41
- class CLI(classyclick.Group):
42
- """DefectDojo CLI"""
43
-
44
- __config__ = classyclick.Group.Config(context_settings=dict(show_default=True))
45
-
46
- config: Path = classyclick.Option(help='Path to the configuration file', show_default=str(DEFAULT_PATH))
47
- env: str = classyclick.Option(
48
- '-e', help='Environment to use for the command (as many can be specified in config.toml)'
49
- )
50
- host: str = classyclick.Option(
51
- '-h',
52
- envvar='DEFECTDOJO_HOST',
53
- show_envvar=True,
54
- help='DefectDojo server host',
55
- )
56
- token: str = classyclick.Option(
57
- '-t',
58
- envvar='DEFECTDOJO_TOKEN',
59
- show_envvar=True,
60
- help='DefectDojo API token - if provided, --user/--password are ignored',
61
- )
62
- user: str = classyclick.Option(
63
- '-u',
64
- envvar='DEFECTDOJO_USER',
65
- show_envvar=True,
66
- help='DefectDojo API username',
67
- )
68
- password: str = classyclick.Option(
69
- '-p',
70
- envvar='DEFECTDOJO_PASSWORD',
71
- show_envvar=True,
72
- help='DefectDojo API password',
73
- )
74
- disable_tls: bool = classyclick.Option(help='Disable TLS verification in DefectDojo API requests')
75
- debug_http: bool = classyclick.Option(help='Log HTTP requests and responses')
76
- ctx: classyclick.Context = classyclick.Context()
77
-
78
- def __call__(self):
79
- self.config = ensure_config_file(self.config)
80
- config_data = load_config_data(self.config)
81
-
82
- if self.env is None:
83
- self.env = config_data.get('default_env')
84
-
85
- # allow empty string to choose root environment when "default_env" is set to something else
86
- if self.env:
87
- if self.env not in config_data.get('env', {}):
88
- raise click.ClickException(f'Environment "{self.env}" not found in {self.config}')
89
- env_config = config_data['env'][self.env]
90
- config_data = merge_dicts(config_data, env_config)
91
-
92
- # to late to have these options from default_map, so process them manually
93
- if self.host is None:
94
- self.host = config_data.get('host')
95
-
96
- if self.token is None:
97
- self.token = config_data.get('token')
98
-
99
- if self.user is None:
100
- self.user = config_data.get('user')
101
-
102
- if self.password is None:
103
- self.password = config_data.get('password')
104
-
105
- if self.disable_tls is None:
106
- self.disable_tls = config_data.get('disable_tls', False)
107
-
108
- if self.debug_http:
109
- import http.client
110
-
111
- http.client.HTTPConnection.debuglevel = 1
112
- http.client.HTTPSConnection.debuglevel = 1
113
- logging.basicConfig(level=logging.DEBUG)
114
- http_client_logger = logging.getLogger('http.client')
115
- http_client_logger.setLevel(logging.DEBUG)
116
-
117
- self.ctx.meta['client'] = DefectDojo(
118
- base_url=self.host,
119
- token=self.token,
120
- auth=None if self.token else (self.user, self.password),
121
- verify_ssl=not self.disable_tls,
122
- )
123
- self.ctx.meta['config_path'] = self.config
124
- self.ctx.meta['config_data'] = config_data
125
- self.ctx.meta['selected_env'] = self.env
126
-
127
- self.ctx.default_map = config_data
128
-
129
-
130
- def merge_dicts(base: dict, override: dict) -> dict:
131
- """
132
- To merge two Python dictionaries where:
133
- * nested dictionaries should merge recursively
134
- * lists and other values should be replaced entirely
135
-
136
- by ChatGPT
137
- """
138
- result = base.copy()
139
- for key, value in override.items():
140
- if key in result:
141
- if isinstance(result[key], dict) and isinstance(value, dict):
142
- result[key] = merge_dicts(result[key], value)
143
- else:
144
- result[key] = value
145
- else:
146
- result[key] = value
147
- return result
148
-
149
-
150
- # TODO: classyclick missing @click.version_option - https://github.com/fopina/classyclick/issues/48
151
- CLI.click = click.version_option(version=__version__, message='%(version)s')(CLI.click)
@@ -1,71 +0,0 @@
1
- """Configuration inspection and editing command."""
2
-
3
- import json
4
- import os
5
- import shlex
6
- import shutil
7
- import subprocess
8
-
9
- import classyclick
10
- import click
11
-
12
- from .cli import CLI
13
-
14
- _MASKED = '<masked>'
15
- _SECRET_FIELD_PARTS = ('token', 'password')
16
-
17
-
18
- def _mask_value(key: str, value):
19
- if isinstance(value, dict):
20
- return {nested_key: _mask_value(nested_key, nested_value) for nested_key, nested_value in value.items()}
21
-
22
- if isinstance(value, list):
23
- return [_mask_value(key, item) for item in value]
24
-
25
- if value is None:
26
- return None
27
-
28
- if any(part in key.lower() for part in _SECRET_FIELD_PARTS):
29
- return _MASKED
30
-
31
- return value
32
-
33
-
34
- def _resolve_editor() -> str:
35
- editor = os.environ.get('VISUAL') or os.environ.get('EDITOR')
36
- if editor:
37
- return editor
38
-
39
- for fallback in ('vim', 'vi', 'nano'):
40
- if shutil.which(fallback):
41
- return fallback
42
-
43
- raise click.ClickException('No editor configured. Set VISUAL or EDITOR, or install vim, vi, or nano.')
44
-
45
-
46
- class Config(CLI.Command, classyclick.Command):
47
- """Show or edit the current CLI configuration"""
48
-
49
- edit: bool = classyclick.Option('-e', help='Open the config file in $VISUAL or $EDITOR')
50
-
51
- def __call__(self):
52
- ctx = click.get_current_context().find_root()
53
- config_path = ctx.meta['config_path']
54
-
55
- if self.edit:
56
- editor = _resolve_editor()
57
- try:
58
- subprocess.run([*shlex.split(editor), str(config_path)], check=True)
59
- except FileNotFoundError as exc:
60
- raise click.ClickException(f'Editor command not found: {editor}') from exc
61
- except subprocess.CalledProcessError as exc:
62
- raise click.ClickException(f'Editor exited with status {exc.returncode}') from exc
63
- return
64
-
65
- config = {key: value for key, value in ctx.meta['config_data'].items() if key != 'env'}
66
-
67
- click.echo(f'Config file: {click.style(str(config_path), bold=True)}')
68
- if ctx.meta['selected_env']:
69
- click.echo(f'Environment: {click.style(ctx.meta["selected_env"], bold=True)}')
70
-
71
- click.echo(json.dumps(_mask_value('config', config), indent=2, sort_keys=True))