如何解决使用yq修改YAML以在元数据的每个条目下包括标签
我有一个如下所示的yaml文件。该yaml文件需要在每个configmap下打上新标签。
{this.state.CurrentAppointments.map(item => (
<div key = {item.leadid}>
<ListItem button
className={classes.listItem}
selectedLead = {item}
onClick= {(event)=>this.handleRowSelected(item)} // event is the value to click and item is the value the map
>
<div>
我想在此configmap列表中的每个configmap下插入标签,如下所示,
apiVersion: v1
kind: ConfigMapList
items:
- apiVersion: v1
data:
test: 1
kind: ConfigMap
Metadata:
name: grafana-dashboard-apiserver1
namespace: monitoring
- apiVersion: v1
data:
test: 2
kind: ConfigMap
Metadata:
name: grafana-dashboard-apiserver2
namespace: monitoring
- apiVersion: v1
data:
test: 3
kind: ConfigMap
Metadata:
name: grafana-dashboard-apiserver3
namespace: monitoring
我不确定如何在bash中执行此操作。请帮助我如何执行bash。是否对您有帮助?或Kustomize?
解决方法
如果您使用的是mikefarah/yq,则可以使用以下路径表达式在array of items
下的所有metadata
字段上写
yq w yaml 'items[*].metadata.labels.grafana_dashboard' --tag '!!str' 1
如果产生的YAML输出符合预期,则可以使用-i
标志yq w -i '..'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。