23.3. 关联标签
23.3.1. 为主机、用户或虚拟机附加标签
host
、user
或 vms
中的 link rel="tags"
代表了附加到它们上面的标签。
这些
tag
表述也包括了一个 host id
、user id
或 vm id
来代表附加了这个标签的主机、用户或虚拟机。
通过对某个对象的集合发送一个带有标签标识(标签
id
或 name
)的 POST
请求来为这个对象附加标签。
例 23.2. 为一个虚拟机附加标签
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/tags HTTP/1.1 Accept: application/xml Content-Type: application/xml <tag> <name>Finance</name> </tag> HTTP/1.1 201 Created Content-Type: application/xml <tag id="f436ebfc-67f2-41bd-8ec6-902b6f7dcb5e" href="/api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/tags/ f436ebfc-67f2-41bd-8ec6-902b6f7dcb5e"> <name>Finance</name> <description>Resources for the Finance department</description> <vm id="5114bb3e-a4e6-44b2-b783-b3eea7d84720" href="/api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720"/> </tag>
23.3.2. 删除标签
使用对集合中的相应项的
DELETE
请求删除和这个项相关联的标签。
例 23.3. 从虚拟机上删除标签
DELETE /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/tags/f436ebfc-67f2-41bd-8ec6-902b6f7dcb5e HTTP/1.1 HTTP/1.1 204 No Content
23.3.3. 对带有标签的资源进行查询
要对附加了特定标签的资源进行查询,可以使用相应集合的
collection/search
URI 模板,搜索的条件是 tag=MyTag
。
例 23.4. 对带有标签的资源进行查询
GET /api/vms?search=tag%3DFinance HTTP/1.1 Accept: application/xml HTTP/1.1 200 OK Content-Type: application/xml <vms> <vm id="5114bb3e-a4e6-44b2-b783-b3eea7d84720" href="/api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720"> ... </vm> ... </vms>