[mypy]
mypy_path = ./pcs/bundled/packages

# Modules and packages with full support have more strict checks enabled
[mypy-pcs.cli.common.printable_tree]
disallow_untyped_defs = True
disallow_untyped_calls = True

[mypy-pcs.cli.common.routing]
disallow_untyped_defs = True
disallow_untyped_calls = True

[mypy-pcs.cli.nvset]
disallow_untyped_defs = True
disallow_untyped_calls = True

[mypy-pcs.cli.reports.*]
disallow_untyped_defs = True

[mypy-pcs.cli.resource.relations]
disallow_untyped_defs = True
disallow_untyped_calls = True

[mypy-pcs.cli.routing.*]
disallow_untyped_defs = True

[mypy-pcs.cli.rule]
disallow_untyped_defs = True
disallow_untyped_calls = True

[mypy-pcs.cli.tag.command]
disallow_untyped_defs = True



[mypy-pcs.common.interface.*]
disallow_untyped_defs = True
disallow_untyped_calls = True

[mypy-pcs.common.pacemaker.*]
disallow_untyped_defs = True
disallow_untyped_calls = True

[mypy-pcs.common.reports.*]
disallow_untyped_defs = True

[mypy-pcs.common.reports.constraints.*]
# this is a temporary solution for legacy code
disallow_untyped_defs = False

[mypy-pcs.common.ssl]
disallow_untyped_defs = True

[mypy-pcs.common.types]
disallow_untyped_defs = True
disallow_untyped_calls = True

[mypy-pcs.common.validate]
disallow_untyped_defs = True
disallow_untyped_calls = True

[mypy-pcs.common.services.*]
disallow_untyped_defs = True
disallow_untyped_calls = True



[mypy-pcs.entry_points.*]
disallow_untyped_defs = True
disallow_untyped_calls = True



[mypy-pcs.lib.cib.nvpair_multi]
disallow_untyped_defs = True

[mypy-pcs.lib.cib.resource.relations]
disallow_untyped_defs = True
disallow_untyped_calls = True

[mypy-pcs.lib.cib.rule.*]
disallow_untyped_defs = True
disallow_untyped_calls = True

[mypy-pcs.lib.cib.tag]
disallow_untyped_defs = True

[mypy-pcs.lib.commands.cib_options]
disallow_untyped_defs = True

[mypy-pcs.lib.commands.dr]
disallow_untyped_defs = True

[mypy-pcs.lib.commands.status]
disallow_untyped_defs = True

[mypy-pcs.lib.commands.tag]
disallow_untyped_defs = True

[mypy-pcs.lib.dr.*]
disallow_untyped_defs = True
disallow_untyped_calls = True

[mypy-pcs.lib.resource_agent]
disallow_untyped_defs = True
disallow_untyped_calls = True

[mypy-pcs.lib.services]
disallow_untyped_defs = True

[mypy-pcs.lib.validate]
disallow_untyped_defs = True
disallow_untyped_calls = True


# Modules with issues in typehinting:
# TODO: fix
[mypy-pcs.daemon.*]
ignore_errors = True



# We don't want to type check tests
[mypy-pcs_test.*]
ignore_errors = True



# External libraries
[mypy-clufter.*]
ignore_missing_imports = True

[mypy-dacite]
ignore_missing_imports = True

[mypy-distro]
ignore_missing_imports = True

[mypy-pyagentx]
ignore_errors = True
ignore_missing_imports = True

[mypy-pyparsing]
ignore_missing_imports = True

[mypy-xml.dom.*]
ignore_missing_imports = True
