27 lines
697 B
HCL
27 lines
697 B
HCL
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)
|
|
}
|