Hc_role - Команды управления ролями
Hс_role_add_group
Команда добавляет выбранные группы к существующей CoCon роли через HTTP-терминал.
Аналог команды в CoCon:
cocon/role/add-group
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/role_add_group
Код HTTP-ответа:
- 201 – в случае успеха;
- 200 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation xml:lang="en">
Add groups to exists role.
Usage: http://server:9999/commands/role_add_group.
Implementation: hc_role_add_group.erl.
Git: git@git.eltex.loc:httpTerminal.git.
Copyright (c) 2016, Eltex. All rights reserved.
</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="error.xsd"/>
<!-- groupType -->
<xs:complexType name="groupType">
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
<!-- roleType -->
<xs:complexType name="roleType">
<xs:sequence>
<xs:element name="group" type="groupType" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
<!-- requestType -->
<xs:complexType name="requestType">
<xs:sequence>
<xs:element name="role" type="roleType" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- in -->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request" type="requestType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- out -->
<xs:element name="out">
<xs:complexType>
<xs:choice>
<xs:element name="error" type="errorType"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Пример
Запрос: http://192.168.1.21:9999/commands/role_add_group
<in
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="hc_role_add_group.xsd">
<request>
<role name="role1">
<group name="group1"/>
<group name="group2"/>
</role>
</request>
</in>
Ответ:
status: 201
content:
Hс_role_declare
Команда предназначена для создания новой CoCon роли через HTTP-терминал.
Аналог команды в CoCon:
cocon/role/declare
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/role_declare
Код HTTP-ответа:
- 201 – в случае успеха;
- 200 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation xml:lang="en">
Declare role with specific name.
Usage: http://server:9999/commands/role_declare.
Implementation: hc_role_declare.erl.
Git: git@git.eltex.loc:httpTerminal.git.
Copyright (c) 2016, Eltex. All rights reserved.
</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="error.xsd"/>
<!-- propertyType -->
<xs:complexType name="propertyType">
<xs:attribute type="xs:string" name="key" use="required"/>
<xs:attribute type="xs:string" name="value" use="required"/>
</xs:complexType>
<!-- roleType -->
<xs:complexType name="roleType">
<xs:sequence>
<xs:element name="property" type="propertyType" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
<!-- requestType -->
<xs:complexType name="requestType">
<xs:sequence>
<xs:element name="role" type="roleType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- in-->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request" type="requestType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- out -->
<xs:element name="out">
<xs:complexType>
<xs:choice>
<xs:element name="error" type="errorType"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Пример
Запрос: http://192.168.1.21:9999/commands/role_declare
<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_role_declare.xsd">
<request>
<role name="admin1_role">
<property key="key" value="value"/>
</role>
<role name="rolename3" />
</request>
</in>
Ответ:
status: 201
content:
Hс_role_del_group
Команда удаляет выбранные группы существующей CoCon роли через HTTP-терминал.
Аналог команды в CoCon:
cocon/role/del-group
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/role_del_group
Код HTTP-ответа:
- 201 – в случае успеха;
- 200 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation xml:lang="en">
Delete groups from exists role.
Usage: http://server:9999/commands/role_del_group.
Implementation: hc_role_del_group.erl.
Git: git@git.eltex.loc:httpTerminal.git.
Copyright (c) 2016, Eltex. All rights reserved.
</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="error.xsd"/>
<!-- groupType -->
<xs:complexType name="groupType">
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
<!-- roleType -->
<xs:complexType name="roleType">
<xs:sequence>
<xs:element name="group" type="groupType" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
<!-- requestType -->
<xs:complexType name="requestType">
<xs:sequence>
<xs:element name="role" type="roleType" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- in -->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request" type="requestType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- out -->
<xs:element name="out">
<xs:complexType>
<xs:choice>
<xs:element name="error" type="errorType"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Пример
Запрос: http://192.168.1.21:9999/commands/role_del_group
<in
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="hc_role_del_group.xsd">
<request>
<role name="rolename3">
<group name="group1"/>
<group name="group2"/>
</role>
</request>
</in>
Ответ:
status: 201
content:
Hс_role_properties_clean
Команда удаляет выбранное свойство для существующей CoCon роли через HTTP-терминал.
Аналог команды в CoCon:
cocon/role/.properties/clean
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/role_properties_clean
Код HTTP-ответа:
- 201 – в случае успеха;
- 200 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation xml:lang="en">
Remove specified properties from exists role.
Usage: http://server:9999/commands/role_properties_set.
Implementation: hc_role_properties_set.erl.
Git: git@git.eltex.loc:httpTerminal.git.
Copyright (c) 2016, Eltex. All rights reserved.
</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="error.xsd"/>
<!-- keyType -->
<xs:complexType name="keyTypeIn">
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
<!-- roleTypeIn -->
<xs:complexType name="roleTypeIn">
<xs:sequence>
<xs:element name="key" type="keyTypeIn" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
<!-- requestType -->
<xs:complexType name="requestType">
<xs:sequence>
<xs:element name="role" type="roleTypeIn" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- in -->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request" type="requestType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- propertyType -->
<xs:complexType name="propertyTypeOut">
<xs:attribute type="xs:string" name="key" use="optional"/>
<xs:attribute type="xs:string" name="value" use="optional"/>
</xs:complexType>
<!-- roleTypeOut -->
<xs:complexType name="roleTypeOut">
<xs:sequence>
<xs:element name="property" type="propertyTypeOut" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
<!-- resultType -->
<xs:complexType name="resultType">
<xs:sequence>
<xs:element name="role" type="roleTypeOut" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- out -->
<xs:element name="out">
<xs:complexType>
<xs:sequence>
<xs:element name="result" type="resultType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Пример
Запрос: http://192.168.1.21:9999/commands/role_properties_clean
<in
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="hc_role_properties_clean.xsd">
<request>
<role name="rolename3">
<key name="one" />
<key name="two" />
<key name="three" />
</role>
</request>
</in>
Ответ:
status: 201
content:
Hс_role_properties_info
Команда просмотра свойства CoCon роли через HTTP-терминал.
Аналог команды в CoCon:
cocon/role/.properties/info
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/role_properties_info
Код HTTP-ответа:
- 201 – в случае успеха;
- 200 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation xml:lang="en">
Showing information about properties of entered role .
Usage: http://server:9999/commands/role_properties_info.
Implementation: hc_role_properties_info.erl.
Git: git@git.eltex.loc:httpTerminal.git.
Copyright (c) 2016, Eltex. All rights reserved.
</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="error.xsd"/>
<!-- keyType -->
<xs:complexType name="keyType">
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
<!-- roleTypeIn -->
<xs:complexType name="roleTypeIn">
<xs:sequence>
<xs:element name="key" type="keyType" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
<!-- requestType -->
<xs:complexType name="requestType">
<xs:sequence>
<xs:element name="role" type="roleTypeIn" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- in -->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request" type="requestType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- propertyType -->
<xs:complexType name="propertyType">
<xs:attribute type="xs:string" name="key" use="optional"/>
<xs:attribute type="xs:string" name="value" use="optional"/>
</xs:complexType>
<!-- roleTypeOut -->
<xs:complexType name="roleTypeOut">
<xs:sequence>
<xs:element name="property" type="propertyType" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
<!-- resultType -->
<xs:complexType name="resultType">
<xs:sequence>
<xs:element name="role" type="roleTypeOut" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- out -->
<xs:element name="out">
<xs:complexType>
<xs:sequence>
<xs:element name="result" type="resultType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Пример
Запрос: http://192.168.1.21:9999/commands/role_properties_info
<in
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="hc_role_properties_info.xsd">
<request>
<role name="cc-admin">
<key name="access_tree" />
</role>
<role name="pbx-10X-admin"></role>
</request>
</in>
Ответ:
<?xml version="1.0"?>
<out
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_role_properties_info.xsd">
<result>
<role name="cc-admin">
<property key="access_tree" value="eyJ2ZXJzaW9uIjogIjMuOC4wLjI3IiwgInRyZWUiOiB7ImluZm8iOiB0cnVlLCAibmFtZSI6ICJXQ0YiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlLCAiY2hpbGRyZW4iOiBbeyJpbmZvIjogZmFsc2UsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiY2x1c3Rlcl9jbHVzdGVyIiwgInRpdGxlIjogIkNsdXN0ZXJzIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZSwgIl9pY29uIjogImNsdXN0ZXIuY2x1c3RlciJ9LCB7ImluZm8iOiBmYWxzZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJkb21haW5fZG9tYWluIiwgInRpdGxlIjogIkRvbWFpbnMiLCAiY3JlYXRlIjogZmFsc2UsICJtb2RpZnkiOiBmYWxzZSwgInJlbW92ZSI6IGZhbHNlLCAiX2ljb24iOiAiZG9tYWluLmRvbWFpbiJ9LCB7ImluZm8iOiBmYWxzZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJkb21haW5fYnJpZGdlIiwgInRpdGxlIjogIkJyaWRnZSBtYW5hZ2VyIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZSwgIl9pY29uIjogImRvbWFpbi5icmlkZ2UifSwgeyJpbmZvIjogZmFsc2UsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiZG9tYWluX2NkciIsICJ0aXRsZSI6ICJDZHIgbWFuYWdlciIsICJjcmVhdGUiOiBmYWxzZSwgIm1vZGlmeSI6IGZhbHNlLCAicmVtb3ZlIjogZmFsc2UsICJfaWNvbiI6ICJkb21haW4uY2RyIn0sIHsiaW5mbyI6IGZhbHNlLCAibGVhZiI6IHRydWUsICJuYW1lIjogImFsaWFzX3Byb2ZpbGVzIiwgInRpdGxlIjogIkFsaWFzIHByb2ZpbGVzIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZSwgIl9pY29uIjogImFsaWFzLnByb2ZpbGVzIn0sIHsiaW5mbyI6IGZhbHNlLCAibmFtZSI6ICJhbGlhc19jYXJkIiwgInRpdGxlIjogIlN1YnNjcmliZXIgY2FyZCIsICJjcmVhdGUiOiBmYWxzZSwgIm1vZGlmeSI6IGZhbHNlLCAicmVtb3ZlIjogZmFsc2UsICJjaGlsZHJlbiI6IFt7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogImNhcmRfbmF2aWdhdGlvbiIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWV9LCB7ImluZm8iOiB0cnVlLCAibmFtZSI6ICJjYXJkX2xvYWRlciIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWUsICJjaGlsZHJlbiI6IFt7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogImFsaWFzX3Byb3BlcnRpZXMiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlfV19LCB7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogImNhcmRfc3NfcGFuZWwiLCAidGl0bGUiOiAiU3VwcGxlbWVudGFyeSBzZXJ2aWNlcyIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWV9XSwgIl9pY29uIjogImFsaWFzLmNhcmQifSwgeyJpbmZvIjogZmFsc2UsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiYWxhcm1fYWxhcm0iLCAidGl0bGUiOiAiQWxhcm0gbGlzdCIsICJjcmVhdGUiOiBmYWxzZSwgIm1vZGlmeSI6IGZhbHNlLCAicmVtb3ZlIjogZmFsc2UsICJfaWNvbiI6ICJhbGFybS5hbGFybSJ9LCB7ImluZm8iOiBmYWxzZSwgIm5hbWUiOiAiaWZhY2VfaWZhY2UiLCAidGl0bGUiOiAiSW50ZXJmYWNlcyBsaXN0IiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZSwgImNoaWxkcmVuIjogW3siaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiaWZhY2VfaW5mbyIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWV9XSwgIl9pY29uIjogImlmYWNlLmlmYWNlIn0sIHsiaW5mbyI6IGZhbHNlLCAibGVhZiI6IHRydWUsICJuYW1lIjogImxvZ19jYWxsIiwgInRpdGxlIjogIkNhbGwgaGlzdG9yeSIsICJjcmVhdGUiOiBmYWxzZSwgIm1vZGlmeSI6IGZhbHNlLCAicmVtb3ZlIjogZmFsc2UsICJfaWNvbiI6ICJsb2cuY2FsbCJ9LCB7ImluZm8iOiBmYWxzZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJjb25zb2xlX2NvbnNvbGUiLCAidGl0bGUiOiAiQ29uc29sZSIsICJjcmVhdGUiOiBmYWxzZSwgIm1vZGlmeSI6IGZhbHNlLCAicmVtb3ZlIjogZmFsc2UsICJfaWNvbiI6ICJjb25zb2xlLmNvbnNvbGUifSwgeyJpbmZvIjogZmFsc2UsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAibWdtdF91c2VycyIsICJ0aXRsZSI6ICJVc2VyIG1hbmFnZXIiLCAiY3JlYXRlIjogZmFsc2UsICJtb2RpZnkiOiBmYWxzZSwgInJlbW92ZSI6IGZhbHNlLCAiX2ljb24iOiAibWdtdC51c2VycyJ9LCB7ImluZm8iOiBmYWxzZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJtZ210X2xpY2Vuc2UiLCAidGl0bGUiOiAiTGljZW5jZSBtYW5hZ2VyIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZSwgIl9pY29uIjogIm1nbXQubGljZW5zZSJ9LCB7ImluZm8iOiBmYWxzZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJyb3V0aW5nX21hbmFnZXIiLCAidGl0bGUiOiAiUm91dGluZyBtYW5hZ2VyIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZSwgIl9pY29uIjogInJvdXRpbmcubWFuYWdlciJ9LCB7ImluZm8iOiBmYWxzZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJhY2Nlc3NfbWFuYWdlciIsICJ0aXRsZSI6ICJBY2Nlc3MgbWFuYWdlciIsICJjcmVhdGUiOiBmYWxzZSwgIm1vZGlmeSI6IGZhbHNlLCAicmVtb3ZlIjogZmFsc2UsICJfaWNvbiI6ICJhY2Nlc3MubWFuYWdlciJ9LCB7ImluZm8iOiBmYWxzZSwgIm5hbWUiOiAic3NfaW5zdGFsbCIsICJ0aXRsZSI6ICJTUyBpbnN0YWxsIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZSwgImNoaWxkcmVuIjogW3siaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiRmVhdHVyZUNvZGVzIiwgInRpdGxlIjogIlNTIGNvZGVzIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZX1dLCAiX2ljb24iOiAic3MuaW5zdGFsbCJ9LCB7ImluZm8iOiBmYWxzZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJhcHBfZG9jc19kb2NzIiwgInRpdGxlIjogIkRvY3VtZW50YXRpb24iLCAiY3JlYXRlIjogZmFsc2UsICJtb2RpZnkiOiBmYWxzZSwgInJlbW92ZSI6IGZhbHNlLCAiX2ljb24iOiAiYXBwX2RvY3MuZG9jcyJ9LCB7ImluZm8iOiBmYWxzZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJnYXRld2F5X21hbmFnZXIiLCAidGl0bGUiOiAiR2F0ZXdheSBtYW5hZ2VyIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZSwgIl9pY29uIjogImdhdGV3YXkubWFuYWdlciJ9LCB7ImluZm8iOiBmYWxzZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJ0cnVua19zaG93IiwgInRpdGxlIjogIlRydW5rIG1hbmFnZXIiLCAiY3JlYXRlIjogZmFsc2UsICJtb2RpZnkiOiBmYWxzZSwgInJlbW92ZSI6IGZhbHNlLCAiX2ljb24iOiAidHJ1bmsuc2hvdyJ9LCB7ImluZm8iOiBmYWxzZSwgIm5hbWUiOiAibWdtdF9ob3N0X2luZm8iLCAidGl0bGUiOiAiU1NXIGhvc3RzIGluZm8iLCAiY3JlYXRlIjogZmFsc2UsICJtb2RpZnkiOiBmYWxzZSwgInJlbW92ZSI6IGZhbHNlLCAiY2hpbGRyZW4iOiBbeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJHcmFwaHMiLCAidGl0bGUiOiAiQWN0aXZlIGNhbGxzIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZX1dLCAiX2ljb24iOiAibWdtdC5ob3N0X2luZm8ifSwgeyJpbmZvIjogdHJ1ZSwgIm5hbWUiOiAiY2NfbWFuYWdlciIsICJ0aXRsZSI6ICJDYWxsLWNlbnRlciIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWUsICJjaGlsZHJlbiI6IFt7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogImNjX2FnZW50X2luZm8iLCAidGl0bGUiOiAiQWdlbnQiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlfSwgeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJjY19xdWV1ZV9pbmZvIiwgInRpdGxlIjogIlF1ZXVlIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZX1dLCAiX2ljb24iOiAiY2MubWFuYWdlciJ9LCB7ImluZm8iOiBmYWxzZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJzdWJzY3JpYmVyX3BvcnRhbCIsICJ0aXRsZSI6ICJTdWJzY3JpYmVyIHBvcnRhbCIsICJjcmVhdGUiOiBmYWxzZSwgIm1vZGlmeSI6IGZhbHNlLCAicmVtb3ZlIjogZmFsc2UsICJfaWNvbiI6ICJzdWJzY3JpYmVyLnBvcnRhbCJ9LCB7ImluZm8iOiBmYWxzZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJtc3JfZHJhdyIsICJ0aXRsZSI6ICJJVlIgZWRpdG9yIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZSwgIl9pY29uIjogIm1zci5kcmF3In0sIHsiaW5mbyI6IGZhbHNlLCAibGVhZiI6IHRydWUsICJuYW1lIjogImRvbWFpbl90Y3BfZHVtcCIsICJ0aXRsZSI6ICJQQ0FQIHRyYWNlIG1hbmFnZXIiLCAiY3JlYXRlIjogZmFsc2UsICJtb2RpZnkiOiBmYWxzZSwgInJlbW92ZSI6IGZhbHNlLCAiX2ljb24iOiAiZG9tYWluLnRjcF9kdW1wIn0sIHsiaW5mbyI6IGZhbHNlLCAibGVhZiI6IHRydWUsICJuYW1lIjogImRvbWFpbl90ZWxlY29uZiIsICJ0aXRsZSI6ICJUZWxlY29uZmVyZW5jZSBtYW5hZ2VyIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZSwgIl9pY29uIjogImRvbWFpbi50ZWxlY29uZiJ9LCB7ImluZm8iOiBmYWxzZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJkb21haW5fbnVtYmVyX3BsYW4iLCAidGl0bGUiOiAiTnVtYmVyaW5nIHBsYW4gbWFuYWdlciIsICJjcmVhdGUiOiBmYWxzZSwgIm1vZGlmeSI6IGZhbHNlLCAicmVtb3ZlIjogZmFsc2UsICJfaWNvbiI6ICJkb21haW4ubnVtYmVyX3BsYW4ifSwgeyJpbmZvIjogZmFsc2UsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAic3RhdGlzdGljc19kb21haW4iLCAidGl0bGUiOiAiU3RhdGlzdGljIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZSwgIl9pY29uIjogInN0YXRpc3RpY3MuZG9tYWluIn0sIHsiaW5mbyI6IGZhbHNlLCAibGVhZiI6IHRydWUsICJuYW1lIjogIm1zcl9tZWRpYSIsICJ0aXRsZSI6ICJNU1IgbWVkaWEgbWFuYWdlciIsICJjcmVhdGUiOiBmYWxzZSwgIm1vZGlmeSI6IGZhbHNlLCAicmVtb3ZlIjogZmFsc2UsICJfaWNvbiI6ICJtc3IubWVkaWEifSwgeyJpbmZvIjogZmFsc2UsICJuYW1lIjogImRvbWFpbl9jYWxlbmRhciIsICJ0aXRsZSI6ICJDYWxlbmRhciIsICJjcmVhdGUiOiBmYWxzZSwgIm1vZGlmeSI6IGZhbHNlLCAicmVtb3ZlIjogZmFsc2UsICJjaGlsZHJlbiI6IFt7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogInNpbXBsZV9zZXR0aW5nc19DYWxlbmRhciIsICJ0aXRsZSI6ICJDYWxlbmRhciIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWV9LCB7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogIlNoZWR1bGUiLCAidGl0bGUiOiAiVGltZXRhYmxlcyIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWV9XSwgIl9pY29uIjogImRvbWFpbi5jYWxlbmRhciJ9LCB7ImluZm8iOiBmYWxzZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJtc3JfcmVnaXN0cmFyIiwgInRpdGxlIjogIk1TUiBtZWRpYSByZWdpc3RyYXJzIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZSwgIl9pY29uIjogIm1zci5yZWdpc3RyYXIifV19fQ=="/>
</role>
<role name="pbx-10X-admin">
<property key="available-in-domains" value="*"/>
<property key="access_tree_simple" value="eyJ2ZXJzaW9uIjogIjMuOC4wLjMyIiwgInRyZWUiOiB7ImluZm8iOiB0cnVlLCAibmFtZSI6ICJTaW1wbGVXQ0YiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlLCAiY2hpbGRyZW4iOiBbeyJpbmZvIjogdHJ1ZSwgIm5hbWUiOiAiTW9uaXRvcmluZyIsICJ0aXRsZSI6ICJNb25pdG9yaW5nIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZSwgImNoaWxkcmVuIjogW3siaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiR3JhcGhzIiwgInRpdGxlIjogIkdyYXBocyIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWV9LCB7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogIkNvbW1vbiIsICJ0aXRsZSI6ICJDb21tb24iLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlfSwgeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJDYWxscyIsICJ0aXRsZSI6ICJDYWxscyIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWV9LCB7ImluZm8iOiBmYWxzZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJBbGFybXMiLCAidGl0bGUiOiAiQWxhcm1zIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZX1dLCAiX2ljb24iOiAic2ltcGxlLm1vbml0b3JpbmcifSwgeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJTdWJzY3JpYmVycyIsICJ0aXRsZSI6ICJVc2VyIG1hbmFnZXIiLCAiY3JlYXRlIjogZmFsc2UsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogZmFsc2UsICJfaWNvbiI6ICJzaW1wbGUuc3Vic2NyaWJlcnMifSwgeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJOdW1iZXJzIiwgInRpdGxlIjogIk51bWJlcnMiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlLCAiX2ljb24iOiAic2ltcGxlLm51bWJlcnMifSwgeyJpbmZvIjogZmFsc2UsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiUm91dGVzIiwgInRpdGxlIjogIlJvdXRlcyIsICJjcmVhdGUiOiBmYWxzZSwgIm1vZGlmeSI6IGZhbHNlLCAicmVtb3ZlIjogZmFsc2UsICJfaWNvbiI6ICJzaW1wbGUucm91dGVzIn0sIHsiaW5mbyI6IHRydWUsICJuYW1lIjogIlNldHRpbmdzIiwgInRpdGxlIjogIlNldHRpbmdzIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZSwgImNoaWxkcmVuIjogW3siaW5mbyI6IGZhbHNlLCAibGVhZiI6IHRydWUsICJuYW1lIjogIlRydW5rcyIsICJ0aXRsZSI6ICJUcnVua3MiLCAiY3JlYXRlIjogZmFsc2UsICJtb2RpZnkiOiBmYWxzZSwgInJlbW92ZSI6IGZhbHNlfSwgeyJpbmZvIjogZmFsc2UsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiQ2RyIiwgInRpdGxlIjogIkNEUiIsICJjcmVhdGUiOiBmYWxzZSwgIm1vZGlmeSI6IGZhbHNlLCAicmVtb3ZlIjogZmFsc2V9LCB7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogIkl2ciIsICJ0aXRsZSI6ICJJVlIiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlfSwgeyJpbmZvIjogdHJ1ZSwgIm5hbWUiOiAiQWNjZXNzIiwgInRpdGxlIjogIkFjY2VzcyIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWUsICJjaGlsZHJlbiI6IFt7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogIkFjY2Vzc1R5cGUiLCAidGl0bGUiOiAiQWNjZXNzIHR5cGUiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlfSwgeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJBY2Nlc3NNb2RlIiwgInRpdGxlIjogIkFjY2VzcyBtb2RlIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZX0sIHsiaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiQWNjZXNzR3JvdXBzIiwgInRpdGxlIjogIkFjY2VzcyBncm91cHMiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlfV19LCB7ImluZm8iOiBmYWxzZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJDZmMiLCAidGl0bGUiOiAiQ0ZDIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZX0sIHsiaW5mbyI6IGZhbHNlLCAibGVhZiI6IHRydWUsICJuYW1lIjogIkZlYXR1cmVDb2RlcyIsICJ0aXRsZSI6ICJGZWF0dXJlIGNvZGVzIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZX0sIHsiaW5mbyI6IGZhbHNlLCAibGVhZiI6IHRydWUsICJuYW1lIjogIm1zcl9tZWRpYSIsICJ0aXRsZSI6ICJNZWRpYSBtYW5hZ2VyIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZX0sIHsiaW5mbyI6IGZhbHNlLCAibGVhZiI6IHRydWUsICJuYW1lIjogIkFjb3VzdGljU2lnbmFscyIsICJ0aXRsZSI6ICJBSSBPcHRpb25zIiwgImNyZWF0ZSI6IGZhbHNlLCAibW9kaWZ5IjogZmFsc2UsICJyZW1vdmUiOiBmYWxzZX0sIHsiaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAic2ltcGxlX3NldHRpbmdzX0NhbGVuZGFyIiwgInRpdGxlIjogIkNhbGVuZGFyIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZX0sIHsiaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiU2hlZHVsZSIsICJ0aXRsZSI6ICJUaW1ldGFibGVzIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZX1dLCAiX2ljb24iOiAic2ltcGxlLnNldHRpbmdzIn1dfX0="/>
<property key="access_tree" value="eyJ2ZXJzaW9uIjogIjMuOC4wLjMyIiwgInRyZWUiOiB7ImluZm8iOiBmYWxzZSwgIm5hbWUiOiAiV0NGIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZSwgImNoaWxkcmVuIjogW3siaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiY2x1c3Rlcl9jbHVzdGVyIiwgInRpdGxlIjogIkNsdXN0ZXJzIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZSwgIl9pY29uIjogImNsdXN0ZXIuY2x1c3RlciJ9LCB7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogImRvbWFpbl9kb21haW4iLCAidGl0bGUiOiAiRG9tYWlucyIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWUsICJfaWNvbiI6ICJkb21haW4uZG9tYWluIn0sIHsiaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiZG9tYWluX2JyaWRnZSIsICJ0aXRsZSI6ICJCcmlkZ2UgbWFuYWdlciIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWUsICJfaWNvbiI6ICJkb21haW4uYnJpZGdlIn0sIHsiaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiZG9tYWluX2NkciIsICJ0aXRsZSI6ICJDZHIgbWFuYWdlciIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWUsICJfaWNvbiI6ICJkb21haW4uY2RyIn0sIHsiaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiYWxpYXNfcHJvZmlsZXMiLCAidGl0bGUiOiAiQWxpYXMgcHJvZmlsZXMiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlLCAiX2ljb24iOiAiYWxpYXMucHJvZmlsZXMifSwgeyJpbmZvIjogdHJ1ZSwgIm5hbWUiOiAiYWxpYXNfY2FyZCIsICJ0aXRsZSI6ICJTdWJzY3JpYmVyIGNhcmQiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlLCAiY2hpbGRyZW4iOiBbeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJjYXJkX25hdmlnYXRpb24iLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlfSwgeyJpbmZvIjogdHJ1ZSwgIm5hbWUiOiAiY2FyZF9sb2FkZXIiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlLCAiY2hpbGRyZW4iOiBbeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJhbGlhc19wcm9wZXJ0aWVzIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZX1dfSwgeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJjYXJkX3NzX3BhbmVsIiwgInRpdGxlIjogIlN1cHBsZW1lbnRhcnkgc2VydmljZXMiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlfV0sICJfaWNvbiI6ICJhbGlhcy5jYXJkIn0sIHsiaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiYWxhcm1fYWxhcm0iLCAidGl0bGUiOiAiQWxhcm0gbGlzdCIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWUsICJfaWNvbiI6ICJhbGFybS5hbGFybSJ9LCB7ImluZm8iOiB0cnVlLCAibmFtZSI6ICJpZmFjZV9pZmFjZSIsICJ0aXRsZSI6ICJJbnRlcmZhY2VzIGxpc3QiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlLCAiY2hpbGRyZW4iOiBbeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJpZmFjZV9pbmZvIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZX1dLCAiX2ljb24iOiAiaWZhY2UuaWZhY2UifSwgeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJsb2dfY2FsbCIsICJ0aXRsZSI6ICJDYWxsIGhpc3RvcnkiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlLCAiX2ljb24iOiAibG9nLmNhbGwifSwgeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJjb25zb2xlX2NvbnNvbGUiLCAidGl0bGUiOiAiQ29uc29sZSIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWUsICJfaWNvbiI6ICJjb25zb2xlLmNvbnNvbGUifSwgeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJtZ210X3VzZXJzIiwgInRpdGxlIjogIlVzZXIgbWFuYWdlciIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWUsICJfaWNvbiI6ICJtZ210LnVzZXJzIn0sIHsiaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAibWdtdF9saWNlbnNlIiwgInRpdGxlIjogIkxpY2VuY2UgbWFuYWdlciIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWUsICJfaWNvbiI6ICJtZ210LmxpY2Vuc2UifSwgeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJyb3V0aW5nX21hbmFnZXIiLCAidGl0bGUiOiAiUm91dGluZyBtYW5hZ2VyIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZSwgIl9pY29uIjogInJvdXRpbmcubWFuYWdlciJ9LCB7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogImFjY2Vzc19tYW5hZ2VyIiwgInRpdGxlIjogIkFjY2VzcyBtYW5hZ2VyIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZSwgIl9pY29uIjogImFjY2Vzcy5tYW5hZ2VyIn0sIHsiaW5mbyI6IHRydWUsICJuYW1lIjogInNzX2luc3RhbGwiLCAidGl0bGUiOiAiU1MgaW5zdGFsbCIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWUsICJjaGlsZHJlbiI6IFt7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogIkZlYXR1cmVDb2RlcyIsICJ0aXRsZSI6ICJTUyBjb2RlcyIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWV9XSwgIl9pY29uIjogInNzLmluc3RhbGwifSwgeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJhcHBfZG9jc19kb2NzIiwgInRpdGxlIjogIkRvY3VtZW50YXRpb24iLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlLCAiX2ljb24iOiAiYXBwX2RvY3MuZG9jcyJ9LCB7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogImdhdGV3YXlfbWFuYWdlciIsICJ0aXRsZSI6ICJHYXRld2F5IG1hbmFnZXIiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlLCAiX2ljb24iOiAiZ2F0ZXdheS5tYW5hZ2VyIn0sIHsiaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAidHJ1bmtfc2hvdyIsICJ0aXRsZSI6ICJUcnVuayBtYW5hZ2VyIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZSwgIl9pY29uIjogInRydW5rLnNob3cifSwgeyJpbmZvIjogdHJ1ZSwgIm5hbWUiOiAibWdtdF9ob3N0X2luZm8iLCAidGl0bGUiOiAiU1NXIGhvc3RzIGluZm8iLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlLCAiY2hpbGRyZW4iOiBbeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJHcmFwaHMiLCAidGl0bGUiOiAiQWN0aXZlIGNhbGxzIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZX1dLCAiX2ljb24iOiAibWdtdC5ob3N0X2luZm8ifSwgeyJpbmZvIjogdHJ1ZSwgIm5hbWUiOiAiY2NfbWFuYWdlciIsICJ0aXRsZSI6ICJDYWxsLWNlbnRlciIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWUsICJjaGlsZHJlbiI6IFt7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogImNjX2FnZW50X2luZm8iLCAidGl0bGUiOiAiQWdlbnQiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlfSwgeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJjY19xdWV1ZV9pbmZvIiwgInRpdGxlIjogIlF1ZXVlIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZX1dLCAiX2ljb24iOiAiY2MubWFuYWdlciJ9LCB7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogInN1YnNjcmliZXJfcG9ydGFsIiwgInRpdGxlIjogIlN1YnNjcmliZXIgcG9ydGFsIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZSwgIl9pY29uIjogInN1YnNjcmliZXIucG9ydGFsIn0sIHsiaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAibXNyX2RyYXciLCAidGl0bGUiOiAiSVZSIGVkaXRvciIsICJjcmVhdGUiOiB0cnVlLCAibW9kaWZ5IjogdHJ1ZSwgInJlbW92ZSI6IHRydWUsICJfaWNvbiI6ICJtc3IuZHJhdyJ9LCB7ImluZm8iOiB0cnVlLCAibGVhZiI6IHRydWUsICJuYW1lIjogImRvbWFpbl90Y3BfZHVtcCIsICJ0aXRsZSI6ICJQQ0FQIHRyYWNlIG1hbmFnZXIiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlLCAiX2ljb24iOiAiZG9tYWluLnRjcF9kdW1wIn0sIHsiaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiZG9tYWluX3RlbGVjb25mIiwgInRpdGxlIjogIlRlbGVjb25mZXJlbmNlIG1hbmFnZXIiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlLCAiX2ljb24iOiAiZG9tYWluLnRlbGVjb25mIn0sIHsiaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAiZG9tYWluX251bWJlcl9wbGFuIiwgInRpdGxlIjogIk51bWJlcmluZyBwbGFuIG1hbmFnZXIiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlLCAiX2ljb24iOiAiZG9tYWluLm51bWJlcl9wbGFuIn0sIHsiaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAic3RhdGlzdGljc19kb21haW4iLCAidGl0bGUiOiAiU3RhdGlzdGljIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZSwgIl9pY29uIjogInN0YXRpc3RpY3MuZG9tYWluIn0sIHsiaW5mbyI6IHRydWUsICJsZWFmIjogdHJ1ZSwgIm5hbWUiOiAibXNyX21lZGlhIiwgInRpdGxlIjogIk1TUiBtZWRpYSBtYW5hZ2VyIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZSwgIl9pY29uIjogIm1zci5tZWRpYSJ9LCB7ImluZm8iOiB0cnVlLCAibmFtZSI6ICJkb21haW5fY2FsZW5kYXIiLCAidGl0bGUiOiAiQ2FsZW5kYXIiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlLCAiY2hpbGRyZW4iOiBbeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJzaW1wbGVfc2V0dGluZ3NfQ2FsZW5kYXIiLCAidGl0bGUiOiAiQ2FsZW5kYXIiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlfSwgeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJTaGVkdWxlIiwgInRpdGxlIjogIlRpbWV0YWJsZXMiLCAiY3JlYXRlIjogdHJ1ZSwgIm1vZGlmeSI6IHRydWUsICJyZW1vdmUiOiB0cnVlfV0sICJfaWNvbiI6ICJkb21haW4uY2FsZW5kYXIifSwgeyJpbmZvIjogdHJ1ZSwgImxlYWYiOiB0cnVlLCAibmFtZSI6ICJtc3JfcmVnaXN0cmFyIiwgInRpdGxlIjogIk1TUiBtZWRpYSByZWdpc3RyYXJzIiwgImNyZWF0ZSI6IHRydWUsICJtb2RpZnkiOiB0cnVlLCAicmVtb3ZlIjogdHJ1ZSwgIl9pY29uIjogIm1zci5yZWdpc3RyYXIifV19fQ=="/>
</role>
</result>
</out>
Hс_role_properties_set
Команда изменяет и(или) добавляет свойство для существующей CoCon роли через HTTP-терминал.
Аналог команды в CoCon:
cocon/role/.properties/set
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/role_properties_set
Код HTTP-ответа:
- 201 – в случае успеха;
- 200 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation xml:lang="en">
Set specified properties to exists role.
Usage: http://server:9999/commands/role_properties_set.
Implementation: hc_role_properties_set.erl.
Git: git@git.eltex.loc:httpTerminal.git.
Copyright (c) 2016, Eltex. All rights reserved.
</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="error.xsd"/>
<!-- propertyType -->
<xs:complexType name="propertyTypeIn">
<xs:attribute type="xs:string" name="key" use="required"/>
<xs:attribute type="xs:string" name="value" use="required"/>
</xs:complexType>
<!-- roleTypeIn -->
<xs:complexType name="roleTypeIn">
<xs:sequence>
<xs:element name="property" type="propertyTypeIn" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
<!-- requestType -->
<xs:complexType name="requestType">
<xs:sequence>
<xs:element name="role" type="roleTypeIn" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- in -->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request" type="requestType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- propertyType -->
<xs:complexType name="propertyTypeOut">
<xs:attribute type="xs:string" name="key" use="optional"/>
<xs:attribute type="xs:string" name="value" use="optional"/>
</xs:complexType>
<!-- roleTypeOut -->
<xs:complexType name="roleTypeOut">
<xs:sequence>
<xs:element name="property" type="propertyTypeOut" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
<!-- resultType -->
<xs:complexType name="resultType">
<xs:sequence>
<xs:element name="role" type="roleTypeOut" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- out -->
<xs:element name="out">
<xs:complexType>
<xs:sequence>
<xs:element name="result" type="resultType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Пример
Запрос: http://192.168.1.21:9999/commands/role_properties_set
<in
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="hc_role_properties_set.xsd">
<request>
<role name="rolename3">
<property key="one" value="value"/>
<property key="two" value="value1\nvalue2"/>
</role>
<role name="admin1_role">
<property key="one" value="value1"/>
</role>
</request>
</in>
Ответ:
status: 201
content:
Hс_role_remove
Команда предназначена для удаления CoCon роли через HTTP-терминал.
Аналог команды в CoCon:
cocon/role/remove
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/role_remove
Код HTTP-ответа:
- 201 – в случае успеха;
- 200 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation xml:lang="en">
Remove exists role with specific name.
Usage: http://server:9999/commands/role_remove.
Implementation: hc_role_remove.erl.
Git: git@git.eltex.loc:httpTerminal.git.
Copyright (c) 2016, Eltex. All rights reserved.
</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="error.xsd"/>
<!-- roleType -->
<xs:complexType name="roleType">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
<!-- requestType -->
<xs:complexType name="requestType">
<xs:sequence>
<xs:element name="role" type="roleType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- in-->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request" type="requestType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- out -->
<xs:element name="out">
<xs:complexType>
<xs:choice>
<xs:element name="error" type="errorType"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Пример
Запрос: http://192.168.1.21:9999/commands/role_remove
<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_role_remove.xsd">
<request>
<role name="rolename3" />
</request>
</in>
Ответ:
status: 201
content:
Hс_set_role_to_user
Команда назначает CoCon роль пользователю через HTTP-терминал.
Аналог команды в CoCon:
cocon/set-role-from-user
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/set_role_to_user
Код HTTP-ответа:
- 201 – в случае успеха;
- 200 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation xml:lang="en">
Set exists role to exists user.
Usage: http://server:9999/commands/set_role_to_user.
Implementation: hc_set_role_to_user.erl.
Git: git@git.eltex.loc:httpTerminal.git.
Copyright (c) 2016, Eltex. All rights reserved.
</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="error.xsd"/>
<!-- userType -->
<xs:complexType name="userType">
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
<!-- roleType -->
<xs:complexType name="roleType">
<xs:sequence>
<xs:element name="user" type="userType" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
<!-- requestType -->
<xs:complexType name="requestType">
<xs:sequence>
<xs:element name="role" type="roleType" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- in -->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request" type="requestType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- out -->
<xs:element name="out">
<xs:complexType>
<xs:choice>
<xs:element name="error" type="errorType"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Пример
Запрос: http://192.168.1.21:9999/commands/set_role_to_user
<in
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="hc_set_role_to_user.xsd">
<request>
<role name="oper_role">
<user name="oper"/>
</role>
</request>
</in>
Ответ:
status: 201
content:
Hс_del_role_from_user
Команда удаляет существующую CoCon роль существующего пользователя через HTTP-терминал.
Аналог команды в CoCon:
cocon/del-role-from-user
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/del_role_from_user
Код HTTP-ответа:
- 201 – в случае успеха;
- 200 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation xml:lang="en">
Delete role from exists user.
Usage: http://server:9999/commands/del_role_from_user.
Implementation: hc_del_role_from_user.erl.
Git: git@git.eltex.loc:httpTerminal.git.
Copyright (c) 2016, Eltex. All rights reserved.
</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="error.xsd"/>
<!-- userType -->
<xs:complexType name="userType">
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
<!-- roleType -->
<xs:complexType name="roleType">
<xs:sequence>
<xs:element name="user" type="userType" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
<!-- requestType -->
<xs:complexType name="requestType">
<xs:sequence>
<xs:element name="role" type="roleType" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- in -->
<xs:element name="in">
<xs:complexType>
<xs:sequence>
<xs:element name="request" type="requestType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- out -->
<xs:element name="out">
<xs:complexType>
<xs:choice>
<xs:element name="error" type="errorType"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Пример
Запрос: http://192.168.1.21:9999/commands/del_role_from_user
<in
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="hc_del_role_from_user.xsd">
<request>
<role name="oper_role">
<user name="oper"/>
</role>
</request>
</in>
Ответ:
status: 201
content: