variable "link_name" {
description = "Identifier for this link, e.g. \"dc1-dc2\" -- used only for resource naming/logging, matches modules/mesh-link's link_name convention."
type = string
}
variable "vcloud_host_ssh_target" {
description = <<-EOT
SSH target for the vcloud host, e.g. "user@vcloud-host" -- REQUIRED
because OpenTofu itself runs from the Office1 operator VM (D-103), not on
the vcloud host where the bridge interfaces actually live; a plain
local-exec provisioner runs commands on the machine invoking `tofu
apply` (Office1), so applying tc netem to a vcloud-host bridge needs an
explicit SSH hop, not a bare local command. Passwordless (key-based) SSH
+ passwordless sudo on the vcloud host for the invoking user are assumed
prerequisites, not configured by this module. No default -- measured.
EOT
type = string
}
variable "bridge_name" {
description = <<-EOT
The OS-level Linux bridge interface name backing a modules/mesh-link
network. NOT auto-derived from the mesh-link module: reading a
libvirt_network's `bridge` attribute back when the resource didn't set
it explicitly is unconfirmed this session (see modules/mesh-link's
outputs.tf note). Confirm the real bridge name with `virsh net-info
<network-name>` (or `tofu show` post-apply) and pass it explicitly here
-- no default.
EOT
type = string
}
variable "netem_args" {
description = <<-EOT
The raw arguments passed to `tc qdisc ... root netem <netem_args>` --
e.g. "delay 5ms 1ms distribution normal loss 0.1%". No default: the
exact latency/jitter/loss/rate parameters are still an unruled D-100
Phase-0 decision (buildout-design Section 6/10) -- this module provides
the injection mechanism, not the parameter choice. tc's own netem syntax
is stable, long-standing kernel functionality and was not re-verified
this session (out of scope -- the OpenTofu-side mechanism was the
research target, not tc itself); confirm your exact netem_args string
with `man tc-netem` or a live `tc qdisc` test before relying on it.
EOT
type = string
}