如何向Ansible中的块添加标记?

如何向Ansible中的块添加标记?,ansible,yaml,Ansible,Yaml,请举一个例子: 并说“使用块并在该级别定义标记”,但在本页上: 它们使用: tasks: - name: Install, configure, and start Apache block: - name: Install httpd and memcached ansible.builtin.yum: name: - httpd - memcached

请举一个例子:

并说“使用块并在该级别定义标记”,但在本页上:

它们使用:

 tasks:
   - name: Install, configure, and start Apache
     block:
       - name: Install httpd and memcached
         ansible.builtin.yum:
           name:
           - httpd
           - memcached
           state: present
如果我尝试“使用块并在该级别定义标记”,例如:

 tasks:
   - name: Install, configure, and start Apache
     block:
     tag: broken
       - name: Install httpd and memcached
或者(绝望中)

我得到:

Syntax Error while loading YAML.
  did not find expected key
问题是什么?如何向第二个示例中添加标记?

将标记(以及任何其他标记)放在块之外,例如,在块之前

任务:
-名称:安装、配置和启动Apache
标签:未损坏
区块:
-名称:安装httpd和Memcached
...
,或在

任务:
-名称:安装、配置和启动Apache
区块:
-名称:安装httpd和Memcached
...
标签:未损坏
警察说

“块中的所有任务继承在块级别应用的指令。”

对于
块内的
标记
,情况并非如此。下面的代码段将失败,并显示消息
此上下文中不允许映射值

-块:
标签:ntp
-名称:安装ntp
已经修好了。代码片段(其中
标记
位于
之外)按预期工作

-名称:ntp任务
标签:ntp
区块:
-名称:安装ntp

在此上下文中不允许映射值

当您将
标签
放入
时,例如

-名称:块
区块:
标签:t1
-名称:任务
调试:
消息:任务1
播放将失败,并显示错误消息

错误!加载YAML时出现语法错误。
在此上下文中不允许映射值

“标记”不是块的有效属性

正确的是
标签
而不是
标签
,例如

-名称:块
标签:t1
区块:
-名称:任务
调试:
消息:任务1
播放将失败,并显示错误消息

错误标记“”不是块的有效属性

修复最后两个示例和错误消息。它是
标签
而不是
标签
。结果是出现误导性错误
未找到预期的键
。这里真正的问题是
在此上下文中不允许映射值
。我不确定我是否理解。我使用的是单个标记,而不是多个标记。语法甚至适用于单个标记。
 tasks:
   - name: Install, configure, and start Apache
     block:
     - tag: broken
       - name: Install httpd and memcached
     
Syntax Error while loading YAML.
  did not find expected key