main.flowlogs.tf (32 lines of code) (raw):
resource "azapi_resource" "flow_logs" {
for_each = var.flow_logs == null ? {} : tomap(var.flow_logs)
type = "Microsoft.Network/networkWatchers/flowLogs@2023-11-01"
body = {
properties = {
enabled = each.value.enabled
flowAnalyticsConfiguration = each.value.traffic_analytics != null ? {
networkWatcherFlowAnalyticsConfiguration = {
enabled = each.value.traffic_analytics.enabled
trafficAnalyticsInterval = try(each.value.traffic_analytics.interval_in_minutes, 60)
workspaceId = each.value.traffic_analytics.workspace_id
workspaceRegion = each.value.traffic_analytics.workspace_region
workspaceResourceId = each.value.traffic_analytics.workspace_resource_id
}
} : {}
format = {
type = "JSON"
version = each.value.version
}
retentionPolicy = {
days = each.value.retention_policy.days
enabled = each.value.retention_policy.enabled
}
storageId = each.value.storage_account_id
targetResourceId = each.value.target_resource_id
}
}
location = var.location
name = each.value.name
parent_id = var.network_watcher_id
tags = var.tags
}