У меня есть json выход, из которого мне нужно получить значение id и значение IPv4_address, где существует IPv4_address (это не должно быть нулевым). Необходимо использовать это значение идентификатора для другого запроса вместе со случайно сгенерированной строкой.
Вот разбивка требования:
ШАГ 1: В следующем примере для ipv4_address: 1.1.1.1 & ipv4_address: 1.1.1.2 мне нужно получить вывод id, который это "4e-0365-4e29-95ca-329165eecf8a" и "c9061b6674a8546cea" вместе с IP-адресом.
Пример моего вывода должен выглядеть (что-то похожее):
1.1.1.1 4e-0365-4e29-95ca-329165eecf8a
1.1.1.2 c9061b6674a8546cea
Я пытался использовать jq, но с этим я не могу получить оба значения:
ID="$(echo "$test" \n | jq -r '.USER[] | select(.ipv4_address) | .ipv4_address')"
ID1="$(echo "$test" \n | jq -r '.USER[] | select(.ipv4_address) | .id')"
Пример выходных данных, отображаемых с помощью двух вышеуказанных команд: Значение идентификатора: 1.1.1.1 1.1.1.2 Значение ID1: 4e-0365-4e29-95ca-329165eecf8a c9061b6674a8546cea
ШАГ 2 : Создание профиля: мне нужно использовать каждое значение $ ID1 в другом запросе вместе со случайно сгенерированной строкой. Случайная строка генерируется в соответствии с количеством $ ID1 (поэтому здесь я сгенерирую 2 случайные строки) И, таким образом, создаются 2 профиля. Ques: Как я могу получить каждый идентификатор из переменной $ ID1? Я пробовал что-то вроде ID1 [0], но это, кажется, неправильно
ШАГ 3: будет использовать каждый идентификатор и случайную строку для другого запроса, как только он будет выполнен или если этот шаг не пройден, мне нужно предоставить вывод к файлу и вывод должен выглядеть так: Мое требование для окончательного вывода:
1.1.1.1 4e-0365-4e29-95ca-329165eecf8a <randomvalue-1> <profile-1> DONE
1.1.1.2 c9061b6674a8546cea <randomvalue-2> <profile-2> FAILED
, где случайное значение будет сгенерировано случайным образом и должно использоваться против идентификатора.
JSON вывод, который нужно проанализировать:
{
"errorcode": 0,
"message": "Done",
"operation": "get",
"resourceType": "USER",
"username": "root",
"tenant_name": "Owner",
"tenant_id": "05db6674ad458546cd2",
"resourceName": "",
"USER": [
{
"is_default": "false",
"session_timeout": "0",
"permission": "root",
"name": "ee",
"session_timeout_unit": "",
"tenant_id": "55bcb6674ad45854",
"id": "4e-0365-4e29-95ca-329165eecf8a",
"ipv4_address": "1.1.1.1",
"state": "Up",
"tenant_name": "Owner",
"encrypted": "false",
"groups": [
"owner"
],
"root_user": ""
},
{
"is_default": "false",
"session_timeout": "0",
"permission": "read",
"name": "test",
"session_timeout_unit": "",
"tenant_id": "bc906674ad458546cd2",
"id": "12cd0-fb7f-4abf-b060-48e98b794b06",
"tenant_name": "Owner",
"encrypted": "false",
"groups": [
"read"
],
"root_user": ""
},
{
"is_default": "true",
"session_timeout": "0",
"permission": "root",
"name": "root",
"session_timeout_unit": "",
"tenant_id": "c905db6d458546cd2",
"id": "c9061b6674a8546cea",
"ipv4_address": "1.1.1.2",
"state": "Not Reachable",
"tenant_name": "Owner",
"encrypted": "false",
"groups": [
"owner"
],
"root_user": ""
},
{
"is_default": "false",
"session_timeout": "0",
"permission": "readonly",
"name": "a",
"session_timeout_unit": "",
"tenant_id": "c905674ad458546cd2",
"id": "bc8a-4fd6-bc09-8c39c131b54e",
"tenant_name": "Owner",
"encrypted": "false",
"groups": [
"read"
],
"root_user": ""
}
]
}