Ansible Playbook: ERROR! 'command' is not

2019-02-27 10:17发布

问题:

This question already has an answer here:

  • ERROR! 'fail' is not a valid attribute for a Play 1 answer
  • ERROR! 'file' is not a valid attribute for a Play [duplicate] 1 answer
  • Ansible error stating: 'apt_repository' is not a valid attribute for a Play [duplicate] 2 answers

I'm just trying to write a basic playbook, and keep getting the error below. Tried a tonne of things but still can't get it right. I know it must be a syntax thing but no idea where.

This is the code I have:

---
# This playbook runs a basic DF command.

- hosts: nagios
  #remote_user: root

  tasks:
  - name: find disk space available.
  command: df -hPT

This is the error I get:

> ERROR! 'command' is not a valid attribute for a Play
> 
> The error appears to have been in '/root/playbooks/df.yml': line 4,
> column 3, but may be elsewhere in the file depending on the exact
> syntax problem.
> 
> The offending line appears to be:
> 
> 
> - hosts: nagios   
    ^ here

Ansible ver: 2.4.2.0

It's driving me insane. I've looked at some axamples from the Ansible docs, and it looks the same. No idea...

Anyone know?

回答1:

The problem being that without the indentation of the command line the command directive is part of the overall play and not the task block. i.e. the command should be part of the task block.

---
# This playbook runs a basic DF command.

- hosts: nagios
  #remote_user: root

  tasks:
  - name: find disk space available.
    command: df -hPT


标签: ansible