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.
- {cmdbsyncer-4.5.0.dev0/cmdbsyncer.egg-info → cmdbsyncer-4.5.0.dev2}/PKG-INFO +1 -1
- cmdbsyncer-4.5.0.dev2/application/buildinfo.txt +1 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v4.4.md +1 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v4.5.md +3 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/views.py +64 -7
- cmdbsyncer-4.5.0.dev2/application/plugins/op5/__init__.py +42 -0
- cmdbsyncer-4.5.0.dev2/application/plugins/op5/op5.py +127 -0
- cmdbsyncer-4.5.0.dev2/application/plugins/op5/plugin.json +14 -0
- cmdbsyncer-4.5.0.dev2/application/plugins/op5/tests/test_op5.py +68 -0
- cmdbsyncer-4.5.0.dev2/application/plugins/servicenow/tests/__init__.py +3 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2/cmdbsyncer.egg-info}/PKG-INFO +1 -1
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/cmdbsyncer.egg-info/SOURCES.txt +5 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/pyproject.toml +1 -1
- cmdbsyncer-4.5.0.dev0/application/buildinfo.txt +0 -1
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/LICENSE +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/README.md +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/_version.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/api/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/api/inventory.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/api/objects.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/api/rules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/api/syncer.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/api/views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/auth/views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/.pages +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v3.10.md +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v3.11.md +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v3.12.md +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v3.5.md +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v3.7.md +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v3.8.md +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v3.9.md +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v4.0.md +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v4.1.md +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v4.2.md +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/changelog/v4.3.md +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/cli.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/config.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/docu_links.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/enterprise.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/audit.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/cron.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/db_analysis.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/get_account.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/host_import_file.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/host_maintenance.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/import_hostnames.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/inventory.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/jinja_help.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/label_hash.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/label_history.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/local_config_file.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/local_config_presets.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/lookup_table.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/mongo_keys.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/notification_channels.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/notification_dispatch.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/page_title.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/plugins.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/retention.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/sates.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/secret_access.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/shadow_data.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/sql.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/stale_indexes.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/syncer_jinja.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/tablib_formater.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/tests/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/tests/test_sql.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/timezone.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/mcp_server.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/account.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/config.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/cron.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/field_approval.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/forms.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/host.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/host_cleanup.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/host_create_time.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/host_inventory_tree.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/host_label_event.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/host_labels.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/host_templates.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/lookup_table.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/notification_channel.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/notification_rule.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/notification_state.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/project.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/saved_search.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/secret.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/states.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/models/user.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/module_registry.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/custom_attributes/models.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/custom_attributes/ordering.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/custom_attributes/rules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/custom_attributes/views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/debug.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/email.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/inventory/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/log/command_output.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/log/log.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/log/models.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/log/views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/plugin.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/filter.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/list_source.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/list_source_views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/match.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/models.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/rewrite.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/rule.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/rule/views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/search_parser.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/modules/statefile.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/notices/strict_certificate_verification.txt +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/admin_views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/inventory.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/models.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/playbook_rules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/rules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/runner.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/seed.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/site_syncer.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/tests/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/tests/test_runner_ssh_env.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ansible/views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/bmc_remedy/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/bmc_remedy/bmc_remedy.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/bmc_remedy/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/admin_views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/bi.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/cmk2.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/cmk_rules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/config_checks/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/config_checks/base.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/config_checks/httpv2.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/config_checks/pdf.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/data/ruleset_examples.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/data/rulesets_2.4.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/data/rulesets_2.5.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/data_quality.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/dcd.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/download_catalog.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/downtimes.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/folder_attributes.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/folder_view.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/groups.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/helpers.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/import_v1.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/import_v2.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/inits.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/inventorize.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/ldap_connections.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/ldap_models.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/ldap_views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/list_source.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/models.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/notification_rules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/passwords.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/poolfolder.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/rule_analysis_runner.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/rule_passwords.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/rules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/rulesets_catalog.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/sitepool.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/sites.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/syncer.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tags.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_assign_template.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_bi.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_cmk2.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_cmk_conditions.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_cmk_rules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_config_checks.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_data_quality.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_dcd.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_downtimes.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_folder_view.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_groups.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_helpers.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_import_v1.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_import_v2.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_inventorize.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_ldap_connections.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_list_source.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_notification_rules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_passwords.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_poolfolder.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_rule_analysis_runner.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_rule_passwords.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_rules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_setup_rule_form_helpers.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_sitepool.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_sites.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_syncer.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_tags.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_user_generation.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/tests/test_users.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/user_generation.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/user_models.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/checkmk/users.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/cisco_dna/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/cisco_dna/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/cisco_dna/syncer.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/cron.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/csv/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/csv/csv.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/csv/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/admin_views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/models.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/repeats.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/rules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/sender.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/tests/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/tests/test_eda.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/tests/test_repeats.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/eda/views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/file_requests.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/idoit/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/idoit/admin_views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/idoit/models.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/idoit/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/idoit/rules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/idoit/syncer.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/idoit/views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jdisc/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jdisc/applications.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jdisc/devices.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jdisc/executables.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jdisc/jdisc.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jdisc/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira/jira.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/admin_views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/export.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/jira_cloud.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/models.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/rules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/schema_sync.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/tests/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/tests/test_attribute_value.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/jira_cloud/views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/json/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/json/json.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/json/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ldap/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ldap/admin_views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ldap/ldap.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ldap/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/ldap/views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/maintenance/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/maintenance/db_commands.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/maintenance/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/maintenance/tests/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/maintenance/tests/test_delete_all_hosts.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/maintenance/tests/test_delete_inventory.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/mssql/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/mssql/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/mysql/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/mysql/mysql.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/mysql/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/admin_views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/cluster.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/contacts.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/dataflow.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/devices.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/interfaces.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/ips.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/models.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/netbox.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/networks.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/prefixes.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/rules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/tests/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/tests/test_import_filter.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/utils.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/netbox/virtualmachines.py +0 -0
- {cmdbsyncer-4.5.0.dev0/application/plugins/servicenow → cmdbsyncer-4.5.0.dev2/application/plugins/op5}/tests/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/prtg/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/prtg/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/prtg/prtg.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/pyodbc/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/pyodbc/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/pyodbc/pyodbc.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rest/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rest/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rest/rest.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/admin_views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/autorules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/models.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/rule_definitions.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/rule_import_export.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/rules/views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/servicenow/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/servicenow/admin_views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/servicenow/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/servicenow/syncer.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/servicenow/tests/test_table_request.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/servicenow/views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/syncer_shell.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/admin_views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/custom_attributes.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/models.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/rules.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/views.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/vmware/vmware.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/yml/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/yml/plugin.json +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins/yml/yml.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/plugins_cli.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/cmdbsyncer_mark.png +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/css/cmdbsyncer.css +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/favicon.png +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/js/Sortable.min.js +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/js/main.js +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/logo_white.png +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/vendor/README.md +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/vendor/ansible.svg +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/vendor/checkmk.svg +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/vendor/idoit.svg +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/vendor/jira.svg +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/vendor/netbox.svg +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/static/vendor/vmware.svg +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/_brand.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/_theme.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/_timezone.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/_checkmk_download_help.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/_config_check_findings.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/_group_fold.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/_host_tabs.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/account_create.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/account_edit.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/account_field_help.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/account_list.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/account_pick_type.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/ansible_playbook_run.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/ansible_project_detail.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/ansible_rule_list.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/ansible_run_details.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/assign_project_form.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/bulk_label_form.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/changelog_archive.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_config_checks.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_config_checks_report.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_data_quality.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_folder_debug.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_folders.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_list_rule_debug.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_rule_mngmt_list.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_rule_optimization.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_settings_create.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_settings_edit.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_settings_list.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_test_folder_scope.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_user_generation_preview.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/checkmk_user_generation_rule_list.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/copy_as_new_form.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/custom_attribute_list.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/data_quality.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/data_quality_lowercase_preview.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/file/list.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/file/modals/form.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/first_steps.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_csv_import_preview.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_details.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_edit.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_import_error.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_inventory_tree.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_list.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_relations_graph.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/host_timeline.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/index.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/ldap_search.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/local_config_editor.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/master.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/_action_picker.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/_folder_builder.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/_jinja_help.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/_label_condition_editor.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/_list_source_preview.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/_notification_plugin_picker.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/_ruleset_autocomplete.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/checkmk_notification_rule_create.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/checkmk_notification_rule_edit.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/checkmk_rule_create.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/checkmk_rule_edit.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/checkmk_rule_mngmt_create.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/checkmk_rule_mngmt_edit.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/clone_confirm.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/inline_list_base.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/list_source_create.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/model/list_source_edit.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/module_overview.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/object_list.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/project_edit.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/project_import.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/project_import_cmk.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/project_list.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/project_overview.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/secret_reveal.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/servicenow_query.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/set_account_form.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/set_cmk_version_form.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/admin/set_template_form.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/api_tokens.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/base.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/change_password.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/csrf_error.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/debug.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/debug_host.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/email/newuser.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/email/notification.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/email/resetpassword.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/formular.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/license_info.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/login.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/logout_confirm.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/request_password.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/set_2fa.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/templates/set_theme.html +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/themes/dracula.css +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/themes/gruvbox-dark.css +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/themes/gruvbox-light.css +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/themes/nord.css +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/themes_registry.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/_form_fields.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/_form_sections.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/account.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/account_select.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/config.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/cron.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/data_quality.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/default.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/field_approval.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/fileadmin.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/first_steps.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/host.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/host_filters.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/host_inventory_grid.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/host_renderers.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/host_secrets.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/host_widgets.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/license.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/lookup_table.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/menu_links.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/module_overview.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/notification_channel.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/notification_rule.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/project.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/saved_search.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/secret.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/template_select.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/views/user.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/cmdbsyncer.egg-info/dependency_links.txt +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/cmdbsyncer.egg-info/entry_points.txt +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/cmdbsyncer.egg-info/requires.txt +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/cmdbsyncer.egg-info/top_level.txt +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/requirements-ansible-windows.txt +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/requirements-ansible.txt +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/requirements-extras.txt +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/requirements.txt +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/setup.cfg +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/syncerapi/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/syncerapi/v1/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/syncerapi/v1/core/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/syncerapi/v1/inventory/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/syncerapi/v1/rest/__init__.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_account_macro.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_active_templates.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_ansible_cmk_roles.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_ansible_inventory.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_api.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_api_csrf_invariant.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_checkmk_download_catalog.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_config_checks_pdf_smoke.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_config_dir.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_cron_missing_account.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_csrf_config.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_custom_attribute_order.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_data_quality_duplicates.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_default_view.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_disabled_row_style.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_eda_web_smoke.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_enterprise_quiet.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_folder_builder_js.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_global_account_presets.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_host_cleanup.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_host_create_time.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_host_keyvalue_filter.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_host_label_edit.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_host_roundtrip_smoke.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_host_template_filter.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_host_template_resync.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_import_hostnames.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_jinja_get_list.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_jinja_hash.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_jinja_help.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_label_history.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_ldap_search_filter.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_local_config_presets.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_logging_config.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_lookup_table.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_model_indexes.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_mongo_keys.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_page_title.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_plugin.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_plugin_ssti.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_plugins_cli.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_regex_condition_limits.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule_export_templates.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule_filename_detect.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule_import_override.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule_list_rows.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule_list_source.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule_match.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_rule_registry_complete.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_search_parser.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_secret_store_scope.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_security_fixes.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_shadow_source.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_stale_indexes.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_template_merge_fields.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_timezone.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_user_scope_smoke.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_view_permission_flags.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_web_account_password_chars.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_web_account_password_deferred_save.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_web_ansible_account_inventory.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_web_boot_smoke.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_web_debug_pages.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_web_list_source.py +0 -0
- {cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/tests/test_web_requests_smoke.py +0 -0
- {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.
|
|
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
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
'
|
|
1755
|
-
|
|
1756
|
-
|
|
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())
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cmdbsyncer
|
|
3
|
-
Version: 4.5.0.
|
|
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.
|
|
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
|
|
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
|
|
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.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/application/helpers/notification_channels.py
RENAMED
|
File without changes
|
{cmdbsyncer-4.5.0.dev0 → cmdbsyncer-4.5.0.dev2}/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
|
|
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
|