terraform { required_version = ">= 1.0" required_providers { cloudflare = { source = "cloudflare/cloudflare" version = "~> 4.0" } } } provider "cloudflare" { api_token = var.cloudflare_api_token } # Data source for account (optional - fails gracefully) data "cloudflare_accounts" "main" { count = var.cloudflare_account_name != "" ? 1 : 0 name = var.cloudflare_account_name } locals { # Use account ID from data source if available, otherwise fall back to variable. # `try()` avoids invalid index errors when the data source count is 0 or no accounts match. account_id = try(data.cloudflare_accounts.main[0].accounts[0].id, var.cloudflare_account_id) }