Hc_cluster_info
Команда позволяет вывести информацию о кластере.
Аналог команды в CoCon:
/cluster/storage/<CLUSTER>/cluster/<CLUSTER_TYPE>/<CLUSTER_NAME>/info
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/cluster_info
Код HTTP-ответа:
При выполнение команды HTTP-терминал может ответить следующими сообщениями:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла c ответом:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:include schemaLocation="common.xsd"/> <!-- nodeType--> <xs:complexType name="nodeType"> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> <!-- propertyType--> <xs:complexType name="propertyType"> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="value" type="xs:string" use="required"/> </xs:complexType> <!-- clusterType --> <xs:complexType name="clusterType"> <xs:all> <xs:element name="nodes"> <xs:complexType> <xs:sequence> <xs:element name="node" type="nodeType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="properties"> <xs:complexType> <xs:sequence> <xs:element name="property" type="propertyType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="role" type="roleType" use="required"/> <xs:attribute name="active" type="xs:boolean" use="required"/> </xs:complexType> <!-- in --> <xs:element name="in"> <xs:complexType> <xs:sequence> <xs:element name="cluster"> <xs:complexType> <xs:attribute name="storage" type="xs:string" use="required"/> <xs:attribute name="role" type="roleType" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <!-- out --> <xs:element name="out"> <xs:complexType> <xs:all> <xs:element name="cluster" type="clusterType" minOccurs="1" maxOccurs="1"/> </xs:all> </xs:complexType> </xs:element> </xs:schema>
common.xsd:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- dateTimeType --> <xs:simpleType name="dateTimeType"> <xs:restriction base="xs:string"> <xs:pattern value="\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2}(\.\d{0,3})?"/> </xs:restriction> </xs:simpleType> <!-- roleType --> <xs:simpleType name="roleType"> <xs:restriction base="xs:string"> <xs:enumeration value="core"/> <xs:enumeration value="adapter"/> <xs:enumeration value="storage"/> <xs:enumeration value="mediator"/> <xs:enumeration value="tts"/> <xs:enumeration value="bus"/> <xs:enumeration value="all"/> </xs:restriction> </xs:simpleType> </xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/cluster_info
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cluster_info.xsd"> <cluster name="sip1" role="adapter" storage="ds1" /> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="../priv/xsd/cluster_info.xsd"> <cluster name="ds" role="storage" active="true"> <nodes> <node name="ds@naomi"/> <node name="ds2@naomi"/> <node name="ds4@ryabkov"/> </nodes> <properties> <property name="prop1" value="value1"/> <property name="prop2" value="value3"/> <property name="prop3" value="[v,v1,v2]"/> <property name="asdf" value="asdf"/> </properties> </cluster> </out>
Hc_list_of_adapter_clusters
Команда позволяет вывести список кластеров, определенных в системе с ролью adapter определенного типа (SIP, Megaco).
Аналог команды в CoCon:
/cluster/storage/<CLUSTER>/cluster/list adapter
Прямого аналога команды в CoCon нет. Для просмотра можно ввести путь cluster/adapter/
и нажать Tab.
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/list_of_adapter_clusters
Код HTTP-ответа:
При выполнение команды HTTP-терминал может ответить следующими сообщениями:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- adapterType --> <xs:simpleType name="adapterType"> <xs:restriction base="xs:string"> <xs:enumeration value="sip"/> <xs:enumeration value="megaco"/> <xs:enumeration value="all"/> </xs:restriction> </xs:simpleType> <xs:element name="in"> <xs:complexType> <xs:sequence> <xs:element name="request"> <xs:complexType> <xs:attribute name="type" type="adapterType" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="out"> <xs:complexType> <xs:sequence> <xs:element name="adapters"> <xs:complexType> <xs:sequence> <xs:element name="adapter" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="type" type="adapterType" use="required"/> <xs:attribute name="active" type="xs:boolean" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/list_of_adapter_clusters
<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="hc_list_of_adapter_clusters.xsd"> <request type="sip" /> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_list_of_adapter_clusters.xsd"> <adapters> <adapter name="sip1" type="sip" active="true"/> </adapters> </out>
Hc_get_cluster_properties
Команда позволяет вывести свойства кластера. Команда возвращает информацию, что и команда "Информация о кластере", только в другом формате.
Аналог команды в CoCon:
/cluster/storage/<CLUSTER>/cluster/<CLUSTER_TYPE>/<CLUSTER_NAME>/info
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса/ответа:
http://host:port/commands/get_cluster_properties
Код HTTP-ответа:
При выполнение команды HTTP-терминал может ответить следующими сообщениями:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:include schemaLocation="common.xsd"/> <!-- nodeType--> <xs:complexType name="nodeType"> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> <!-- propertyType--> <xs:complexType name="propertyType"> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="value" type="xs:string" use="required"/> </xs:complexType> <!-- clusterType --> <xs:complexType name="clusterType"> <xs:all> <xs:element name="properties"> <xs:complexType> <xs:sequence> <xs:element name="property" type="propertyType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="role" type="roleType" use="required"/> </xs:complexType> <!-- in --> <xs:element name="in"> <xs:complexType> <xs:sequence> <xs:element name="cluster"> <xs:complexType> <xs:attribute name="storage" type="xs:string" use="required"/> <xs:attribute name="role" type="roleType" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <!-- out --> <xs:element name="out"> <xs:complexType> <xs:all> <xs:element name="cluster" type="clusterType" minOccurs="1" maxOccurs="1"/> </xs:all> </xs:complexType> </xs:element> </xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/get_cluster_properties
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cluster_properties.xsd"> <cluster name="ds1" role="storage" storage="ds1" /> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cluster_properties.xsd"> <cluster name="ds1" role="storage"> <properties> <property name="nodes" value="[ds1@ecss1,ds1@ecss2]"/> <property name="isActive" value="true"/> </properties> </cluster> </out>
Hc_cluster_set
Команда используется для задания свойств кластера.
Аналог команды в CoCon:
/cluster/storage/<CLUSTER>/cluster/<CLUSTER_TYPE>/<CLUSTER_NAME>/set
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/cluster_set
Код HTTP-ответа:
При выполнение команды HTTP-терминал может ответить следующими двумя сообщениями:
- 201 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла c запросом:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:include schemaLocation="common.xsd"/> <!-- propertyType--> <xs:complexType name="propertyType"> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="value" type="xs:string" use="required"/> </xs:complexType> <!-- in --> <xs:element name="in"> <xs:complexType> <xs:all> <xs:element name="cluster" minOccurs="1"> <xs:complexType> <xs:sequence> <xs:element name="property" type="propertyType" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="storage" type="xs:string" use="required"/> <xs:attribute name="role" type="roleType" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/cluster_set
Параметры:
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="hc_cluster_set.xsd"> <cluster role="storage" storage="ds1" name="ds1"> <property name="key1" value="value1"/> <property name="ilist" value="[1,2,3]"/> <property name="clist" value="[1,2,3, [a, b], test]"/> </cluster> </in>
Ответ 403 - команда доступна с правами root:
<?xml version="1.0" encoding="UTF-8"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="common_error.xsd"> <error cmd="cluster_set" reason="no_rights" body="{not_authorized,no_rights}"/> </out>
Hc_cluster_clear
Команда позволяет удалить свойство кластера (одного или все).
Аналог команды в CoCon:
/cluster/storage/<CLUSTER>/cluster/<CLUSTER_TYPE>/<CLUSTER_NAME>/clean
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/cluster_clear
Код HTTP-ответа:
При выполнение команды HTTP-терминал может ответить следующими сообщениями:
- 204 – в случае успеха;
- 403,404 – в случае ошибки.
XSD-схема XML-файла c запросом:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="common.xsd"/> <!-- in--> <xs:element name="in"> <xs:complexType> <xs:all> <xs:element name="cluster"> <xs:complexType> <xs:sequence> <xs:element name="property" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="storage" type="xs:string" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="role" type="roleType" use="required"/> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/cluster_clear
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="hc_cluster_clear.xsd"> <cluster role="core" storage="ds1" name="core1"> <property name="a"/> <property name="b"/> </cluster> </in>
Ответ: 403 (только с root-правами)
<?xml version="1.0" encoding="UTF-8"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="common_error.xsd"> <error cmd="cluster_clear" reason="no_rights" body="{not_authorized,no_rights}"/> </out>
Hc_clusters_list
Команда возвращает список кластеров, определенных в системе.
Аналог команды в CoCon:
/cluster/storage/<CLUSTER>/cluster/list
Метод http запроса:
POST
Шаблон http запроса:
http://host:port/commands/list_of_clusters
Код http ответа:
200 – в случае успеха;
404 – в случае ошибки.
Xsd схема XML запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="common.xsd"/> <xs:element name="in"> <xs:complexType> <xs:sequence> <xs:element name="request"> <xs:complexType> <xs:attribute name="role" type="roleType" use="optional"/> <xs:attribute name="storage" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="out"> <xs:complexType> <xs:sequence> <xs:element name="clusters"> <xs:complexType> <xs:sequence> <xs:element name="cluster" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="role" type="roleType" use="required"/> <xs:attribute name="active" type="xs:boolean" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/list_of_clusters
<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="hc_list_of_clusters.xsd"> <request storage="ds1"/> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_list_of_clusters.xsd"> <clusters> <cluster name="ds1" role="storage" active="true"/> <cluster name="core1" role="core" active="true"/> <cluster name="md1" role="mediator" active="true"/> <cluster name="sip1" role="adapter" active="true"/> <cluster name=".system_bridge" role="adapter" active="true"/> <cluster name=".virtual" role="adapter" active="true"/> <cluster name="megaco1" role="adapter" active="false"/> </clusters> </out>
Hc_cluster_properties
Команда возвращает свойства кластера. Hc_cluster_properties возвращает ту же информацию, что и команда Hc_cluster_info, только в другом формате.
Аналог команды в CoCon:
/cluster/storage/<CLUSTER>/cluster/<CLUSTER_TYPE>/<CLUSTER_NAME>/info
Метод http запроса:
POST
Шаблон http запроса/ответа:
http://host:port/commands/get_cluster_properties
Код http ответа:
200 – в случае успеха;
404 – в случае ошибки.
Xsd схема xml файла с запросом/ответом:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:include schemaLocation="common.xsd"/> <!-- nodeType--> <xs:complexType name="nodeType"> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> <!-- propertyType--> <xs:complexType name="propertyType"> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="value" type="xs:string" use="required"/> </xs:complexType> <!-- clusterType --> <xs:complexType name="clusterType"> <xs:all> <xs:element name="properties"> <xs:complexType> <xs:sequence> <xs:element name="property" type="propertyType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="role" type="roleType" use="required"/> </xs:complexType> <!-- in --> <xs:element name="in"> <xs:complexType> <xs:sequence> <xs:element name="cluster"> <xs:complexType> <xs:attribute name="storage" type="xs:string" use="required"/> <xs:attribute name="role" type="roleType" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <!-- out --> <xs:element name="out"> <xs:complexType> <xs:all> <xs:element name="cluster" type="clusterType" minOccurs="1" maxOccurs="1"/> </xs:all> </xs:complexType> </xs:element> </xs:schema>
common.xsd:
См. страницу Hc_cluster_info.
Пример:
Запрос: http://192.168.1.21:9999/commands/get_cluster_properties
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cluster_properties.xsd"> <cluster name="sip1" role="adapter" storage="ds1" /> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cluster_properties.xsd"> <cluster name="sip1" role="adapter"> <properties> <property name="nodes" value="[sip1@ecss1,sip1@ecss2]"/> <property name="isActive" value="true"/> </properties> </cluster> </out>