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) Thenameof thedeevnet_iot_deviceto 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: thenameof adeevnet_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)readyonce 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.