cmdbsyncer 4.1.0.dev10__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.dev10 → cmdbsyncer-4.1.0.dev11}/PKG-INFO +1 -1
- cmdbsyncer-4.1.0.dev11/application/buildinfo.txt +1 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/changelog/v4.1.md +1 -1
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/inventorize.py +38 -20
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_inventorize.py +27 -24
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/cmdbsyncer.egg-info/PKG-INFO +1 -1
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/pyproject.toml +1 -1
- cmdbsyncer-4.1.0.dev10/application/buildinfo.txt +0 -1
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/LICENSE +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/README.md +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/_version.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/api/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/api/inventory.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/api/objects.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/api/rules.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/api/syncer.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/api/views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/auth/views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/changelog/.pages +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/changelog/v3.10.md +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/changelog/v3.11.md +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/changelog/v3.12.md +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/changelog/v3.5.md +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/changelog/v3.7.md +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/changelog/v3.8.md +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/changelog/v3.9.md +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/changelog/v4.0.md +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/cli.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/config.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/docu_links.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/enterprise.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/audit.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/cron.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/get_account.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/inventory.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/local_config_file.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/local_config_presets.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/mongo_keys.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/notification_channels.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/notification_dispatch.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/plugins.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/sates.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/sql.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/syncer_jinja.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/tablib_formater.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/tests/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/tests/test_sql.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/mcp_server.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/models/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/models/account.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/models/config.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/models/cron.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/models/field_approval.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/models/forms.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/models/host.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/models/host_inventory_tree.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/models/notification_channel.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/models/notification_rule.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/models/notification_state.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/models/saved_search.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/models/states.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/models/user.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/custom_attributes/models.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/custom_attributes/rules.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/custom_attributes/views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/debug.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/email.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/inventory/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/log/log.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/log/models.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/log/views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/plugin.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/rule/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/rule/filter.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/rule/match.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/rule/models.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/rule/rewrite.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/rule/rule.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/rule/views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/statefile.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/notices/strict_certificate_verification.txt +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/admin_views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/inventory.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/models.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/playbook_rules.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/rules.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/runner.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/site_syncer.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/bmc_remedy/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/bmc_remedy/bmc_remedy.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/bmc_remedy/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/admin_views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/bi.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/cmk2.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/cmk_rules.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/dcd.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/downtimes.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/groups.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/helpers.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/import_v1.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/import_v2.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/inits.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/models.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/notification_rules.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/passwords.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/poolfolder.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/rules.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/sites.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/syncer.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tags.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_bi.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_cmk2.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_cmk_rules.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_dcd.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_downtimes.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_groups.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_helpers.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_import_v1.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_import_v2.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_notification_rules.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_passwords.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_poolfolder.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_rules.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_sites.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_syncer.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_tags.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_users.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/users.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/cisco_dna/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/cisco_dna/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/cisco_dna/syncer.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/cron.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/csv/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/csv/csv.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/csv/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/file_requests.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/idoit/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/idoit/admin_views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/idoit/models.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/idoit/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/idoit/rules.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/idoit/syncer.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/idoit/views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/jdisc/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/jdisc/applications.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/jdisc/devices.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/jdisc/executables.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/jdisc/jdisc.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/jdisc/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/jira/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/jira/jira.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/jira/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/jira_cloud/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/jira_cloud/jira_cloud.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/jira_cloud/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/json/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/json/json.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/json/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ldap/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ldap/ldap.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ldap/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/maintenance/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/maintenance/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/mssql/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/mssql/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/mysql/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/mysql/mysql.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/mysql/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/admin_views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/cluster.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/contacts.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/dataflow.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/devices.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/interfaces.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/ips.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/models.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/netbox.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/networks.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/prefixes.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/rules.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/netbox/virtualmachines.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/prtg/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/prtg/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/prtg/prtg.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/pyodbc/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/pyodbc/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/pyodbc/pyodbc.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/rest/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/rest/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/rest/rest.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/admin_views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/autorules.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/models.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/rule_definitions.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/rule_import_export.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/rules/views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/syncer_shell.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/admin_views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/custom_attributes.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/models.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/rules.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/views.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/vmware/vmware.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/yml/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/yml/plugin.json +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/yml/yml.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins_cli.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/static/css/cmdbsyncer.css +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/static/js/main.js +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/static/logo_white.png +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/_brand.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/_theme.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/_host_tabs.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/account_pick_type.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/ansible_playbook_run.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/ansible_project_detail.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/ansible_rule_list.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/bulk_label_form.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/changelog_archive.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/checkmk_rule_mngmt_list.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/checkmk_settings_list.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/copy_as_new_form.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/data_quality.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/file/list.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/file/modals/form.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/host_details.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/host_edit.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/host_inventory_tree.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/host_list.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/host_relations_graph.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/host_timeline.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/index.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/local_config_editor.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/master.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/model/clone_confirm.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/model/inline_list_base.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/object_list.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/set_cmk_version_form.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/admin/set_template_form.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/base.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/change_password.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/debug.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/debug_host.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/email/newuser.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/email/notification.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/email/resetpassword.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/formular.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/license_info.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/login.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/logout_confirm.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/request_password.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/set_2fa.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/templates/set_theme.html +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/themes/dracula.css +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/themes/gruvbox-dark.css +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/themes/gruvbox-light.css +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/themes/nord.css +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/themes_registry.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/_form_fields.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/_form_sections.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/account.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/config.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/cron.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/data_quality.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/default.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/field_approval.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/fileadmin.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/host.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/host_filters.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/host_renderers.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/host_widgets.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/license.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/notification_channel.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/notification_rule.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/saved_search.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/views/user.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/cmdbsyncer.egg-info/SOURCES.txt +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/cmdbsyncer.egg-info/dependency_links.txt +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/cmdbsyncer.egg-info/entry_points.txt +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/cmdbsyncer.egg-info/requires.txt +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/cmdbsyncer.egg-info/top_level.txt +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/requirements-ansible.txt +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/requirements-extras.txt +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/requirements.txt +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/setup.cfg +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/syncerapi/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/syncerapi/v1/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/syncerapi/v1/core/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/syncerapi/v1/inventory/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/syncerapi/v1/rest/__init__.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/tests/test_api.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/tests/test_api_csrf_invariant.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/tests/test_default_view.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/tests/test_mongo_keys.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/tests/test_plugin.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/tests/test_plugin_ssti.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/tests/test_plugins_cli.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/tests/test_rule.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/tests/test_rule_match.py +0 -0
- {cmdbsyncer-4.1.0.dev10 → 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,7 +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: HW/SW inventorize
|
|
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"
|
|
57
57
|
|
|
58
58
|
### API
|
|
59
59
|
- FEAT: `/api/v1/objects/<hostname>/relations` reads, adds and removes typed Host relations (CMDB_MODE only)
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/inventorize.py
RENAMED
|
@@ -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,27 +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
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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'],
|
|
105
|
+
}
|
|
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:
|
|
98
118
|
raise CmkException(
|
|
99
|
-
f"
|
|
100
|
-
|
|
101
|
-
)
|
|
102
|
-
dict_inventory = response.json()['result'][hostname]
|
|
119
|
+
f"host_mk_inventory parse failed for {hostname}: {exc}"
|
|
120
|
+
) from exc
|
|
103
121
|
if not dict_inventory:
|
|
104
122
|
return hostname, None
|
|
105
123
|
|
|
@@ -2,10 +2,11 @@
|
|
|
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
|
|
8
|
-
from unittest.mock import
|
|
9
|
+
from unittest.mock import Mock, patch
|
|
9
10
|
|
|
10
11
|
from application.plugins.checkmk.inventorize import (
|
|
11
12
|
InventorizeHosts,
|
|
@@ -23,9 +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
|
-
'username': 'u', 'password': 'p',
|
|
28
|
-
'settings': {}},
|
|
27
|
+
config={'settings': {}},
|
|
29
28
|
fields={}, found_hosts=set(),
|
|
30
29
|
status_inventory={}, hw_sw_inventory={},
|
|
31
30
|
service_label_inventory={}, config_inventory={},
|
|
@@ -99,28 +98,26 @@ class TestInventorizeHosts(unittest.TestCase):
|
|
|
99
98
|
mock_host.objects.assert_called_once_with(hostname__in=['unknown_host'])
|
|
100
99
|
|
|
101
100
|
def test_get_hw_sw_inventory_data_success(self):
|
|
102
|
-
|
|
103
|
-
'
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
},
|
|
108
|
-
'Nodes': {
|
|
109
|
-
'hardware': {
|
|
110
|
-
'Attributes': {
|
|
111
|
-
'Pairs': {'cpu_model': 'Xeon'}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
101
|
+
inventory_tree = {
|
|
102
|
+
'Attributes': {'Pairs': {'model': 'PowerEdge'}},
|
|
103
|
+
'Nodes': {
|
|
104
|
+
'hardware': {
|
|
105
|
+
'Attributes': {'Pairs': {'cpu_model': 'Xeon'}}
|
|
115
106
|
}
|
|
116
|
-
}
|
|
107
|
+
},
|
|
117
108
|
}
|
|
118
|
-
|
|
119
|
-
|
|
109
|
+
encoded = base64.b64encode(repr(inventory_tree).encode('utf-8')).decode('ascii')
|
|
110
|
+
api_response = ({
|
|
111
|
+
'value': [{
|
|
112
|
+
'extensions': {
|
|
113
|
+
'host_mk_inventory': {'value': encoded}
|
|
114
|
+
}
|
|
115
|
+
}]
|
|
116
|
+
}, {})
|
|
120
117
|
|
|
121
118
|
self.inv.fields = {'cmk_inventory': ['model*', 'hardware*']}
|
|
122
119
|
|
|
123
|
-
with patch.object(self.inv, '
|
|
120
|
+
with patch.object(self.inv, 'request', return_value=api_response), \
|
|
124
121
|
patch.object(self.inv, '_save_inventory_tree') as save_tree:
|
|
125
122
|
hostname, data = self.inv.get_hw_sw_inventory_data('host1')
|
|
126
123
|
|
|
@@ -196,12 +193,18 @@ class TestInventorizeHosts(unittest.TestCase):
|
|
|
196
193
|
validate_mongo_keys(self.inv.config_inventory['host1'], 'inventory')
|
|
197
194
|
|
|
198
195
|
def test_get_hw_sw_inventory_data_empty(self):
|
|
199
|
-
|
|
200
|
-
|
|
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.
|
|
199
|
+
api_response = ({
|
|
200
|
+
'value': [{
|
|
201
|
+
'extensions': {'host_mk_inventory': {'value': ''}}
|
|
202
|
+
}]
|
|
203
|
+
}, {})
|
|
201
204
|
|
|
202
205
|
self.inv.fields = {'cmk_inventory': ['model']}
|
|
203
206
|
|
|
204
|
-
with patch.object(self.inv, '
|
|
207
|
+
with patch.object(self.inv, 'request', return_value=api_response), \
|
|
205
208
|
patch.object(self.inv, '_save_inventory_tree') as save_tree:
|
|
206
209
|
hostname, data = self.inv.get_hw_sw_inventory_data('host1')
|
|
207
210
|
|
|
@@ -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:26:20Z
|
|
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.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/local_config_presets.py
RENAMED
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/helpers/notification_channels.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → 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
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/models/notification_channel.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.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/custom_attributes/models.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/modules/custom_attributes/rules.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → 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
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/admin_views.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/playbook_rules.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/ansible/site_syncer.py
RENAMED
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/bmc_remedy/__init__.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/bmc_remedy/bmc_remedy.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/bmc_remedy/plugin.json
RENAMED
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/admin_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
|
{cmdbsyncer-4.1.0.dev10 → 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.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/__init__.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_bi.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_cmk2.py
RENAMED
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_dcd.py
RENAMED
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_groups.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_rules.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_sites.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_syncer.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → cmdbsyncer-4.1.0.dev11}/application/plugins/checkmk/tests/test_tags.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.1.0.dev10 → 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
|