У меня есть файл, который был экспортирован из BIND, содержащего значения TSIG, для примерно 500 доменных имен. Мне нужно перепрофилировать данные в JSON для запроса API REST. Данные BIND отформатированы следующим образом:Извлечение параметров BIND для построения запроса JSON
// secondary-example.com.
key "2000000000000.key." {
algorithm hmac-md5;
secret "ahashedvalue=";
};
zone "secondary-example.com." {
type slave;
file "sec/secondary-example.com.";
allow-transfer { 1.1.1.1;
1.1.2.2;
};
also-notify { 1.1.1.1;
2.2.2.2;
};
masters {
1.2.3.4 key 2000000000000.key.;
};
};
От этого мне нужно извлечь ключ, зону и секрет. Вот пример запроса API.
{
"properties":{
"name":"secondary-example.com.",
"accountName":"example",
"type":"SECONDARY"
},
"secondaryCreateInfo":{
"primaryNameServers":{
"nameServerIpList":{
"nameServerIp1":{
"ip":"1.2.3.4",
"tsigKey":"2000000000000.key.",
"tsigKeyValue":"ahashedvalue="
}
}
}
}
}
У меня возникли трудности с составлением регулярного выражения, соответствующего сценарию. Я ищу конструкцию JSON в сценарии python и отправлю запрос через Postman.
Вы хотите один шаблон регулярных выражений, чтобы извлечь ключ, зону и секрет? Или один шаблон для переменной, например 'key '. *?" ',' Zone ". *?" ',' Secret'. *? "'? –
@Rawing, спасибо за ответ. Я понял это. Я отправлю свое решение в качестве ответа. –