Ansible任务YAML定义的元数据或标签

Ansible任务YAML定义的元数据或标签,ansible,yaml,Ansible,Yaml,使用Ansible YAML格式,我想在任务定义中添加一些元数据(类似于kubernetes格式): 用例: 向YAML添加语义信息 更好的调试 可用于筛选任务,如使用标记(ansible playbook./playbook.yaml--filter kind=stack) 可能吗?(当前,ERROR!“metadata”不是块的有效属性)您可以在ansible的github上为此提出PR,或在问题中描述它。此时,您的错误消息基本上回答了您的问题:元数据不是授权关键字的一部分,既不用于任务

使用Ansible YAML格式,我想在任务定义中添加一些
元数据
(类似于kubernetes格式):

用例:

  • 向YAML添加语义信息
  • 更好的调试
  • 可用于筛选任务,如使用标记(
    ansible playbook./playbook.yaml--filter kind=stack

可能吗?(当前,
ERROR!“metadata”不是块的有效属性

您可以在ansible的github上为此提出PR,或在问题中描述它。此时,您的错误消息基本上回答了您的问题:
元数据
不是授权关键字的一部分,既不用于任务也不用于块。看,是的,你是对的,你认为这是个好主意吗(这样的元数据字段)?基本想法看起来不错。同时,我认为标签是多余的。您可以通过在任务中添加一些命名良好的标记来轻松转换上述内容(
kind\u stack
stack\u tintin
…)。我不确定这一变化是否能很容易地适应当前
ansible playbook
的开发状态。但对于最后一点,最好直接询问ansible开发团队。
tasks:
    - name: Boostrap
      block:
      - shell: "helm repo add {{ item.name }} {{ item.url }}"
        with_items:
        - {name: "elastic", url: "https://helm.elastic.co"}
        - {name: "stable", url: "https://kubernetes-charts.storage.googleapis.com/"}
      metadata:
        kind: utils
      tags:
      - always

    - name: Stack Djobi > Metrics
      include_tasks: "./tasks/metrics.yaml"
      tags:
      - service_metrics_all
      metadata:
        kind: stack
        stack: metrics


    - name: Stack Djobi > Tintin
      include_tasks: "./tintin/tasks.yaml"
      tags:
      - tintin
      metadata:
        kind: stack
        stack: tintin