I am working on a Ansible file that will update our Windows boxes instead of using SCCM. I keep getting an error. Here is my playbook.
---
- hosts: Windows
connection: winrm
tasks:
- name: Install Critical Updates
win_updates:
category_names:
- CriticalUpdates
log_path= "c:/temp/ansible_wu.txt"
- name: Reboot Servers
raw: shutdown.exe /r /t 10
The error is:ERROR! Syntax Error while loading YAML.
The error appears to have been in '/home/bud/ansible/WinUpdate.yml': line 13, column 5, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
- name: Restart machine
^ here
This is a question for the ansible-project list rather than ansible-devel.
The playbook you’ve posted doesn’t appear complete, as the error message relates to a task name that isn’t in the below playbook (this is feedback so that you can have better luck in ansible-project)
Yes, Will is right, this is really a question for ansible-project.
However, it looks to me like you have an = where there should be a : in
log_path= "c:/temp/ansible_wu.txt"
should be
log_path: “C:/temp/ansible_wu.txt”
Single line ansible module calls can use the key=value key=value syntax, but when you are using the multi-line yaml style syntax it needs to be key: value
yamllint.com or a yaml-aware text editor can be a help when you are getting used to writing playbooks.
All the best,
Jon
Single line ansible module calls can use the key=value key=value syntax,
but when you are using the multi-line yaml style syntax it needs to be key:
value
This statement is not correct.
yamllint.com or a yaml-aware text editor can be a help when you are getting
used to writing playbooks.
Code like this work
- name: Update the Apache config
copy: >
src=httpd.conf
dest=/etc/httpd/httpd.conf
Even dropping the bigger than and it works, also yamllint.com says it is valid.
More about multiline here
https://support.ansible.com/hc/en-us/articles/201957837-How-do-I-split-an-action-into-a-multi-line-format-
Kai,
Thanks for this, I didn’t know that should make converting ad hoc ansible command into playbook style entries easier.
Stylistically I wouldn’t want to mix key: value and key=value though as in the example above.
Jon