第 4 章 进入点

用户通过一个到进入点 URI(由 hostbase 组成)的 GET 请求来开始使用 API。

例 4.1. 访问 API 进入点

以下请求包括了一个进入点(hostwww.example.combase/api):
GET /api HTTP/1.1
Accept: application/xml
Host: www.example.com
Authorization: [base64 encoded credentials]

HTTP/1.1 200 OK
Content-Type: application/xml

<api>
    <link rel="hosts" href="/api/hosts"/>
    <link rel="vms" href="/api/vms"/>
    ...
    <product_info>
        <name>Red Hat Enterprise Virtualization</name>
        <vendor>Red Hat</vendor>
        <version revision="0" build="0" minor="1" major="3"/>
    </product_info>    
    <special_objects>
        <link rel="templates/blank" href="..."/>
        <link rel="tags/root" href="..."/>
    </special_objects>
    <summary>
        <vms>
            <total>10</total>
            <active>3</active>
        </vms>
        <hosts>
            <total>2</total>
            <active>2</active>
        </hosts>
        <users>
            <total>8</total>
            <active>2</active>
        </users>
        <storage_domains>
            <total>2</total>
            <active>2</active>
        </storage_domains>
    </summary>
</api>

注意

为了简化,所有其它实例都会省略 Host:Authorization: 请求头,并假设 base 是默认的 /api 路径。base 路径的实际值由您的具体情况所决定。

4.1. 产品信息

进入点有一个 product_info 项,它包括了产品的 namevendorversion,用户可以使用这些信息确定 Red Hat Enterprise Virtualization 环境的真实性。

例 4.2. 验证 Red Hat Enterprise Virtualization 环境的真实性

以下项代表了一个真实的 Red Hat Enterprise Virtualization 3.2 环境:
<api>
    ...
    <product_info>
        <name>Red Hat Enterprise Virtualization</name>
        <vendor>Red Hat</vendor>
        <version revision="0" build="0" minor="2" major="3"/>
    </product_info>
    ...
</api>