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>
CODE

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>
CODE

Пример:

Запрос: 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>
CODE

Ответ:200


<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cluster_info.xsd">
    <cluster name="sip1" role="adapter" active="true">
        <nodes>
            <node name="sip1@ecss1"/>
            <node name="sip1@ecss2"/>
        </nodes>
        <properties>
            <property name="restart_counter" value="93"/>
            <property name="adapter_type" value="sip"/>
            <property name="fix" value="["2.13.0.67"]"/>
            <property name="ecss_cm\sip_cluster_network\ip_set" value="[{"ipset1","ᏄᏅᏆᏇᏈᏉᏎᏏᏐᏑᏒᏓ",24, [{sip1@ecss1,"192.168.2.61"},{sip1@ecss2,"192.168.2.62"}]}, {"ipset2","ᏢᏣ",0,[{sip1@ecss1,"192.168.2.61"},{sip1@ecss2,"127.0.0.1"}]}]"/>
            <property name="eltexname_template" value=""default""/>
            <property name="extra_isup_cause_locations" value="[]"/>
            <property name="resource_limits_map" value="[{ets_count,[{normal,nolimit}, {warning,nolimit}, {minor,nolimit}, {major,limit}, {critical,limit}, {fatal,limit}]}]"/>
        </properties>
    </cluster>
</out>
CODE

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>
CODE

Пример:

Запрос: 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="all" />
</in>
CODE

Ответ:

<?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"/>
		<adapter name="megaco1" type="megaco" active="true"/>
	</adapters>
</out>
CODE

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>
CODE

Пример:

Запрос: 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>
CODE

Ответ:

<?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>
CODE

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>
CODE

Пример:

Запрос: 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>
CODE

Ответ 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>
CODE

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>
CODE
Если не одно имя свойства не задано, то будут удалены все свойства данного кластера.

Пример:

Запрос: 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>
CODE

Ответ: 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>
CODE

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>
CODE

Пример:

Запрос: 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>
CODE

Ответ:

<?xml version="1.0"?>
<out
	xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_list_of_clusters.xsd">
	<clusters>
		<cluster name=".virtual" role="adapter" active="true"/>
		<cluster name="sip1" role="adapter" active="true"/>
		<cluster name="core1" role="core" active="true"/>
		<cluster name="ds1" role="storage" active="true"/>
		<cluster name="megaco1" role="adapter" active="true"/>
		<cluster name="md1" role="mediator" active="true"/>
		<cluster name=".system_bridge" role="adapter" active="true"/>
	</clusters>
</out>
CODE

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
CODE

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>
CODE

Ответ:

<?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>
CODE