Sou novo no Terraform e estou olhando para um código como este e me perguntando se ele poderia ser simplificado:
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
Existe uma maneira de escrever essa expressão de forma mais elegante?
Você pode usar a função try para tornar a expressão significativamente mais concisa (observe que a documentação também informa que a função é destinada ao seu caso de uso).
As funções aninhadas length e coalesce podem ser substituídas por uma abordagem mais direta usando lookup ou apenas lógica condicional. Aqui está uma versão simplificada: