Examples on how to query values and format cli-tools output.
iotlab-experiment --jmespath 'items[?site==`grenoble`]|[0].archis[?archi==`m3:at86rf231`]|[0].states[?state==`Alive`]|[0].ids' --format='str' info -li
1-16+18+20-43+45-49+51-154+156-164+166-186+188-242+244-261+263-289+346+359-363+365-380
iotlab-experiment --jp='items[].network_address' --fmt='"\n".join' get -r
a8-6.grenoble.iot-lab.info
a8-5.grenoble.iot-lab.info
a8-9.grenoble.iot-lab.info
a8-7.grenoble.iot-lab.info
a8-8.grenoble.iot-lab.info
iotlab-experiment --jp='items[].network_address' --fmt='lambda x: "\n".join(["node-"+n for n in x])' get -r
node-a8-6.grenoble.iot-lab.info
node-a8-5.grenoble.iot-lab.info
node-a8-9.grenoble.iot-lab.info
node-a8-7.grenoble.iot-lab.info
node-a8-8.grenoble.iot-lab.info
iotlab-experiment --jp='deploymentresults."0"' --fmt='" ".join' get -p
a8-5.grenoble.iot-lab.info a8-6.grenoble.iot-lab.info a8-7.grenoble.iot-lab.info a8-8.grenoble.iot-lab.info a8-9.grenoble.iot-lab.info
iotlab-experiment --jp=state --fmt=str get -i 29251 -s
Running
iotlab-experiment --jmespath="items[?starts_with(@.archi, 'samr21:')]" info -l
[
{
"archi": "samr21:at86rf233",
"mobile": 0,
"network_address": "samr21-1.saclay.iot-lab.info",
...
}
]
iotlab-experiment --jmespath="items[?contains(@.archi, 'samr21')].network_address" info -l
[
"samr21-1.saclay.iot-lab.info",
...
"samr21-8.saclay.iot-lab.info"
]
iotlab-experiment --jmespath="items[?archi=='samr21:at86rf233'].network_address" info -l
[
{
"archi": "samr21:at86rf233",
"mobile": 0,
"network_address": "samr21-1.saclay.iot-lab.info",
...
}
]
Get first one if multiple
iotlab-experiment --jp 'items[].id|[0]' get -l --state Running
29251
# Bash version
iotlab-experiment get -l --state Running | grep -m 1 '"id"' | grep -Eo '[[:digit:]]+'
29251
Maybe use the first with "deploymentresults" == 0 here instead.
iotlab-experiment --jp='items[0].network_address' --fmt=str get --resources
a8-6.grenoble.iot-lab.info
# Bash version
iotlab-experiment get --resources | grep -m 1 "network_address" | sed 's/.*: "\(.*\)".*/\1/'
a8-6.grenoble.iot-lab.info