我是 Terraform 的新手,正在查看这样的代码,想知道是否可以简化它:
compartment_id = length(coalesce(data.oci_identity_compartments.compartment, [])) > 0 ? (
length(coalesce(data.oci_identity_compartments.compartment[0].compartments, [])) > 0 ? (
data.oci_identity_compartments.compartment[0].compartments[0].id) : null) : null
有没有办法把这个表达式写得更优雅?
嵌套长度和合并函数可以用更直接的方法替换,使用查找或仅条件逻辑。这是一个简化版本:
氯化氢
compartment_id = (
data.oci_identity_compartments.compartment[0].compartments[0].id if
length(data.oci_identity_compartments.compartment) > 0 &&
length(data.oci_identity_compartments.compartment[0].compartments) > 0
else null
)