You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible YAML语法错误求助:映射值不允许在此上下文使用

问题分析与修正

你的Ansible YAML剧本存在多处语法结构错误,导致加载时触发语法报错,具体问题如下:

  • Play结构缺失关键字段:Ansible Playbook中,每个Play(即- name: ...开头的块)下,任务列表必须放在tasks:字段下,你直接把任务缩进在hosts: all下方,结构完全错误。
  • Copy模块参数缩进错误:copy:作为模块调用,其下属的src、dest等参数必须缩进一层,作为copy的子属性,你当前的写法把这些参数和copy平级了,不符合YAML映射结构。
  • When语句语法混乱:when: lab_enabled == true后面多余了lab_redis_data_volume:,这属于无意义的语法残留,直接破坏了YAML的映射结构。

修正后的正确YAML代码:

- name: Copy the db_config file
  hosts: all
  tasks:
      - name: Copy db_config to target path
        become: yes
        copy:
          src: db_config.ini
          dest: /home/labdb/stream/config.ini
          owner: lab1
          group: lab1
        when: lab_enabled == true

额外提示:YAML对缩进要求严格,必须使用空格(禁止用制表符),且层级缩进需保持一致(通常用2或4个空格)。后续编写时可通过ansible-playbook --syntax-check your_playbook.yml命令快速排查语法问题。

内容的提问来源于stack exchange,提问作者E S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 19:55:22