You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform OCI数据源按Defined/Freeform Tags过滤失效求助

解决Terraform OCI Compartment标签过滤无结果的问题

问题分析与修复方案

1. 正则表达式语法错误

你当前使用的["default/*"]不符合正则语法规则:

  • 正则里的*是量词(匹配前面元素0次或多次),不是通配符。如果要匹配default/开头的任意内容,应该改用default/.+(匹配至少一个后续字符)或default/.*(匹配0个或多个后续字符)。

修正后的filter配置:

data "oci_identity_compartments" "this" {  
  compartment_id            = "....."
  access_level              = "ANY"
  compartment_id_in_subtree = true

  filter {
     name   = "defined_tags:Oracle-Tags.CreatedBy"
     values = ["default/.+"]    
     regex  = true
  }
}

2. 标签路径格式适配

部分OCI Terraform Provider版本中,嵌套标签的过滤路径需要用点分隔而非冒号,可尝试调整name字段格式:

filter {
   name   = "defined_tags.Oracle-Tags.CreatedBy"
   values = ["default/.+"]    
   regex  = true
}

3. 验证目标标签的存在性

先移除filter配置,执行terraform console查看返回的compartment原始数据,确认目标compartment的defined_tags.Oracle-Tags.CreatedBy值确实符合匹配规则:

terraform console
> data.oci_identity_compartments.this.compartments[*].defined_tags

检查输出中是否存在包含Oracle-Tags.CreatedBy且值以default/开头的条目。

4. 升级OCI Provider版本

旧版本的OCI Terraform Provider可能存在标签过滤的兼容性问题,建议升级到最新稳定版本:
在配置文件中更新版本约束:

terraform {
  required_providers {
    oci = {
      source  = "oracle/oci"
      version = ">= 5.0.0" # 使用官方最新稳定版
    }
  }
}

执行terraform init -upgrade完成provider升级。


内容的提问来源于stack exchange,提问作者jschelfh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 07:15:53