如何配置Google Cloud Asset组织资产流仅接收资源创建/删除通知?
实现Cloud Asset组织流的资源创建/删除事件通知(排除更新)
要让Cloud Asset组织流只接收资源创建和删除事件、排除更新操作,只需调整condition块中的表达式,同时匹配创建和删除两种场景即可。以下是修改后的完整Terraform代码:
resource "google_cloud_asset_organization_feed" "organization_feed" { billing_project = "my-project-name" org_id = "123456789" feed_id = "network-updates" content_type = "RESOURCE" asset_types = [ "compute.googleapis.com/Subnetwork", "compute.googleapis.com/Network", ] feed_output_config { pubsub_destination { topic = google_pubsub_topic.feed_output.id } } condition { expression = <<-EOT (!temporal_asset.deleted && temporal_asset.prior_asset_state == google.cloud.asset.v1.TemporalAsset.PriorAssetState.DOES_NOT_EXIST) || (temporal_asset.deleted && temporal_asset.prior_asset_state == google.cloud.asset.v1.TemporalAsset.PriorAssetState.EXISTS) EOT title = "create_or_delete" description = "Send notifications only on resource creation or deletion events, excluding updates" } }
关键逻辑说明:
- 创建事件判断:
!temporal_asset.deleted表示资源未被删除,结合prior_asset_state == DOES_NOT_EXIST,说明这是新创建的资源。 - 删除事件判断:
temporal_asset.deleted表示资源已被删除,结合prior_asset_state == EXISTS,说明这是之前存在的资源被删除。 - 自动排除更新:更新操作时,资源既未被删除(
!deleted),且之前已存在(prior_asset_state == EXISTS),不符合上述两个条件,因此不会触发通知。
内容的提问来源于stack exchange,提问作者emily_r
相关产品推荐
相关产品推荐

