Как получить CSV-список активов в AWS со списками безопасности, именами и идентификаторами ENI для отслеживания VPC-потоков из JSON

cat aws.json | jq -r '.Reservations[].Instances[] | [.PrivateIpAddress, .SecurityGroups[].GroupId,.SecurityGroups[].GroupName,.NetworkInterfaces[].NetworkInterfaceId,(.Tags[] | select(.Key =="Name") | .Value),([.InstanceId| tostring] | join(";"))]|@csv'


Команда cat aws.json открывает файл aws.json, а затем выводит его содержимое на стандартный вывод. Затем оператор | перенаправляет вывод на вход команды jq -r '.reservations[].instances[] | [.privateipaddress, .securitygroups[].groupid,.securitygroups[].groupname,.networkinterfaces[].networkinterfaceid,(.tags[] | select(.key =="name") | .value),([.instanceid| tostring] | join(";"))]|@csv'.

Команда jq -r '.reservations[].instances[] | [.privateipaddress, .securitygroups[].groupid,.securitygroups[].groupname,.networkinterfaces[].networkinterfaceid,(.tags[] | select(.key =="name") | .value),([.instanceid| tostring] | join(";"))]|@csv' использует утилиту jq для обработки данных в формате JSON. Она применяет специфичный синтаксис запросов для извлечения информации из JSON-структуры.

Команда извлекает информацию из файла aws.json и формирует CSV-список активов в AWS. Вывод списка включает в себя приватные IP-адреса, идентификаторы и имена групп безопасности, идентификаторы интерфейсов сети (ENI) и тегов с именами. Каждый актив представлен в виде строки CSV.

Альтернативой этой команде могут быть другие инструменты для обработки JSON, такие как python, perl или awk. Однако, в зависимости от требований и доступных ресурсов, использование jq может оказаться удобным вариантом, особенно при работе с большими объемами данных JSON. Аргумент команды — имя файла aws.json.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *