Hc_restfs_clusters_declare

Команда добавляет новый Restfs кластер в список кластеров Restfs.

Аналог команды в CoCon:

restfs/declare

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/restfs_clusters_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">

    <xs:include schemaLocation="error.xsd"/>

    <!-- in -->
    <xs:element name="in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="request" minOccurs="1" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="cluster" minOccurs="1" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:attribute name="name" type="xs:string" use="required"/>
                                    <xs:attribute name="peer" type="xs:string" use="required"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <!-- out -->
    <xs:element name="out">
        <xs:complexType>
            <xs:choice>
                <xs:element name="error" type="errorType" minOccurs="0" maxOccurs="unbounded"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
</xs:schema>
XML

Пример:

http://192.168.1.21:9999/commands/restfs_clusters_declare

<in>
    <request>
        <cluster name="new_cluster1" peer="http://192.168.2.21:9990"/>
        <cluster name="new_cluster2" peer="ftp://filezilla.com:4815"/>
    </request>
</in>
XML

Ответ:

status: 201
content: 
XML

Hc_restfs_clusters_list

Команда показывает список кластеров Restfs.

Аналог команды в CoCon:

restfs/list

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/restfs_clusters_list

Код HTTP-ответа:

  • 200 – в случае успеха;
  • 434 – в случае ошибки.

XSD-схема XML-запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

    <xs:include schemaLocation="error.xsd"/>

    <!-- in -->
    <xs:element name="in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="request" minOccurs="1" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="cluster" minOccurs="1" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:attribute name="name" type="xs:string" use="required"/>
                                    <xs:attribute name="peer" type="xs:string" use="required"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <!-- out -->
    <xs:element name="out">
        <xs:complexType>
            <xs:choice>
                <xs:element name="error" type="errorType" minOccurs="0" maxOccurs="unbounded"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
</xs:schema>
XML

Пример:

http://192.168.1.21:9999/commands/restfs_clusters_list

<in>
    <request/>
</in>
XML

Ответ:

status: 201
content: 
<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_restfs_clusters_list.xsd">
    <response name="default" peer="http://system.restfs.ecss:9990" status="connected"/>
    <response name="mpeg" peer="http://192.168.1.21:9990" status="connected"/>
    <response name="new_cluster1" peer="http://192.168.2.21:9990" status="connected"/>
    <response name="new_cluster2" peer="ftp://filezilla.com:4815" status="disconnected"/>
</out>
XML

Hc_restfs_clusters_remove

Команда удаляет Restfs кластер из списка кластеров Restfs.

Аналог команды в CoCon:

restfs/remove

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/restfs_clusters_remove

Код HTTP-ответа:

  • 204 – в случае успеха;
  • 200 – в случае ошибки.

XSD-схема XML-запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

    <xs:include schemaLocation="error.xsd"/>

    <xs:complexType name="clusterType">
        <xs:attribute name="name" type="xs:string" use="required"/>
    </xs:complexType>

    <xs:complexType name="requestType">
        <xs:sequence>
            <xs:element name="cluster" type="clusterType" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <!-- in -->
    <xs:element name="in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="request" type="requestType" minOccurs="1" maxOccurs="1"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>


    <!-- out -->
    <xs:element name="out">
        <xs:complexType>
            <xs:choice>
                <xs:element name="error" type="errorType" minOccurs="0" maxOccurs="unbounded"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
</xs:schema>
XML

Пример:

http://192.168.1.21:9999/commands/restfs_clusters_remove

<in>
    <request>
        <cluster name="new_cluster2"/>
    </request>
</in>
XML

Ответ успешного удаления:

status: 204
content: 
XML

Ответ удаления несуществующего кластера:

status: 200
content: 
<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_restfs_clusters_remove.xsd">
    <error cmd="hc_restfs_clusters_remove" reason="unknown_name" entity="cluster99"/>
</out>
XML

Hc_restfs_clusters_status

Команда показывает статус Restfs кластера.

Аналог команды в CoCon:

restfs/status

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/restfs_clusters_status

Код HTTP-ответа:

  • 200 – в случае успеха;
  • 434 – в случае ошибки.

XSD-схема XML-запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

    <xs:include schemaLocation="error.xsd"/>

    <!-- in -->
    <xs:element name="in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="request" minOccurs="1" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="cluster" minOccurs="1" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:attribute name="name" type="xs:string" use="required"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <!-- out -->
    <xs:element name="out">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="cluster" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                        <xs:attribute name="name" type="xs:string" use="optional"/>
                        <xs:attribute name="error" type="xs:string" use="optional"/>
                        <xs:attribute name="status" type="xs:string" use="optional"/>
                        <xs:attribute name="active" type="xs:string" use="optional"/>
                        <xs:attribute name="reading" type="xs:string" use="optional"/>
                        <xs:attribute name="writing" type="xs:string" use="optional"/>
                        <xs:attribute name="waiting" type="xs:string" use="optional"/>
                        <xs:attribute name="realpath" type="xs:string" use="optional"/>
                        <xs:attribute name="nginx_version" type="xs:string" use="optional"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="error" type="errorType" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

</xs:schema>
XML

Пример:

http://192.168.1.21:9999/commands/restfs_clusters_status

<in>
    <request>
        <cluster name="default"/>
        <cluster name="mpeg"/>
        <cluster name="new_cluster1"/>
    </request>
</in>
XML

Ответ:

status: 200
content: 
<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_restfs_clusters_status.xsd">
    <cluster name="default" status="Connected" realpath="/var/lib/ecss/restfs" reading="0" active="4" waiting="2" nginx_version="1.14.0" writing="2"/>
    <cluster name="mpeg" status="Connected" realpath="/var/lib/ecss/restfs" reading="0" active="3" waiting="1" nginx_version="1.14.0" writing="2"/>
    <cluster name="new_cluster1" status="Connected" realpath="/var/lib/ecss/restfs" reading="0" active="2" waiting="0" nginx_version="1.14.0" writing="2"/>
</out>
XML

Hc_restfs_clusters_set

Команда изменяет Restfs кластер из списка кластеров Restfs'a

Аналог команды в CoCon:

restfs/change

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/restfs_clusters_set

Код HTTP-ответа:

  • 204 – в случае успеха;
  • 201 – в случае ошибки.

XSD-схема XML-запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

    <xs:include schemaLocation="error.xsd"/>

    <!-- in -->
    <xs:element name="in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="request" minOccurs="1" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="cluster" minOccurs="1" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="change" minOccurs="1" maxOccurs="1">
                                            <xs:complexType>
                                                <xs:attribute name="port" type="xs:positiveInteger" use="optional"/>
                                                <xs:attribute name="peer" type="xs:string" use="optional"/>
                                                <xs:attribute name="name" type="xs:string" use="optional"/>
                                                <xs:attribute name="host" type="xs:string" use="optional"/>
                                                <xs:attribute name="schema" type="xs:string" use="optional"/>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                    <xs:attribute name="name" type="xs:string" use="required"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <!-- out -->
    <xs:element name="out">
        <xs:complexType>
            <xs:choice>
                <xs:element name="error" type="errorType" minOccurs="0" maxOccurs="unbounded"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
</xs:schema>
XML

Пример:

http://192.168.1.21:9999/commands/restfs_clusters_set

<in>
    <request>
        <cluster name="new_cluster1">
            <change name="new_cluster4" peer="http://192.168.2.61:9990"/>
        </cluster>
    </request>
</in>
XML

Ответ:

status: 204
content: 
XML