运行剧本时出现语法错误。
错误!加载YAML时的语法错误。找不到预期的“-” 指示灯错误似乎在 '/var/lib/awx/projects/_39__common/Hyper-V_Shutdown_VM.yml':第8行 第5列,但取决于确切的位置,可能在文件的其他位置 语法问题。
违规行似乎是:
- win_shell: |
$a = Get-ClusterGroup | Where-Object {$_.Name -like "{{ vm }}" -and $_.State -eq 'Online'}
^ here
我们可能是错的,但是这似乎与
有关
缺少引号。总是在引用模板表达式括号时引用
开始一个值。例如:
with_items:
- {{ foo }}
Should be written as:
with_items:
- "{{ foo }}"
我的编码........
---
- name: Hyper-V shutdown VM
hosts: all
gather_facts: no
tasks:
win_shell: |
$a = Get-ClusterGroup | Where-Object {$_.Name -like "{{ vm }}" -and $_.State -eq 'Online'}
$b = $a.OwnerNode
Stop-VM -Name "{{ vm }}" -ComputerName $b
答案 0 :(得分:1)
模块名称前缺少破折号'-'。正确的语法如下
tasks:
- win_shell:
这是错误的原因
未找到预期的'-'指示器
答案 1 :(得分:1)
---
- hosts: all
gather_facts: no
tasks:
- name: Hyper-V shutdown VM
win_shell: |
$a = Get-ClusterGroup | Where-Object {$_.Name -like "{{ vm }}" -and $_.State -eq 'Online'}
$b = $a.OwnerNode
Stop-VM -Name "{{ vm }}" -ComputerName $b