---
## Collection wide ansible-lint configuration file.
# Changes for ansible-lint v25.7.0+
# - Always executed from collection root using collection configuration.
# - .ansible-lint-ignore can be used to ignore files, not folders.
## Execution examples:
# ansible-lint
# ansible-lint roles/sap_vm_provision
# ansible-lint roles/sap_vm_provision -c roles/sap_vm_provision/.ansible-lint

exclude_paths:
  - .ansible/
  - .cache/
  - .github/
  - changelogs/
  - playbooks/
  - tests/
  # Roles which need to be excluded until their linting errors are resolved:
  - roles/sap_vm_preconfigure
  - roles/sap_vm_verify

enable_list:
  - yaml

skip_list:
  # We don't want to enforce new Ansible versions for Galaxy:
  - meta-runtime[unsupported-version]
  # We do not want to use checks which are marked as experimental:
  - experimental
  # We use ignore_errors for all the assert tasks, which should be acceptable:
  - ignore-errors
  # We want to allow single digit version numbers in a role's meta/main.yml file:
  - schema
  # Allow templating inside name because it creates more detailed output:
  - name[template]
  # Allow command tasks without defining changed_when
  - no-changed-when
  # Allow tasks that could be replaced by handlers
  - no-handler
  # Disable jinja formatting check
  - jinja[spacing]
  # Removing these skips would require refactoring of most roles
  - yaml[comments]
  - yaml[line-length]
  - no-tabs
  # - var-naming[no-jinja]
  # Rule for variable naming is required because of stricter linting requirements.
  - var-naming[no-role-prefix]
