restclient

语法

restclient -uri URI [options]

restclient -type TYPE [options]

restclient -t restclient -time

说明

与本地 RESTful API 服务交互。该 与本地 RESTful API 服务交互。restcli 命令是此命令的一个内部别名。

资源选择选项

-uri URI

从特定 URI 中请求资源。

-type TYPE

返回与特定基类型匹配的资源(如果存在)。

操作

-m 方法

使用指定的方法发送 HTTP 请求。有效的值为:GET/POST/PUT/PATCH/DELETE

-g [PROPERTY...]

获取整个资源或资源中的特定属性。该选项默认使用 -m GET

-s PROPERTY=VALUE

为资源属性指定一个值。该选项默认使用 -m PATCH 并自动生成请求内容。

-t

列出所有资源类型。

-time

以 ISO 8601 UTC 格式显示 RESTful 时间。

常规选项

-i FILE

在请求内容中发送特定文件的内容。

-o FILE

将 JSON 响应正文写入到使用 ASCII 编码的指定文件。仅对整个资源的 GET(-g-m GET)有效,其他将忽略。当资源超过 16 Kb 时,请使用此参数。

-c

尽可能使用缓存的 GET 请求内容。该选项可以提高性能,但可能会返回过时的数据。

用法

URI 必须以根资源开头,不包含前导斜杠。例如:rest/v1/Systems

TYPE 是一个 TypeName.X.Y.Z 格式的字符串,其中,X、Y、Z 分别是主要、次要和勘误类型版本。如果省略部分(或全部)版本说明符,则改用通配符匹配。此外,指定次要和勘误版本的 TYPE 还与具有更大值的资源匹配,因为将与它们保持向后兼容。

PROPERTY 区分大小写,可以添加“/”分隔符以选择嵌套的属性。-s 选项不能接受嵌套的属性。

VALUE 可以表示 JSON(对象、数组、null 等)。不需要用引号将字符串值引起来,但为了保留空格除外。

FILE 的内容必须是有效的 JSON。

示例

获取根资源:

Shell> restclient -uri redfish/v1 -g
      

BIOS 资源中获取 AdminName 属性:

Shell> restclient -uri redfish/v1/Systems/1/Bios -g Attributes/AdminName
      

iScsi 资源中获取 iSCSIInitiatorName 属性:

Shell> restclient -uri redfish/v1/Systems/1/Bios/iScsi -g iSCSIInitiatorName
      

ComputerSystem 资源中获取系统 ROM 版本:

Shell> restclient -type ComputerSystem -g Oem/Hpe/Bios/Current
      

设置 BIOS 资源的 AdminName 属性:

Shell> restclient -uri redfish/v1/Systems/1/Bios/Settings
-s Attributes/AdminName=\"First Last\"
      

设置 iScsi 资源的 iSCSIInitiatorName 属性:

Shell> restclient -uri redfish/v1/Systems/1/Bios/Settings
-s iSCSIInitiatorName=\"InitiatorName\"
      

发送 POST 请求:

Shell> restclient -uri redfish/v1/Systems/1 -m POST -i PostData.json
将响应正文写入文件:
		
restclient -uri redfish/v1/Managers/1 -m GET -o Managers1.json