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