diff --git a/readme.md b/readme.md index 0d6e89c..a8b7111 100644 --- a/readme.md +++ b/readme.md @@ -16,5 +16,6 @@ * [3.7. Компьютерные сети, лекция 2](/src/homework/03-sysadmin/3.7) * [3.8. Компьютерные сети, лекция 3](/src/homework/03-sysadmin/3.8) * [3.9. Элементы безопасности информационных систем](/src/homework/03-sysadmin/3.9) -* [4.1. Командная оболочка Bash: Практические навыки](/src/homework/4.1) +* [4.1. Командная оболочка Bash: Практические навыки](/src/homework/04-script/4.1) * [4.2. Использование Python для решения типовых DevOps задач](/src/homework/04-script/4.2) +* [4.3. Языки разметки JSON и YAML](/src/homework/04-script/4.3) diff --git a/src/homework/04-script/4.3/readme.md b/src/homework/04-script/4.3/readme.md new file mode 100644 index 0000000..d6cde5e --- /dev/null +++ b/src/homework/04-script/4.3/readme.md @@ -0,0 +1,75 @@ +Выполнение [домашнего задания](https://github.com/netology-code/sysadm-homeworks/blob/devsys10/04-script-03-yaml/README.md) +по теме "4.3. Языки разметки JSON и YAML". + +## Q/A + +### Обязательная задача 1 + +Мы выгрузили JSON, который получили через API запрос к нашему сервису: + +``` + { "info" : "Sample JSON output from our service\t", + "elements" :[ + { "name" : "first", + "type" : "server", + "ip" : 7175 + } + { "name" : "second", + "type" : "proxy", + "ip : 71.78.22.43 + } + ] + } +``` + +Нужно найти и исправить все ошибки, которые допускает наш сервис + +### Обязательная задача 2 + +В прошлый рабочий день мы создавали скрипт, позволяющий опрашивать веб-сервисы и получать их IP. К уже реализованному функционалу нам нужно добавить возможность записи JSON и YAML файлов, описывающих наши сервисы. Формат записи JSON по одному сервису: `{ "имя сервиса" : "его IP"}`. Формат записи YAML по одному сервису: `- имя сервиса: его IP`. Если в момент исполнения скрипта меняется IP у сервиса - он должен так же поменяться в yml и json файле. + +#### Ваш скрипт: + +```python +??? +``` + +#### Вывод скрипта при запуске при тестировании: + +``` +??? +``` + +#### json-файл(ы), который(е) записал ваш скрипт: + +```json +??? +``` + +#### yml-файл(ы), который(е) записал ваш скрипт: + +```yaml +??? +``` + +### Дополнительное задание (со звездочкой*) - необязательно к выполнению + +Так как команды в нашей компании никак не могут прийти к единому мнению о том, какой формат разметки данных использовать: JSON или YAML, нам нужно реализовать парсер из одного формата в другой. Он должен уметь: + * Принимать на вход имя файла + * Проверять формат исходного файла. Если файл не json или yml - скрипт должен остановить свою работу + * Распознавать какой формат данных в файле. Считается, что файлы *.json и *.yml могут быть перепутаны + * Перекодировать данные из исходного формата во второй доступный (из JSON в YAML, из YAML в JSON) + * При обнаружении ошибки в исходном файле - указать в стандартном выводе строку с ошибкой синтаксиса и её номер + * Полученный файл должен иметь имя исходного файла, разница в наименовании обеспечивается разницей расширения файлов + +#### Ваш скрипт: + +```python +??? +``` + +#### Пример работы скрипта: + +``` +??? +``` \ No newline at end of file