cmdbsyncer 4.1.0.dev9__tar.gz → 4.1.0.dev11__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.
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/PKG-INFO +1 -1
- cmdbsyncer-4.1.0.dev11/application/buildinfo.txt +1 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/changelog/v4.1.md +1 -4
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/inventorize.py +38 -13
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_inventorize.py +21 -16
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/cmdbsyncer.egg-info/PKG-INFO +1 -1
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/pyproject.toml +1 -1
- cmdbsyncer-4.1.0.dev9/application/buildinfo.txt +0 -1
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/LICENSE +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/README.md +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/_version.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/api/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/api/inventory.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/api/objects.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/api/rules.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/api/syncer.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/api/views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/auth/views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/changelog/.pages +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/changelog/v3.10.md +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/changelog/v3.11.md +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/changelog/v3.12.md +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/changelog/v3.5.md +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/changelog/v3.7.md +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/changelog/v3.8.md +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/changelog/v3.9.md +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/changelog/v4.0.md +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/cli.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/config.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/docu_links.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/enterprise.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/audit.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/cron.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/get_account.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/inventory.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/local_config_file.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/local_config_presets.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/mongo_keys.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/notification_channels.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/notification_dispatch.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/plugins.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/sates.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/sql.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/syncer_jinja.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/tablib_formater.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/tests/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/tests/test_sql.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/mcp_server.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/models/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/models/account.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/models/config.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/models/cron.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/models/field_approval.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/models/forms.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/models/host.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/models/host_inventory_tree.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/models/notification_channel.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/models/notification_rule.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/models/notification_state.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/models/saved_search.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/models/states.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/models/user.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/custom_attributes/models.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/custom_attributes/rules.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/custom_attributes/views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/debug.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/email.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/inventory/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/log/log.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/log/models.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/log/views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/plugin.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/rule/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/rule/filter.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/rule/match.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/rule/models.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/rule/rewrite.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/rule/rule.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/rule/views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/statefile.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/notices/strict_certificate_verification.txt +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/admin_views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/inventory.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/models.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/playbook_rules.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/rules.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/runner.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/site_syncer.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/bmc_remedy/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/bmc_remedy/bmc_remedy.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/bmc_remedy/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/admin_views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/bi.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/cmk2.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/cmk_rules.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/dcd.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/downtimes.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/groups.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/helpers.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/import_v1.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/import_v2.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/inits.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/models.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/notification_rules.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/passwords.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/poolfolder.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/rules.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/sites.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/syncer.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tags.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_bi.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_cmk2.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_cmk_rules.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_dcd.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_downtimes.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_groups.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_helpers.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_import_v1.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_import_v2.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_notification_rules.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_passwords.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_poolfolder.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_rules.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_sites.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_syncer.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_tags.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_users.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/users.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/cisco_dna/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/cisco_dna/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/cisco_dna/syncer.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/cron.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/csv/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/csv/csv.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/csv/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/file_requests.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/idoit/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/idoit/admin_views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/idoit/models.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/idoit/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/idoit/rules.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/idoit/syncer.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/idoit/views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/jdisc/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/jdisc/applications.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/jdisc/devices.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/jdisc/executables.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/jdisc/jdisc.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/jdisc/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/jira/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/jira/jira.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/jira/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/jira_cloud/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/jira_cloud/jira_cloud.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/jira_cloud/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/json/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/json/json.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/json/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/ldap/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/ldap/ldap.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/ldap/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/maintenance/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/maintenance/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/mssql/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/mssql/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/mysql/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/mysql/mysql.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/mysql/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/admin_views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/cluster.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/contacts.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/dataflow.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/devices.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/interfaces.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/ips.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/models.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/netbox.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/networks.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/prefixes.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/rules.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/virtualmachines.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/prtg/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/prtg/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/prtg/prtg.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/pyodbc/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/pyodbc/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/pyodbc/pyodbc.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/rest/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/rest/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/rest/rest.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/admin_views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/autorules.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/models.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/rule_definitions.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/rule_import_export.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/syncer_shell.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/admin_views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/custom_attributes.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/models.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/rules.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/views.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/vmware.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/yml/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/yml/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/yml/yml.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins_cli.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/static/css/cmdbsyncer.css +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/static/js/main.js +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/static/logo_white.png +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/_brand.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/_theme.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/_host_tabs.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/account_pick_type.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/ansible_playbook_run.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/ansible_project_detail.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/ansible_rule_list.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/bulk_label_form.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/changelog_archive.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/checkmk_rule_mngmt_list.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/checkmk_settings_list.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/copy_as_new_form.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/data_quality.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/file/list.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/file/modals/form.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/host_details.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/host_edit.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/host_inventory_tree.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/host_list.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/host_relations_graph.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/host_timeline.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/index.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/local_config_editor.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/master.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/model/clone_confirm.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/model/inline_list_base.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/object_list.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/set_cmk_version_form.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/set_template_form.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/base.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/change_password.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/debug.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/debug_host.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/email/newuser.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/email/notification.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/email/resetpassword.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/formular.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/license_info.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/login.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/logout_confirm.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/request_password.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/set_2fa.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/templates/set_theme.html +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/themes/dracula.css +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/themes/gruvbox-dark.css +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/themes/gruvbox-light.css +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/themes/nord.css +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/themes_registry.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/_form_fields.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/_form_sections.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/account.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/config.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/cron.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/data_quality.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/default.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/field_approval.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/fileadmin.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/host.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/host_filters.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/host_renderers.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/host_widgets.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/license.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/notification_channel.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/notification_rule.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/saved_search.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/views/user.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/cmdbsyncer.egg-info/SOURCES.txt +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/cmdbsyncer.egg-info/dependency_links.txt +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/cmdbsyncer.egg-info/entry_points.txt +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/cmdbsyncer.egg-info/requires.txt +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/cmdbsyncer.egg-info/top_level.txt +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/requirements-ansible.txt +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/requirements-extras.txt +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/requirements.txt +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/setup.cfg +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/syncerapi/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/syncerapi/v1/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/syncerapi/v1/core/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/syncerapi/v1/inventory/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/syncerapi/v1/rest/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/tests/test_api.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/tests/test_api_csrf_invariant.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/tests/test_default_view.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/tests/test_mongo_keys.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/tests/test_plugin.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/tests/test_plugin_ssti.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/tests/test_plugins_cli.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/tests/test_rule.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/tests/test_rule_match.py +0 -0
- {cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/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.1.0.
|
|
3
|
+
Version: 4.1.0.dev11
|
|
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-05-11T11:52:21Z
|
|
@@ -53,10 +53,7 @@
|
|
|
53
53
|
- FEAT: Quick-search on Rule Management matches name and ruleset
|
|
54
54
|
- FIX: Saving a rule with outcomes that target different rulesets is rejected with a flash
|
|
55
55
|
- FEAT: New "Manage Notification Rules" view exports notification rules to Checkmk 2.4 / 2.5 with `cmdbsyncer checkmk export_notifications`; admin edits are detected and corrected on the next run
|
|
56
|
-
- FIX:
|
|
57
|
-
- FIX: Checkmk HW/SW inventory worker errors show the failing hostname, exception type and full traceback instead of a misleading "Timeout error"
|
|
58
|
-
- FIX: Checkmk API errors with a non-JSON body (HTML error page, auth redirect, disabled endpoint) report status code, URL and body snippet instead of the useless message "None NoneNone"
|
|
59
|
-
- FIX: HW/SW inventorize sends `_username`/`_secret` query auth to the legacy `host_inv_api.py` endpoint so the per-host call no longer 401s with a login HTML page
|
|
56
|
+
- FIX: HW/SW inventorize fetches the inventory tree via the REST API's `host_mk_inventory` Livestatus column instead of the legacy `host_inv_api.py` endpoint — works behind OIDC/SSO proxies that block the Multisite path. Each multiprocessing worker also gets its own MongoDB connection, and on failure the failing hostname, exception type and full traceback are reported instead of a misleading "Timeout error"
|
|
60
57
|
|
|
61
58
|
### API
|
|
62
59
|
- FEAT: `/api/v1/objects/<hostname>/relations` reads, adds and removes typed Host relations (CMDB_MODE only)
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Checkmk Inventorize
|
|
3
3
|
"""
|
|
4
4
|
# pylint: disable=too-many-locals,too-many-branches,too-many-nested-blocks,duplicate-code
|
|
5
|
+
import ast
|
|
6
|
+
import base64
|
|
7
|
+
import binascii
|
|
5
8
|
import datetime
|
|
6
9
|
import hashlib
|
|
7
10
|
import json
|
|
@@ -79,20 +82,42 @@ class InventorizeHosts(CMK2): # pylint: disable=too-many-instance-attributes
|
|
|
79
82
|
IPC boundary; shipping a 100-500 KB blob per host through the
|
|
80
83
|
result pipe was a runtime catastrophe at scale.
|
|
81
84
|
"""
|
|
82
|
-
#
|
|
83
|
-
#
|
|
84
|
-
#
|
|
85
|
-
#
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
85
|
+
# Pull the inventory tree via the Livestatus column
|
|
86
|
+
# ``host_mk_inventory`` on the REST API. host_inv_api.py is the
|
|
87
|
+
# legacy Multisite endpoint and is unreachable behind OIDC/SSO
|
|
88
|
+
# proxies (they intercept it before Checkmk sees the Bearer
|
|
89
|
+
# token). The REST API stays Bearer-auth'd, so this path works
|
|
90
|
+
# behind any auth proxy the GUI is normally fronted by. The blob
|
|
91
|
+
# comes back base64-encoded as a Python ``repr()`` of the
|
|
92
|
+
# inventory tree — same key casing (Attributes/Nodes/Pairs/…) as
|
|
93
|
+
# host_inv_api.py, so flatten_inventory below works unchanged.
|
|
94
|
+
url = "domain-types/service/collections/all"
|
|
95
|
+
query = {
|
|
96
|
+
"op": "and",
|
|
97
|
+
"expr": [
|
|
98
|
+
{"op": "=", "left": "description", "right": "Check_MK"},
|
|
99
|
+
{"op": "=", "left": "host_name", "right": hostname},
|
|
100
|
+
],
|
|
101
|
+
}
|
|
102
|
+
params = {
|
|
103
|
+
"query": json.dumps(query),
|
|
104
|
+
"columns": ['host_mk_inventory'],
|
|
91
105
|
}
|
|
92
|
-
api_response = self.request(
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
106
|
+
api_response = self.request(url, params=params, method="GET")
|
|
107
|
+
rows = api_response[0].get('value') or []
|
|
108
|
+
if not rows:
|
|
109
|
+
return hostname, None
|
|
110
|
+
raw = rows[0].get('extensions', {}).get('host_mk_inventory') or {}
|
|
111
|
+
encoded = raw.get('value') if isinstance(raw, dict) else None
|
|
112
|
+
if not encoded:
|
|
113
|
+
return hostname, None
|
|
114
|
+
try:
|
|
115
|
+
text = base64.b64decode(encoded).decode('utf-8', 'replace')
|
|
116
|
+
dict_inventory = ast.literal_eval(text) if text else None
|
|
117
|
+
except (binascii.Error, ValueError, SyntaxError) as exc:
|
|
118
|
+
raise CmkException(
|
|
119
|
+
f"host_mk_inventory parse failed for {hostname}: {exc}"
|
|
120
|
+
) from exc
|
|
96
121
|
if not dict_inventory:
|
|
97
122
|
return hostname, None
|
|
98
123
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Unit tests for checkmk inventorize module
|
|
3
3
|
"""
|
|
4
4
|
# pylint: disable=missing-function-docstring,protected-access,unused-argument,no-value-for-parameter
|
|
5
|
+
import base64
|
|
5
6
|
import hashlib
|
|
6
7
|
import json
|
|
7
8
|
import unittest
|
|
@@ -23,8 +24,7 @@ class TestInventorizeHosts(unittest.TestCase):
|
|
|
23
24
|
def mock_init(self_param, account=False):
|
|
24
25
|
base_mock_init(self_param,
|
|
25
26
|
account_name='Test Account', debug=False,
|
|
26
|
-
config={'
|
|
27
|
-
'settings': {}},
|
|
27
|
+
config={'settings': {}},
|
|
28
28
|
fields={}, found_hosts=set(),
|
|
29
29
|
status_inventory={}, hw_sw_inventory={},
|
|
30
30
|
service_label_inventory={}, config_inventory={},
|
|
@@ -98,21 +98,21 @@ class TestInventorizeHosts(unittest.TestCase):
|
|
|
98
98
|
mock_host.objects.assert_called_once_with(hostname__in=['unknown_host'])
|
|
99
99
|
|
|
100
100
|
def test_get_hw_sw_inventory_data_success(self):
|
|
101
|
+
inventory_tree = {
|
|
102
|
+
'Attributes': {'Pairs': {'model': 'PowerEdge'}},
|
|
103
|
+
'Nodes': {
|
|
104
|
+
'hardware': {
|
|
105
|
+
'Attributes': {'Pairs': {'cpu_model': 'Xeon'}}
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
}
|
|
109
|
+
encoded = base64.b64encode(repr(inventory_tree).encode('utf-8')).decode('ascii')
|
|
101
110
|
api_response = ({
|
|
102
|
-
'
|
|
103
|
-
'
|
|
104
|
-
'
|
|
105
|
-
'Pairs': {'model': 'PowerEdge'}
|
|
106
|
-
},
|
|
107
|
-
'Nodes': {
|
|
108
|
-
'hardware': {
|
|
109
|
-
'Attributes': {
|
|
110
|
-
'Pairs': {'cpu_model': 'Xeon'}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
111
|
+
'value': [{
|
|
112
|
+
'extensions': {
|
|
113
|
+
'host_mk_inventory': {'value': encoded}
|
|
114
114
|
}
|
|
115
|
-
}
|
|
115
|
+
}]
|
|
116
116
|
}, {})
|
|
117
117
|
|
|
118
118
|
self.inv.fields = {'cmk_inventory': ['model*', 'hardware*']}
|
|
@@ -193,8 +193,13 @@ class TestInventorizeHosts(unittest.TestCase):
|
|
|
193
193
|
validate_mongo_keys(self.inv.config_inventory['host1'], 'inventory')
|
|
194
194
|
|
|
195
195
|
def test_get_hw_sw_inventory_data_empty(self):
|
|
196
|
+
# Host known but no inventory column populated yet — empty value
|
|
197
|
+
# string. The new REST path returns (hostname, None) without
|
|
198
|
+
# touching the side-doc.
|
|
196
199
|
api_response = ({
|
|
197
|
-
'
|
|
200
|
+
'value': [{
|
|
201
|
+
'extensions': {'host_mk_inventory': {'value': ''}}
|
|
202
|
+
}]
|
|
198
203
|
}, {})
|
|
199
204
|
|
|
200
205
|
self.inv.fields = {'cmk_inventory': ['model']}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cmdbsyncer
|
|
3
|
-
Version: 4.1.0.
|
|
3
|
+
Version: 4.1.0.dev11
|
|
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>
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "cmdbsyncer"
|
|
7
|
-
version = "4.1.0.
|
|
7
|
+
version = "4.1.0.dev11"
|
|
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-05-11T11:02:28Z
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/local_config_presets.py
RENAMED
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/notification_channels.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/helpers/notification_dispatch.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/custom_attributes/models.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/custom_attributes/rules.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/modules/custom_attributes/views.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/playbook_rules.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/bmc_remedy/bmc_remedy.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/notification_rules.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/__init__.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_bi.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_cmk2.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_cmk_rules.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_dcd.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_downtimes.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_groups.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_helpers.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_import_v1.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_import_v2.py
RENAMED
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_passwords.py
RENAMED
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_rules.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_sites.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_syncer.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_tags.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_users.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev9 → cmdbsyncer-4.1.0.dev11}/application/plugins/jira_cloud/jira_cloud.py
RENAMED
|
File without changes
|