Files
terraform-prowlarr/modules/prowlarr/main.tf
T
unkinben edb0692bee
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/plan Pipeline was successful
fix: align config with imported state for zero-drift plan
2026-06-29 23:49:52 +10:00

44 lines
1.3 KiB
Terraform

resource "prowlarr_tag" "this" {
for_each = var.tags
label = each.value.label
}
locals {
tag_ids = { for k, v in prowlarr_tag.this : v.label => v.id }
}
resource "prowlarr_indexer" "this" {
for_each = var.indexers
name = each.key
enable = lookup(each.value, "enable", true)
app_profile_id = each.value.app_profile_id
implementation = each.value.implementation
config_contract = each.value.config_contract
protocol = each.value.protocol
tags = [for t in lookup(each.value, "tags", []) : local.tag_ids[t]]
fields = each.value.fields
lifecycle {
ignore_changes = [fields]
}
}
resource "prowlarr_download_client_nzbget" "this" {
for_each = var.download_clients
name = lookup(each.value, "name", each.key)
enable = lookup(each.value, "enable", true)
priority = lookup(each.value, "priority", 1)
host = each.value.host
port = each.value.port
use_ssl = lookup(each.value, "use_ssl", false)
username = lookup(each.value, "username", "")
password = lookup(each.value, "password", "")
category = lookup(each.value, "category", "")
tags = lookup(each.value, "tags", [])
categories = lookup(each.value, "categories", [])
lifecycle {
ignore_changes = [password]
}
}