#!/bin/bash

read -p "Введите наименование вашего докер сервера: " docker_engine_name

while ! [[ $cashserver_ip_address =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; do
  read -p "Введите ip адрес кассового сервера: " cashserver_ip_address
done

echo "Необходимо авторизоваться на кассовом сервере, введите последовательно необходимые данные"
read -p "Введите login: " cashserver_login
read -sp "Введите пароль: " cashserver_password

network_data=$(curl -XPOST http://${cashserver_ip_address}:8080/CSrest/rest/v2/dockerEngines/calculate/ips --user ${cashserver_login}:${cashserver_password})
subnet=`echo $network_data | grep -o '"ip":"[^"]*' | grep -o '[^"]*$'`

docker_network_id=$(docker network create -d bridge --subnet=$subnet $docker_engine_name)
echo "$docker_network_id"

result=$(curl -XPOST http://${cashserver_ip_address}:8080/CSrest/rest/v2/dockerEngines/add -H "Content-Type: application/json" --user ${cashserver_login}:${cashserver_password} -d '{"networkId": '\"${docker_network_id}\"', "name" : '\"${docker_engine_name}\"'}')
echo "$result"
if [[ ${result} != *"Вы успешно зарегистрировали Docker сервер"* ]]; then
  docker network rm $docker_network_id
  echo "Произошла ошибка во время регистрации Docker сервера"
fi