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
}
