cmdbsyncer 4.5.0.dev0__tar.gz → 4.5.0.dev2__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 (558) hide show
  1. {cmdbsyncer-4.5.0.dev0/cmdbsyncer.egg-info → cmdbsyncer-4.5.0.dev2}/PKG-INFO +1 -1
  2. cmdbsyncer-4.5.0.dev2/application/buildinfo.txt +1 -0
  3. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v4.4.md +1 -0
  4. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v4.5.md +3 -0
  5. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/views.py +64 -7
  6. cmdbsyncer-4.5.0.dev2/application/plugins/op5/__init__.py +42 -0
  7. cmdbsyncer-4.5.0.dev2/application/plugins/op5/op5.py +127 -0
  8. cmdbsyncer-4.5.0.dev2/application/plugins/op5/plugin.json +14 -0
  9. cmdbsyncer-4.5.0.dev2/application/plugins/op5/tests/test_op5.py +68 -0
  10. cmdbsyncer-4.5.0.dev2/application/plugins/servicenow/tests/__init__.py +3 -0
  11. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2/cmdbsyncer.egg-info}/PKG-INFO +1 -1
  12. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/cmdbsyncer.egg-info/SOURCES.txt +5 -0
  13. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/pyproject.toml +1 -1
  14. cmdbsyncer-4.5.0.dev0/application/buildinfo.txt +0 -1
  15. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/LICENSE +0 -0
  16. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/README.md +0 -0
  17. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/__init__.py +0 -0
  18. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/_version.py +0 -0
  19. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/api/__init__.py +0 -0
  20. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/api/inventory.py +0 -0
  21. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/api/objects.py +0 -0
  22. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/api/rules.py +0 -0
  23. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/api/syncer.py +0 -0
  24. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/api/views.py +0 -0
  25. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/auth/views.py +0 -0
  26. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/.pages +0 -0
  27. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v3.10.md +0 -0
  28. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v3.11.md +0 -0
  29. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v3.12.md +0 -0
  30. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v3.5.md +0 -0
  31. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v3.7.md +0 -0
  32. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v3.8.md +0 -0
  33. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v3.9.md +0 -0
  34. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v4.0.md +0 -0
  35. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v4.1.md +0 -0
  36. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v4.2.md +0 -0
  37. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v4.3.md +0 -0
  38. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/cli.py +0 -0
  39. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/config.py +0 -0
  40. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/docu_links.py +0 -0
  41. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/enterprise.py +0 -0
  42. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/__init__.py +0 -0
  43. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/audit.py +0 -0
  44. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/cron.py +0 -0
  45. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/db_analysis.py +0 -0
  46. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/get_account.py +0 -0
  47. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/host_import_file.py +0 -0
  48. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/host_maintenance.py +0 -0
  49. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/import_hostnames.py +0 -0
  50. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/inventory.py +0 -0
  51. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/jinja_help.py +0 -0
  52. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/label_hash.py +0 -0
  53. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/label_history.py +0 -0
  54. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/local_config_file.py +0 -0
  55. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/local_config_presets.py +0 -0
  56. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/lookup_table.py +0 -0
  57. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/mongo_keys.py +0 -0
  58. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/notification_channels.py +0 -0
  59. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/notification_dispatch.py +0 -0
  60. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/page_title.py +0 -0
  61. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/plugins.py +0 -0
  62. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/retention.py +0 -0
  63. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/sates.py +0 -0
  64. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/secret_access.py +0 -0
  65. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/shadow_data.py +0 -0
  66. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/sql.py +0 -0
  67. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/stale_indexes.py +0 -0
  68. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/syncer_jinja.py +0 -0
  69. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/tablib_formater.py +0 -0
  70. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/tests/__init__.py +0 -0
  71. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/tests/test_sql.py +0 -0
  72. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/timezone.py +0 -0
  73. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/mcp_server.py +0 -0
  74. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/__init__.py +0 -0
  75. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/account.py +0 -0
  76. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/config.py +0 -0
  77. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/cron.py +0 -0
  78. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/field_approval.py +0 -0
  79. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/forms.py +0 -0
  80. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/host.py +0 -0
  81. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/host_cleanup.py +0 -0
  82. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/host_create_time.py +0 -0
  83. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/host_inventory_tree.py +0 -0
  84. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/host_label_event.py +0 -0
  85. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/host_labels.py +0 -0
  86. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/host_templates.py +0 -0
  87. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/lookup_table.py +0 -0
  88. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/notification_channel.py +0 -0
  89. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/notification_rule.py +0 -0
  90. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/notification_state.py +0 -0
  91. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/project.py +0 -0
  92. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/saved_search.py +0 -0
  93. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/secret.py +0 -0
  94. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/states.py +0 -0
  95. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/user.py +0 -0
  96. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/module_registry.py +0 -0
  97. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/__init__.py +0 -0
  98. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/custom_attributes/models.py +0 -0
  99. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/custom_attributes/ordering.py +0 -0
  100. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/custom_attributes/rules.py +0 -0
  101. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/custom_attributes/views.py +0 -0
  102. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/debug.py +0 -0
  103. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/email.py +0 -0
  104. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/inventory/__init__.py +0 -0
  105. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/log/command_output.py +0 -0
  106. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/log/log.py +0 -0
  107. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/log/models.py +0 -0
  108. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/log/views.py +0 -0
  109. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/plugin.py +0 -0
  110. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/__init__.py +0 -0
  111. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/filter.py +0 -0
  112. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/list_source.py +0 -0
  113. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/list_source_views.py +0 -0
  114. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/match.py +0 -0
  115. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/models.py +0 -0
  116. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/rewrite.py +0 -0
  117. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/rule.py +0 -0
  118. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/views.py +0 -0
  119. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/search_parser.py +0 -0
  120. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/statefile.py +0 -0
  121. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/notices/strict_certificate_verification.txt +0 -0
  122. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/__init__.py +0 -0
  123. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/__init__.py +0 -0
  124. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/admin_views.py +0 -0
  125. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/inventory.py +0 -0
  126. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/models.py +0 -0
  127. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/playbook_rules.py +0 -0
  128. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/plugin.json +0 -0
  129. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/rules.py +0 -0
  130. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/runner.py +0 -0
  131. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/seed.py +0 -0
  132. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/site_syncer.py +0 -0
  133. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/tests/__init__.py +0 -0
  134. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/tests/test_runner_ssh_env.py +0 -0
  135. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/views.py +0 -0
  136. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/bmc_remedy/__init__.py +0 -0
  137. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/bmc_remedy/bmc_remedy.py +0 -0
  138. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/bmc_remedy/plugin.json +0 -0
  139. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/__init__.py +0 -0
  140. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/admin_views.py +0 -0
  141. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/bi.py +0 -0
  142. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/cmk2.py +0 -0
  143. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/cmk_rules.py +0 -0
  144. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/config_checks/__init__.py +0 -0
  145. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/config_checks/base.py +0 -0
  146. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/config_checks/httpv2.py +0 -0
  147. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/config_checks/pdf.py +0 -0
  148. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/data/ruleset_examples.json +0 -0
  149. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/data/rulesets_2.4.json +0 -0
  150. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/data/rulesets_2.5.json +0 -0
  151. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/data_quality.py +0 -0
  152. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/dcd.py +0 -0
  153. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/download_catalog.py +0 -0
  154. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/downtimes.py +0 -0
  155. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/folder_attributes.py +0 -0
  156. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/folder_view.py +0 -0
  157. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/groups.py +0 -0
  158. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/helpers.py +0 -0
  159. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/import_v1.py +0 -0
  160. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/import_v2.py +0 -0
  161. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/inits.py +0 -0
  162. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/inventorize.py +0 -0
  163. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/ldap_connections.py +0 -0
  164. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/ldap_models.py +0 -0
  165. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/ldap_views.py +0 -0
  166. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/list_source.py +0 -0
  167. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/models.py +0 -0
  168. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/notification_rules.py +0 -0
  169. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/passwords.py +0 -0
  170. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/plugin.json +0 -0
  171. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/poolfolder.py +0 -0
  172. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/rule_analysis_runner.py +0 -0
  173. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/rule_passwords.py +0 -0
  174. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/rules.py +0 -0
  175. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/rulesets_catalog.py +0 -0
  176. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/sitepool.py +0 -0
  177. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/sites.py +0 -0
  178. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/syncer.py +0 -0
  179. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tags.py +0 -0
  180. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/__init__.py +0 -0
  181. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_assign_template.py +0 -0
  182. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_bi.py +0 -0
  183. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_cmk2.py +0 -0
  184. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_cmk_conditions.py +0 -0
  185. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_cmk_rules.py +0 -0
  186. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_config_checks.py +0 -0
  187. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_data_quality.py +0 -0
  188. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_dcd.py +0 -0
  189. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_downtimes.py +0 -0
  190. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_folder_view.py +0 -0
  191. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_groups.py +0 -0
  192. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_helpers.py +0 -0
  193. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_import_v1.py +0 -0
  194. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_import_v2.py +0 -0
  195. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_inventorize.py +0 -0
  196. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_ldap_connections.py +0 -0
  197. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_list_source.py +0 -0
  198. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_notification_rules.py +0 -0
  199. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_passwords.py +0 -0
  200. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_poolfolder.py +0 -0
  201. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_rule_analysis_runner.py +0 -0
  202. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_rule_passwords.py +0 -0
  203. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_rules.py +0 -0
  204. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_setup_rule_form_helpers.py +0 -0
  205. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_sitepool.py +0 -0
  206. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_sites.py +0 -0
  207. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_syncer.py +0 -0
  208. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_tags.py +0 -0
  209. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_user_generation.py +0 -0
  210. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_users.py +0 -0
  211. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/user_generation.py +0 -0
  212. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/user_models.py +0 -0
  213. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/users.py +0 -0
  214. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/cisco_dna/__init__.py +0 -0
  215. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/cisco_dna/plugin.json +0 -0
  216. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/cisco_dna/syncer.py +0 -0
  217. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/cron.py +0 -0
  218. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/csv/__init__.py +0 -0
  219. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/csv/csv.py +0 -0
  220. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/csv/plugin.json +0 -0
  221. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/__init__.py +0 -0
  222. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/admin_views.py +0 -0
  223. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/models.py +0 -0
  224. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/plugin.json +0 -0
  225. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/repeats.py +0 -0
  226. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/rules.py +0 -0
  227. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/sender.py +0 -0
  228. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/tests/__init__.py +0 -0
  229. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/tests/test_eda.py +0 -0
  230. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/tests/test_repeats.py +0 -0
  231. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/views.py +0 -0
  232. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/file_requests.py +0 -0
  233. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/idoit/__init__.py +0 -0
  234. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/idoit/admin_views.py +0 -0
  235. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/idoit/models.py +0 -0
  236. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/idoit/plugin.json +0 -0
  237. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/idoit/rules.py +0 -0
  238. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/idoit/syncer.py +0 -0
  239. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/idoit/views.py +0 -0
  240. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jdisc/__init__.py +0 -0
  241. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jdisc/applications.py +0 -0
  242. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jdisc/devices.py +0 -0
  243. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jdisc/executables.py +0 -0
  244. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jdisc/jdisc.py +0 -0
  245. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jdisc/plugin.json +0 -0
  246. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira/__init__.py +0 -0
  247. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira/jira.py +0 -0
  248. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira/plugin.json +0 -0
  249. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/__init__.py +0 -0
  250. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/admin_views.py +0 -0
  251. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/export.py +0 -0
  252. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/jira_cloud.py +0 -0
  253. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/models.py +0 -0
  254. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/plugin.json +0 -0
  255. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/rules.py +0 -0
  256. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/schema_sync.py +0 -0
  257. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/tests/__init__.py +0 -0
  258. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/tests/test_attribute_value.py +0 -0
  259. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/views.py +0 -0
  260. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/json/__init__.py +0 -0
  261. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/json/json.py +0 -0
  262. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/json/plugin.json +0 -0
  263. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ldap/__init__.py +0 -0
  264. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ldap/admin_views.py +0 -0
  265. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ldap/ldap.py +0 -0
  266. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ldap/plugin.json +0 -0
  267. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ldap/views.py +0 -0
  268. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/maintenance/__init__.py +0 -0
  269. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/maintenance/db_commands.py +0 -0
  270. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/maintenance/plugin.json +0 -0
  271. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/maintenance/tests/__init__.py +0 -0
  272. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/maintenance/tests/test_delete_all_hosts.py +0 -0
  273. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/maintenance/tests/test_delete_inventory.py +0 -0
  274. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/mssql/__init__.py +0 -0
  275. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/mssql/plugin.json +0 -0
  276. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/mysql/__init__.py +0 -0
  277. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/mysql/mysql.py +0 -0
  278. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/mysql/plugin.json +0 -0
  279. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/__init__.py +0 -0
  280. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/admin_views.py +0 -0
  281. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/cluster.py +0 -0
  282. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/contacts.py +0 -0
  283. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/dataflow.py +0 -0
  284. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/devices.py +0 -0
  285. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/interfaces.py +0 -0
  286. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/ips.py +0 -0
  287. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/models.py +0 -0
  288. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/netbox.py +0 -0
  289. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/networks.py +0 -0
  290. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/plugin.json +0 -0
  291. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/prefixes.py +0 -0
  292. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/rules.py +0 -0
  293. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/tests/__init__.py +0 -0
  294. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/tests/test_import_filter.py +0 -0
  295. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/utils.py +0 -0
  296. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/views.py +0 -0
  297. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/virtualmachines.py +0 -0
  298. {cmdbsyncer-4.5.0.dev0/application/plugins/servicenow → cmdbsyncer-4.5.0.dev2/application/plugins/op5}/tests/__init__.py +0 -0
  299. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/prtg/__init__.py +0 -0
  300. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/prtg/plugin.json +0 -0
  301. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/prtg/prtg.py +0 -0
  302. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/pyodbc/__init__.py +0 -0
  303. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/pyodbc/plugin.json +0 -0
  304. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/pyodbc/pyodbc.py +0 -0
  305. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rest/__init__.py +0 -0
  306. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rest/plugin.json +0 -0
  307. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rest/rest.py +0 -0
  308. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/__init__.py +0 -0
  309. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/admin_views.py +0 -0
  310. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/autorules.py +0 -0
  311. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/models.py +0 -0
  312. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/plugin.json +0 -0
  313. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/rule_definitions.py +0 -0
  314. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/rule_import_export.py +0 -0
  315. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/views.py +0 -0
  316. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/servicenow/__init__.py +0 -0
  317. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/servicenow/admin_views.py +0 -0
  318. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/servicenow/plugin.json +0 -0
  319. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/servicenow/syncer.py +0 -0
  320. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/servicenow/tests/test_table_request.py +0 -0
  321. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/servicenow/views.py +0 -0
  322. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/syncer_shell.py +0 -0
  323. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/__init__.py +0 -0
  324. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/admin_views.py +0 -0
  325. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/custom_attributes.py +0 -0
  326. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/models.py +0 -0
  327. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/plugin.json +0 -0
  328. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/rules.py +0 -0
  329. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/views.py +0 -0
  330. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/vmware.py +0 -0
  331. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/yml/__init__.py +0 -0
  332. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/yml/plugin.json +0 -0
  333. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/yml/yml.py +0 -0
  334. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins_cli.py +0 -0
  335. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/cmdbsyncer_mark.png +0 -0
  336. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/css/cmdbsyncer.css +0 -0
  337. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/favicon.png +0 -0
  338. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/js/Sortable.min.js +0 -0
  339. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/js/main.js +0 -0
  340. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/logo_white.png +0 -0
  341. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/vendor/README.md +0 -0
  342. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/vendor/ansible.svg +0 -0
  343. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/vendor/checkmk.svg +0 -0
  344. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/vendor/idoit.svg +0 -0
  345. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/vendor/jira.svg +0 -0
  346. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/vendor/netbox.svg +0 -0
  347. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/vendor/vmware.svg +0 -0
  348. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/_brand.html +0 -0
  349. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/_theme.html +0 -0
  350. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/_timezone.html +0 -0
  351. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/_checkmk_download_help.html +0 -0
  352. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/_config_check_findings.html +0 -0
  353. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/_group_fold.html +0 -0
  354. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/_host_tabs.html +0 -0
  355. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/account_create.html +0 -0
  356. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/account_edit.html +0 -0
  357. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/account_field_help.html +0 -0
  358. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/account_list.html +0 -0
  359. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/account_pick_type.html +0 -0
  360. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/ansible_playbook_run.html +0 -0
  361. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/ansible_project_detail.html +0 -0
  362. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/ansible_rule_list.html +0 -0
  363. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/ansible_run_details.html +0 -0
  364. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/assign_project_form.html +0 -0
  365. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/bulk_label_form.html +0 -0
  366. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/changelog_archive.html +0 -0
  367. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_config_checks.html +0 -0
  368. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_config_checks_report.html +0 -0
  369. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_data_quality.html +0 -0
  370. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_folder_debug.html +0 -0
  371. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_folders.html +0 -0
  372. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_list_rule_debug.html +0 -0
  373. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_rule_mngmt_list.html +0 -0
  374. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_rule_optimization.html +0 -0
  375. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_settings_create.html +0 -0
  376. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_settings_edit.html +0 -0
  377. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_settings_list.html +0 -0
  378. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_test_folder_scope.html +0 -0
  379. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_user_generation_preview.html +0 -0
  380. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_user_generation_rule_list.html +0 -0
  381. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/copy_as_new_form.html +0 -0
  382. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/custom_attribute_list.html +0 -0
  383. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/data_quality.html +0 -0
  384. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/data_quality_lowercase_preview.html +0 -0
  385. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/file/list.html +0 -0
  386. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/file/modals/form.html +0 -0
  387. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/first_steps.html +0 -0
  388. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_csv_import_preview.html +0 -0
  389. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_details.html +0 -0
  390. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_edit.html +0 -0
  391. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_import_error.html +0 -0
  392. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_inventory_tree.html +0 -0
  393. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_list.html +0 -0
  394. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_relations_graph.html +0 -0
  395. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_timeline.html +0 -0
  396. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/index.html +0 -0
  397. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/ldap_search.html +0 -0
  398. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/local_config_editor.html +0 -0
  399. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/master.html +0 -0
  400. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/_action_picker.html +0 -0
  401. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/_folder_builder.html +0 -0
  402. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/_jinja_help.html +0 -0
  403. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/_label_condition_editor.html +0 -0
  404. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/_list_source_preview.html +0 -0
  405. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/_notification_plugin_picker.html +0 -0
  406. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/_ruleset_autocomplete.html +0 -0
  407. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/checkmk_notification_rule_create.html +0 -0
  408. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/checkmk_notification_rule_edit.html +0 -0
  409. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/checkmk_rule_create.html +0 -0
  410. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/checkmk_rule_edit.html +0 -0
  411. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/checkmk_rule_mngmt_create.html +0 -0
  412. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/checkmk_rule_mngmt_edit.html +0 -0
  413. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/clone_confirm.html +0 -0
  414. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/inline_list_base.html +0 -0
  415. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/list_source_create.html +0 -0
  416. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/list_source_edit.html +0 -0
  417. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/module_overview.html +0 -0
  418. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/object_list.html +0 -0
  419. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/project_edit.html +0 -0
  420. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/project_import.html +0 -0
  421. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/project_import_cmk.html +0 -0
  422. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/project_list.html +0 -0
  423. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/project_overview.html +0 -0
  424. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/secret_reveal.html +0 -0
  425. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/servicenow_query.html +0 -0
  426. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/set_account_form.html +0 -0
  427. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/set_cmk_version_form.html +0 -0
  428. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/set_template_form.html +0 -0
  429. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/api_tokens.html +0 -0
  430. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/base.html +0 -0
  431. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/change_password.html +0 -0
  432. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/csrf_error.html +0 -0
  433. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/debug.html +0 -0
  434. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/debug_host.html +0 -0
  435. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/email/newuser.html +0 -0
  436. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/email/notification.html +0 -0
  437. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/email/resetpassword.html +0 -0
  438. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/formular.html +0 -0
  439. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/license_info.html +0 -0
  440. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/login.html +0 -0
  441. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/logout_confirm.html +0 -0
  442. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/request_password.html +0 -0
  443. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/set_2fa.html +0 -0
  444. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/set_theme.html +0 -0
  445. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/themes/dracula.css +0 -0
  446. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/themes/gruvbox-dark.css +0 -0
  447. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/themes/gruvbox-light.css +0 -0
  448. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/themes/nord.css +0 -0
  449. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/themes_registry.py +0 -0
  450. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/_form_fields.py +0 -0
  451. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/_form_sections.py +0 -0
  452. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/account.py +0 -0
  453. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/account_select.py +0 -0
  454. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/config.py +0 -0
  455. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/cron.py +0 -0
  456. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/data_quality.py +0 -0
  457. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/default.py +0 -0
  458. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/field_approval.py +0 -0
  459. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/fileadmin.py +0 -0
  460. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/first_steps.py +0 -0
  461. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/host.py +0 -0
  462. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/host_filters.py +0 -0
  463. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/host_inventory_grid.py +0 -0
  464. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/host_renderers.py +0 -0
  465. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/host_secrets.py +0 -0
  466. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/host_widgets.py +0 -0
  467. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/license.py +0 -0
  468. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/lookup_table.py +0 -0
  469. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/menu_links.py +0 -0
  470. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/module_overview.py +0 -0
  471. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/notification_channel.py +0 -0
  472. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/notification_rule.py +0 -0
  473. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/project.py +0 -0
  474. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/saved_search.py +0 -0
  475. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/secret.py +0 -0
  476. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/template_select.py +0 -0
  477. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/user.py +0 -0
  478. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/cmdbsyncer.egg-info/dependency_links.txt +0 -0
  479. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/cmdbsyncer.egg-info/entry_points.txt +0 -0
  480. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/cmdbsyncer.egg-info/requires.txt +0 -0
  481. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/cmdbsyncer.egg-info/top_level.txt +0 -0
  482. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/requirements-ansible-windows.txt +0 -0
  483. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/requirements-ansible.txt +0 -0
  484. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/requirements-extras.txt +0 -0
  485. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/requirements.txt +0 -0
  486. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/setup.cfg +0 -0
  487. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/syncerapi/__init__.py +0 -0
  488. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/syncerapi/v1/__init__.py +0 -0
  489. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/syncerapi/v1/core/__init__.py +0 -0
  490. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/syncerapi/v1/inventory/__init__.py +0 -0
  491. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/syncerapi/v1/rest/__init__.py +0 -0
  492. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_account_macro.py +0 -0
  493. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_active_templates.py +0 -0
  494. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_ansible_cmk_roles.py +0 -0
  495. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_ansible_inventory.py +0 -0
  496. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_api.py +0 -0
  497. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_api_csrf_invariant.py +0 -0
  498. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_checkmk_download_catalog.py +0 -0
  499. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_config_checks_pdf_smoke.py +0 -0
  500. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_config_dir.py +0 -0
  501. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_cron_missing_account.py +0 -0
  502. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_csrf_config.py +0 -0
  503. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_custom_attribute_order.py +0 -0
  504. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_data_quality_duplicates.py +0 -0
  505. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_default_view.py +0 -0
  506. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_disabled_row_style.py +0 -0
  507. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_eda_web_smoke.py +0 -0
  508. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_enterprise_quiet.py +0 -0
  509. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_folder_builder_js.py +0 -0
  510. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_global_account_presets.py +0 -0
  511. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_host_cleanup.py +0 -0
  512. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_host_create_time.py +0 -0
  513. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_host_keyvalue_filter.py +0 -0
  514. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_host_label_edit.py +0 -0
  515. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_host_roundtrip_smoke.py +0 -0
  516. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_host_template_filter.py +0 -0
  517. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_host_template_resync.py +0 -0
  518. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_import_hostnames.py +0 -0
  519. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_jinja_get_list.py +0 -0
  520. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_jinja_hash.py +0 -0
  521. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_jinja_help.py +0 -0
  522. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_label_history.py +0 -0
  523. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_ldap_search_filter.py +0 -0
  524. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_local_config_presets.py +0 -0
  525. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_logging_config.py +0 -0
  526. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_lookup_table.py +0 -0
  527. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_model_indexes.py +0 -0
  528. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_mongo_keys.py +0 -0
  529. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_page_title.py +0 -0
  530. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_plugin.py +0 -0
  531. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_plugin_ssti.py +0 -0
  532. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_plugins_cli.py +0 -0
  533. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_regex_condition_limits.py +0 -0
  534. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule.py +0 -0
  535. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule_export_templates.py +0 -0
  536. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule_filename_detect.py +0 -0
  537. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule_import_override.py +0 -0
  538. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule_list_rows.py +0 -0
  539. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule_list_source.py +0 -0
  540. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule_match.py +0 -0
  541. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule_registry_complete.py +0 -0
  542. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_search_parser.py +0 -0
  543. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_secret_store_scope.py +0 -0
  544. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_security_fixes.py +0 -0
  545. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_shadow_source.py +0 -0
  546. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_stale_indexes.py +0 -0
  547. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_template_merge_fields.py +0 -0
  548. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_timezone.py +0 -0
  549. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_user_scope_smoke.py +0 -0
  550. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_view_permission_flags.py +0 -0
  551. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_web_account_password_chars.py +0 -0
  552. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_web_account_password_deferred_save.py +0 -0
  553. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_web_ansible_account_inventory.py +0 -0
  554. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_web_boot_smoke.py +0 -0
  555. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_web_debug_pages.py +0 -0
  556. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_web_list_source.py +0 -0
  557. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_web_requests_smoke.py +0 -0
  558. {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_webhook_token_hash.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cmdbsyncer
3
- Version: 4.5.0.dev0
3
+ Version: 4.5.0.dev2
4
4
  Summary: Rule-based modular synchronizer for Checkmk, Netbox, Ansible, I-DOIT, Jira CMDB and 15+ other CMDB/monitoring systems
5
5
  Author-email: Kuhn & Ruess GmbH <info@kuhn-ruess.de>
6
6
  Maintainer-email: Bastian Kuhn <mail@bastian-kuhn.de>
@@ -0,0 +1 @@
1
+ BUILD_DATE=2026-10-30T08:47:03Z
@@ -1,6 +1,7 @@
1
1
  # Version 4.4
2
2
 
3
3
  ## Unreleased
4
+ - FIX: Checkmk: Manage OMD Server creates a missing site again, including the initial cmkadmin password, instead of failing on the update step
4
5
  - FIX: REST import: entries without the hostname field are skipped instead of aborting the whole import
5
6
  - FIX: Checkmk users: an empty row under Roles or Contact Groups is no longer sent to Checkmk, which rejected the user because of it
6
7
  - FIX: Files: creating a folder, uploading, renaming or editing a file works again when the syncer runs under a sub-path such as /cmdbsyncer — the dialog sent its form to the address without that path
@@ -2,6 +2,9 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ - FEAT: Checkmk Settings: a Run Playbook button on every entry, and the list action Run Manage OMD Server, install or update Checkmk right from the settings, only on the servers of the enabled sites that use them; the list shows only name, documentation, version and server user
6
+ - FEAT: New OP5 Monitor import: `op5 import_hosts` and `op5 inventorize_hosts` read all hosts with address, alias, host groups, contacts, contact groups, parents and custom variables from an account of type OP5 Monitor
7
+ - FEAT: New Ansible playbook `deploy_configs/install/install_redhat.yml` installs the Syncer on RedHat, Rocky or Alma with MongoDB, Gunicorn and Apache, either as its own virtual host or under a sub-path, served over HTTPS
5
8
  - FEAT: API: the cron status (`/api/v1/syncer/cron/`) tells whether a cron group is enabled, so the Checkmk plugin no longer monitors disabled or deleted cron groups
6
9
  - FEAT: Checkmk: new Manage LDAP Connections maintains the LDAP connections Checkmk logs its users in with, including contact groups and roles from directory groups; server and bind password come from an LDAP account, `checkmk export_ldap_connections` creates, updates or removes them
7
10
  - FEAT: `rules export_all_rules --zip` writes the export compressed into a zip archive, and `rules import_rules` reads such an archive back as it is
@@ -26,6 +26,7 @@ from flask_admin.contrib.mongoengine.filters import (
26
26
  from flask import redirect, url_for, request, render_template, flash
27
27
 
28
28
  from flask_login import current_user
29
+ from flask_wtf.csrf import generate_csrf
29
30
  from application import app
30
31
  from application.views.default import DefaultModelView
31
32
  from application.models.account import Account, CustomEntry
@@ -41,6 +42,7 @@ from application.modules.rule.views import (
41
42
  )
42
43
  from application.views._form_sections import modern_form, section
43
44
  from application.models.project import Project
45
+ from application.plugins.ansible.runner import run_playbook
44
46
  from application.helpers.syncer_jinja import check_jinja_syntax
45
47
  from application.modules.rule.list_source import is_list_rule, rule_uses_list
46
48
  from application.modules.rule.list_source_views import (
@@ -1633,6 +1635,20 @@ class CheckmkUserMngmtView(DefaultModelView):
1633
1635
 
1634
1636
 
1635
1637
 
1638
+ def _render_run_server_mngmt(_view, _context, model, _name):
1639
+ """Button that starts Manage OMD Server for the sites of these settings"""
1640
+ run_url = url_for('.run_server_mngmt', settings_id=model.id)
1641
+ return Markup(
1642
+ f'<form method="POST" action="{escape(run_url)}" style="display:inline" '
1643
+ f"onsubmit=\"return confirm('Install or update Checkmk on the servers "
1644
+ f"of the enabled sites that use these settings?');\">"
1645
+ f'<input type="hidden" name="csrf_token" value="{escape(generate_csrf())}">'
1646
+ f'<button class="btn btn-primary btn-sm" type="submit">'
1647
+ f'<i class="fa fa-play"></i> Run Playbook</button>'
1648
+ f'</form>'
1649
+ )
1650
+
1651
+
1636
1652
  class CheckmkSettingsView(DefaultModelView):
1637
1653
  """
1638
1654
  Checkmk Server Settings View
@@ -1748,13 +1764,15 @@ class CheckmkSettingsView(DefaultModelView):
1748
1764
  ),
1749
1765
  ]
1750
1766
 
1751
- column_exclude_list = [
1752
- 'inital_password',
1753
- 'subscription_username',
1754
- 'subscription_password',
1755
- 'download_proxy',
1756
- 'cmk_secret',
1757
- ]
1767
+ column_list = ('name', 'documentation', 'cmk_version', 'server_user', 'run_playbook')
1768
+
1769
+ column_formatters = {
1770
+ 'run_playbook': _render_run_server_mngmt,
1771
+ }
1772
+
1773
+ column_labels = {
1774
+ 'run_playbook': 'Manage OMD Server',
1775
+ }
1758
1776
 
1759
1777
  # Fill-in help for version and filename, see _checkmk_download_help.html
1760
1778
  create_template = 'admin/checkmk_settings_create.html'
@@ -1805,6 +1823,45 @@ class CheckmkSettingsView(DefaultModelView):
1805
1823
  url = url_for('.set_cmk_version_form', ids=','.join(ids))
1806
1824
  return redirect(url)
1807
1825
 
1826
+ @action('run_server_mngmt', 'Run Manage OMD Server',
1827
+ 'Install or update Checkmk on the servers of the enabled sites '
1828
+ 'that use the selected settings?')
1829
+ def action_run_server_mngmt(self, ids):
1830
+ """
1831
+ Action to start Manage OMD Server for the selected Entries
1832
+ """
1833
+ return self._run_server_mngmt(ids)
1834
+
1835
+ @expose('/run/<settings_id>', methods=('POST',))
1836
+ def run_server_mngmt(self, settings_id):
1837
+ """
1838
+ Run button of a single row
1839
+ """
1840
+ return self._run_server_mngmt([settings_id])
1841
+
1842
+ def _run_server_mngmt(self, ids):
1843
+ """
1844
+ Start the Manage OMD Server playbook, limited to the servers of the
1845
+ enabled sites that use the given settings
1846
+ """
1847
+ if not current_user.has_right('ansible'):
1848
+ flash('Running playbooks needs the Ansible right', 'error')
1849
+ return redirect(url_for('.index_view'))
1850
+ settings = list(CheckmkSettings.objects(id__in=ids))
1851
+ servers = sorted({site.server_address for site in
1852
+ CheckmkSite.objects(settings_master__in=settings, enabled=True)})
1853
+ if not servers:
1854
+ flash('No enabled site uses the selected settings', 'error')
1855
+ return redirect(url_for('.index_view'))
1856
+ stats = run_playbook(
1857
+ 'cmk_server_mngmt.yml',
1858
+ target_host=','.join(servers),
1859
+ source='ui',
1860
+ triggered_by=current_user.email,
1861
+ )
1862
+ flash(f"Run started for {', '.join(servers)}", 'success')
1863
+ return redirect(url_for('ansiblerunstats.details_view', id=str(stats.pk)))
1864
+
1808
1865
  @expose('/set_cmk_version_form')
1809
1866
  def set_cmk_version_form(self):
1810
1867
  """
@@ -0,0 +1,42 @@
1
+ """OP5 Monitor plugin."""
2
+ import click
3
+ from application import app
4
+ from application.helpers.plugins import register_cli_group
5
+
6
+ from syncerapi.v1 import register_cronjob
7
+
8
+ from .op5 import inventorize_op5, import_op5
9
+
10
+ op5_cli = register_cli_group(app, 'op5', 'op5', "OP5 Monitor Commands")
11
+
12
+ @op5_cli.command('import_hosts')
13
+ @click.argument("account")
14
+ @click.option("--debug", is_flag=True)
15
+ def cmd_import_op5(account, debug):
16
+ """
17
+ Import Hosts from OP5 Monitor
18
+ """
19
+ try:
20
+ import_op5(account, debug)
21
+ except Exception as error: # pylint: disable=broad-exception-caught
22
+ if debug:
23
+ raise
24
+ print(f"Error: {error}")
25
+
26
+ register_cronjob('OP5 Monitor: Import Hosts', import_op5)
27
+
28
+ @op5_cli.command('inventorize_hosts')
29
+ @click.argument("account")
30
+ @click.option("--debug", is_flag=True)
31
+ def cmd_inventorize_op5(account, debug):
32
+ """
33
+ Inventorize Hosts from OP5 Monitor
34
+ """
35
+ try:
36
+ inventorize_op5(account, debug)
37
+ except Exception as error: # pylint: disable=broad-exception-caught
38
+ if debug:
39
+ raise
40
+ print(f"Error: {error}")
41
+
42
+ register_cronjob('OP5 Monitor: Inventorize Hosts', inventorize_op5)
@@ -0,0 +1,127 @@
1
+ """
2
+ Import Hosts from OP5 Monitor
3
+
4
+ Reads the hosts through the filter API of OP5 Monitor:
5
+ GET /api/filter/query?query=[hosts] all&columns=...&format=json
6
+
7
+ API Output (one entry per host):
8
+ [{'name': 'web01',
9
+ 'alias': 'Webserver 01',
10
+ 'display_name': 'web01',
11
+ 'address': '10.0.0.1',
12
+ 'groups': ['linux', 'web'],
13
+ 'contacts': ['admin'],
14
+ 'contact_groups': ['linux-admins'],
15
+ 'parents': ['switch01'],
16
+ 'notes': '',
17
+ 'custom_variables': {'LOCATION': 'Berlin'}}]
18
+ """
19
+ from syncerapi.v1 import (
20
+ cc,
21
+ )
22
+
23
+ from application.modules.plugin import Plugin
24
+ from application.helpers.inventory import run_inventory
25
+ from application.helpers.import_hostnames import get_import_hosts, update_import_host
26
+
27
+ DEFAULT_COLUMNS = [
28
+ "name", "alias", "display_name", "address", "groups", "contacts",
29
+ "contact_groups", "parents", "notes", "custom_variables",
30
+ ]
31
+
32
+
33
+ class Op5(Plugin):
34
+ """
35
+ OP5 Monitor Import
36
+ """
37
+ page_size = 1000
38
+
39
+ def columns(self):
40
+ """
41
+ Columns to request, the account field `columns` overrides the default.
42
+ The hostname column `name` is always part of the request.
43
+ """
44
+ configured = [x.strip() for x in self.config.get('columns', '').split(',')
45
+ if x.strip()]
46
+ columns = configured or list(DEFAULT_COLUMNS)
47
+ if 'name' not in columns:
48
+ columns.insert(0, 'name')
49
+ return columns
50
+
51
+ @staticmethod
52
+ def prepare_attributes(host):
53
+ """
54
+ Flatten the custom variables of a host into own attributes,
55
+ so they can be used like every other attribute.
56
+ """
57
+ attributes = dict(host)
58
+ custom_variables = attributes.pop('custom_variables', None)
59
+ if isinstance(custom_variables, dict):
60
+ for key, value in custom_variables.items():
61
+ attributes[f'custom_variable_{key.lower()}'] = value
62
+ return attributes
63
+
64
+ def get_hosts(self):
65
+ """
66
+ Return Hostname and Attributes of every host, paging through the API
67
+ """
68
+ url = f"{self.config['address'].rstrip('/')}/api/filter/query"
69
+ auth = (self.config['username'], self.config['password'])
70
+ print(f"{cc.OKGREEN} -- {cc.ENDC}Request: Read all Hosts")
71
+
72
+ offset = 0
73
+ while True:
74
+ params = {
75
+ "query": "[hosts] all",
76
+ "columns": ",".join(self.columns()),
77
+ "format": "json",
78
+ "limit": str(self.page_size),
79
+ "offset": str(offset),
80
+ }
81
+ response = self.inner_request(method="GET", url=url, params=params, auth=auth)
82
+ hosts = response.json()
83
+ if not isinstance(hosts, list):
84
+ raise ValueError(f"Unexpected answer from OP5: {hosts}")
85
+ for host in hosts:
86
+ yield host['name'], self.prepare_attributes(host)
87
+
88
+ if len(hosts) < self.page_size:
89
+ return
90
+ offset += len(hosts)
91
+
92
+ def import_objects(self):
93
+ """
94
+ Import Hosts from OP5
95
+ """
96
+ for hostname, attributes in self.get_hosts():
97
+ for name, host_obj in get_import_hosts(hostname, self.config, attributes):
98
+ print(f" {cc.OKGREEN}** {cc.ENDC} Update {name}")
99
+ update_import_host(host_obj, attributes, self.config)
100
+
101
+ def inventorize_objects(self):
102
+ """
103
+ Inventorize OP5 Hosts
104
+ """
105
+ run_inventory(self.config, self.get_hosts())
106
+
107
+ def import_op5(account, debug=False):
108
+ """
109
+ Import
110
+ """
111
+ op5 = Op5(account)
112
+ op5.debug = debug
113
+ op5.name = "OP5 Monitor: Import Hosts"
114
+ op5.source = "op5_import"
115
+
116
+ op5.import_objects()
117
+
118
+ def inventorize_op5(account, debug=False):
119
+ """
120
+ Inventorize
121
+ """
122
+ op5 = Op5(account)
123
+ op5.debug = debug
124
+ op5.name = "OP5 Monitor: Inventorize Hosts"
125
+ op5.source = "op5_inventorize"
126
+
127
+ op5.inventorize_objects()
@@ -0,0 +1,14 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "author": "Kuhn & Rueß GmbH",
4
+ "name": "OP5 Monitor",
5
+ "description": "",
6
+ "ident": "op5",
7
+ "account_presets" : {
8
+ "address": "https://op5server"
9
+ },
10
+ "account_custom_field_presets": {
11
+ "columns": "",
12
+ "rewrite_hostname": ""
13
+ }
14
+ }
@@ -0,0 +1,68 @@
1
+ """
2
+ Unit tests for the OP5 Monitor import
3
+ """
4
+ # pylint: disable=missing-function-docstring
5
+ import unittest
6
+ from unittest.mock import MagicMock
7
+
8
+ from application.plugins.op5.op5 import Op5, DEFAULT_COLUMNS
9
+
10
+
11
+ def make_op5(columns=''):
12
+ op5 = Op5.__new__(Op5)
13
+ op5.config = {
14
+ 'address': 'https://op5.example.com/',
15
+ 'username': 'user',
16
+ 'password': 'secret',
17
+ 'columns': columns,
18
+ }
19
+ return op5
20
+
21
+
22
+ class TestOp5(unittest.TestCase):
23
+ """Tests for the OP5 host import"""
24
+
25
+ def test_default_columns(self):
26
+ self.assertEqual(make_op5().columns(), DEFAULT_COLUMNS)
27
+
28
+ def test_configured_columns_always_contain_name(self):
29
+ self.assertEqual(make_op5('address, groups').columns(),
30
+ ['name', 'address', 'groups'])
31
+
32
+ def test_custom_variables_are_flattened(self):
33
+ attributes = Op5.prepare_attributes({
34
+ 'name': 'web01',
35
+ 'groups': ['linux'],
36
+ 'custom_variables': {'LOCATION': 'Berlin'},
37
+ })
38
+ self.assertEqual(attributes, {
39
+ 'name': 'web01',
40
+ 'groups': ['linux'],
41
+ 'custom_variable_location': 'Berlin',
42
+ })
43
+
44
+ def test_get_hosts_pages_through_api(self):
45
+ op5 = make_op5()
46
+ op5.page_size = 2
47
+ pages = [
48
+ [{'name': 'a'}, {'name': 'b'}],
49
+ [{'name': 'c'}],
50
+ ]
51
+ op5.inner_request = MagicMock(side_effect=[
52
+ MagicMock(json=MagicMock(return_value=page)) for page in pages
53
+ ])
54
+ hostnames = [name for name, _ in op5.get_hosts()]
55
+ self.assertEqual(hostnames, ['a', 'b', 'c'])
56
+
57
+ first_call = op5.inner_request.call_args_list[0].kwargs
58
+ self.assertEqual(first_call['url'], 'https://op5.example.com/api/filter/query')
59
+ self.assertEqual(first_call['auth'], ('user', 'secret'))
60
+ self.assertEqual(first_call['params']['query'], '[hosts] all')
61
+ self.assertEqual(op5.inner_request.call_args_list[1].kwargs['params']['offset'], '2')
62
+
63
+ def test_error_answer_raises(self):
64
+ op5 = make_op5()
65
+ op5.inner_request = MagicMock(return_value=MagicMock(
66
+ json=MagicMock(return_value={'error': 'Invalid column'})))
67
+ with self.assertRaises(ValueError):
68
+ list(op5.get_hosts())
@@ -0,0 +1,3 @@
1
+ # pylint: disable=unused-import
2
+ """Bootstrap test stubs before any test in this package runs."""
3
+ import tests # noqa: F401 — triggers MongoDB stub setup
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cmdbsyncer
3
- Version: 4.5.0.dev0
3
+ Version: 4.5.0.dev2
4
4
  Summary: Rule-based modular synchronizer for Checkmk, Netbox, Ansible, I-DOIT, Jira CMDB and 15+ other CMDB/monitoring systems
5
5
  Author-email: Kuhn & Ruess GmbH <info@kuhn-ruess.de>
6
6
  Maintainer-email: Bastian Kuhn <mail@bastian-kuhn.de>
@@ -293,6 +293,11 @@ application/plugins/netbox/views.py
293
293
  application/plugins/netbox/virtualmachines.py
294
294
  application/plugins/netbox/tests/__init__.py
295
295
  application/plugins/netbox/tests/test_import_filter.py
296
+ application/plugins/op5/__init__.py
297
+ application/plugins/op5/op5.py
298
+ application/plugins/op5/plugin.json
299
+ application/plugins/op5/tests/__init__.py
300
+ application/plugins/op5/tests/test_op5.py
296
301
  application/plugins/prtg/__init__.py
297
302
  application/plugins/prtg/plugin.json
298
303
  application/plugins/prtg/prtg.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "cmdbsyncer"
7
- version = "4.5.0.dev0"
7
+ version = "4.5.0.dev2"
8
8
  description = "Rule-based modular synchronizer for Checkmk, Netbox, Ansible, I-DOIT, Jira CMDB and 15+ other CMDB/monitoring systems"
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
@@ -1 +0,0 @@
1
- BUILD_DATE=2026-10-29T12:50:13Z
File without changes