Объявления path должны быть заключены в одинарные кавычки (').Тогда обратная косая черта (\) не будет интерпретироваться как escape-символ.См. Gotchas
Разница между одинарными и двойными кавычками заключается в том, что в двойных кавычках можно использовать экранированные символы
path: '{{ directory_path }}\AppName-{{ env }}'
Отступ откод неверный.Правильный синтаксис ниже:
tasks:
#Add Directory
- name: Add Directory
win_file:
path: '{{ directory_path }}\AppName-{{ env }}'
state: directory
#Add IUSR to directory path
- name: ADD IUSR
win_acl:
path: '{{ directory_path }}\AppName-{{ env }}'
user: IUSR
rights: Read
type: allow
state: present
propagation: 'NoPropagateInherit'
#Add website
- name: "{{ env }} Add App Name"
win_iis_website:
name: "AppName-{{ env }}"
state: started
port: 80
ip: "{{ serverip }}"
hostname: "appname-{{ env }}.com"
application_pool: "{{ application_pool4 }}"
physical_path: '{{ directory_path }}\AppName-{{ env }}'
register: website
Хорошая идея - протестировать playbooks с ansible-lint .