我有一个如下所示的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?
答案 0 :(得分:1)
如果您使用的是mikefarah/yq,则可以使用以下路径表达式在array of items
下的所有metadata
字段上写
yq w yaml 'items[*].metadata.labels.grafana_dashboard' --tag '!!str' 1
如果产生的YAML输出符合预期,则可以使用-i
标志yq w -i '..'