Создание дочернего домена

Предварительные условия

  • Выполнить аутентификацию для выполнения запросов API в родительском домене.

  • Наличие параметров лицензии domains и solution_<SOLUTION> для создания дочернего домена.

  • Достаточное количество лицензий для передачи в дочерний домен.

Операции

1. Создать дочерний домен. Указать необходимое количество лицензий выделяемое домену.

$ curl -b <cookie_file_path> \
       -X POST \
       -H 'Content-Type: application/json' \
       -d '<domain_entity>' \ (1)
       <api_prefix>/rest/v1/domain/domains
1 <domain_entity> – domain entity

Например:

$ curl -b curl-worker.cookies \
       -X POST \
       -H 'Content-Type: application/json' \
       -d '{"name":"w.ceceron.ru","solution":"era","lic":{"domains":3,"solution_era":3,"devices":20}}' \
       http://192.168.0.35/rest/v1/domain/domains

{
    …​
    "id": "83ce32b0-016d-f802-c535-e0d55e0cd13e"
    …​
}

2. Создать пользователя с ролью администратора в дочернем домене.

$ curl -b <cookie_file_path> \
       -X POST \
       -H 'Content-Type: application/json' \
       -d '<user_entity>' \ (1)
       <api_prefix>/rest/v1/domain/domains/<domain_id>/users (2)
1 <user_entity> – user entity.
2 <domain_id> – идентификатор нового дочернего домена.

Например:

$ curl -b curl-worker.cookies \
       -X POST \
       -H 'Content-Type: application/json' \
       -d '{"name":"nadmin","login":"nadmin","pwd":"nadmin","opts.roles":["admin"]}' \
       http://192.168.0.35/rest/v1/domain/domains/83ce32b0-016d-f802-c535-e0d55e0cd13e/users

{
  "ext": {
    "ct": "2019-10-23T10:58:39.72Z",
    "lwt": "2019-10-23T10:58:39.72Z"
  },
  "id": "ee7c6ca3-016d-f844-c5e8-e0d55e0cd13e",
  "login": "nadmin",
  "name": "nadmin",
  "opts": {
    "allow_script_crud": false,
    "comment": "",
    "roles": ["admin"],
    "tags": [],
    "title": ""
  },
  "pwd": "*****",
  "timezone": "default"
}

3. Выполнить аутентификацию для выполнения запросов API в новом домене.

4. Зарезервировать необходимое количество лицензий (в соответствии с алгоритмом распределения лицензий).

$ curl -b <cookie_file_path> \
       -X PATCH \
       -H 'Content-Type: application/json' \
       -d '{"key": "licowned", "value":<lic_parameters>' \ (1)
       <api_prefix>/rest/v1/domain/settings/licowned
1 <lic_parameters> – резервируемые за доменом параметры лицензии.

Например:

$ curl -b curl-worker2.cookies \
       -X PATCH \
       -H 'Content-Type: application/json' \
       -d '{"key": "licowned", "value":{"devices":20}}' \
       http://192.168.0.35/rest/v1/domain/settings/licowned

{
  "key": "licowned",
  "value": {
    "devices": 20,
    "domains": 3,
    "solution_era": 3
  }
}