deevnet_iot_address

deevnet_iot_address (Resource) #

A fixed address for a registered device on its trust class’s network.

The device gets the same address every time it joins, and the API publishes <device>.<tenant zone> for it. The device must be a deevnet_iot_device with a mac: the address is reserved for that MAC.

The network is shared by every tenant, so the API picks the address: the lowest free one in the range set aside for tenants. This state remembers it, and a rebuilt API is asked for the same one again.

It is addressing, not authorization, and it changes nothing about what can reach the device.

Example Usage #

# A fixed address on the device network, so the device is found at the same
# place every time it joins. The API picks it and this state remembers it; the
# device is also published as stand-1.<tenant zone>.
resource "deevnet_iot_address" "stand" {
  tenant = deevnet_tenant.this.name
  device = deevnet_iot_device.stand.name
}

output "stand_address" {
  value = deevnet_iot_address.stand.address
}

Schema #

Required #

  • device (String) The name of the deevnet_iot_device to reserve for. Reference the resource rather than repeating the name, so the device is registered first and deregistered last.
  • tenant (String) The tenant this address reservation belongs to: the name of a deevnet_tenant.

Optional #

  • address (String) The address. Leave it out and the API picks. Set it to ask for a particular one in the tenant range; the apply fails if it is taken. Changing it replaces the reservation.

Read-Only #

  • fqdn (String) The name the API published for the device, in the tenant’s zone.
  • mac (String) The MAC the address is reserved for: the device’s, as registered.
  • present (Boolean) Whether the API still holds this address.
  • status (String) ready once the reservation is on the DHCP server and the name is published.
  • trust_class (String) The device’s trust class, which decides the network the address is on.
Page last modified: October 8, 2026