我有 terraform,其中使用for. 通常,此资源的每个实例都有几个属性。目前我有这个资源组的一系列映射输出,但每个输出只包含一个键值对。我希望我的 terraform 输出包含地图或对象的列表或地图,其中包含按资源实例分组的所有属性。我如何在不使用的情况下做到这一点flatten;zipmap等从我当前的输出构建它们?这个例子是,aws_route53_record但这是一个通用查询:
当前代码
output "r53record_zonal_fqdn" {
value = {
for entry in aws_route53_record.zonal :
entry.name => entry.fqdn
}
}
output "r53record_zonal_records" {
value = {
for entry in aws_route53_record.zonal :
entry.name => entry.records
}
}
output "r53record_zonal_zone_id" {
value = {
for entry in aws_route53_record.zonal :
entry.name => entry.zone_id
}
}
Run Code Online (Sandbox Code Playgroud)
如您所料,这将渲染三个地图,aws_route53_record.zonal.name以键为键,以其他属性为值。
我想要的是让这些输出按资源分组,每个值都有一个预定义的键,例如(伪代码):
output "r53record_zonal_zone_id" {
value = {
for entry in aws_route53_record.zonal : {
instance[count.index] { …Run Code Online (Sandbox Code Playgroud) 我有一个仅限 Fargate 的 EKS 集群。我真的不想自己管理实例。我想将 Prometheus 部署到它 - 这需要一个持久卷。截至两个月前,这应该可以使用 EFS(托管 NFS 共享)我觉得我快到了,但我无法弄清楚当前的问题是什么
我做了什么:
到目前为止一切都很好
我设置了持久卷声明(我知道必须静态完成):
kubectl apply -f pvc/
Run Code Online (Sandbox Code Playgroud)
在哪里
tree pvc/
pvc/
??? two_pvc.yml
??? ten_pvc.yml
Run Code Online (Sandbox Code Playgroud)
和
cat pvc/*
apiVersion: v1
kind: PersistentVolume
metadata:
name: efs-pv-two
spec:
capacity:
storage: 2Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: efs-sc
csi:
driver: efs.csi.aws.com
volumeHandle: fs-ec0e1234
apiVersion: v1
kind: PersistentVolume
metadata:
name: efs-pv-ten
spec: …Run Code Online (Sandbox Code Playgroud) amazon-web-services kubernetes prometheus amazon-efs amazon-eks