DeepOperations
更新时间: 2026/06/29
在Gitcode上查看源码ResourceDefinition
uris
/redfish/v1/{resource}.Deep
properties
| 名称 | 类型 | 是否只读 | 取值范围/枚举值 | 说明 |
|---|---|---|---|---|
| Members | array | true | - | 创建所有资源的结果集合 |
| Members[].@odata.context | string | true | - | 创建资源的元数据描述信息 |
| Members[].@odata.id | string | true | - | 创建资源的访问路径 |
| Members[].@odata.type | string | true | - | 创建资源的类型 |
| Members[].Id | string | true | - | 创建资源的唯一标识 |
| Members[].Name | string | true | - | 创建资源的名称 |
| Members[].Oem | object | true | - | 创建资源的自定义属性 |
supported_methods
- POST
HTTP methods
POST
命令功能
深操作
说明
Deep POST 支持客户端通过单个操作创建多个资源。在资源集合中创建一个或多个资源以及可选的从属资源。 下面以创建新用户的命令举例说明Deep POST的使用方法,操作过程中所需请求头与请求消息体此处忽略,请在各资源的对应章节查找。
当前不支持创建资源时同时创建从属资源。 仅创建类型的POST接口有深操作,指令(Action)类型的POST接口没有深操作。
BMC300 5.8.0.1及以上版本支持
响应体其他字段请参考各资源的对应章节
命令格式
操作类型:POST URL:https://device_ip/resource.Deep
请求头:
X-Auth-Token: 123456789***********************
Content-Type: header_type请求消息体:
json
{
"Members": [
body_type,
body_type,
... ...
]
}说明
"Members"中的成员数量不超过32个。
请求头参数说明
参见 请求头参数说明
请求体参数说明
| 参数 | 参数说明 | 取值 |
|---|---|---|
| resource | 创建资源使用的接口 | 接口对应的uri,如/redfish/v1/AccountService/Accounts |
| body_type | 创建资源对应的请求消息体格式,具体内容请在各资源的对应章节查找 | json对象类型,取值为创建单个资源时的请求消息体 |
使用指南
使用Deep POST方法同时创建多个资源的场景下,redfish接口将认为不同的资源创建是不同的操作,因此,只要有一个资源创建成功,则响应码会返回201, 创建失败的属性将在返回报文中以Message的形式报错给用户。 /redfish/v1/SessionService/Sessions与/redfish/v1/UpdateService/FirmwareInventory不支持深操作。
使用实例
请求样例:
http
POST https://device_ip/redfish/v1/AccountService/Accounts.Deep请求头:
X-Auth-Token: 123456789***********************
Content-Type: application/json请求消息体:
json
{
"Members": [
{
"Id": "3",
"UserName": "username3",
"Password": "password3",
"RoleId": "Operator"
},
{
"Id": "4",
"UserName": "username4",
"Password": "password4",
"RoleId": "Administrator"
}
]
}响应样例:
json
{
"Members": [
{
"@odata.context": "/redfish/v1/$metadata#ManagerAccount.ManagerAccount",
"@odata.id": "/redfish/v1/AccountService/Accounts/3",
"@odata.type": "#ManagerAccount.v1_0_2.ManagerAccount",
"Id": "3",
"Name": "User Account",
"Password": null,
"UserName": "username3",
"RoleId": "Operator",
"ReauthKey": "null",
"Locked": false,
"Enabled": true,
"Oem": {
"Public": {
"AccountInsecurePromptEnabled": true,
"FirstLoginPolicy": "ForcePasswordReset",
"MutualAuthClientCert": null,
"SSHPublicKeyHash": null,
"LoginInterface": [
"Redfish",
"SSH",
"Local",
"IPMI",
"SFTP",
"SNMP",
"Web"
],
"SnmpV3AuthProtocol": "SHA256",
"SnmpV3PrivProtocol": "AES",
"SnmpV3PrivPasswd": null,
"SNMPEncryptPwdInit": true,
"Deleteable": true,
"DelDisableReason": null,
"LoginRule": [],
"PasswordValidityDays": null,
"Actions": {
"#Account.ImportMutualAuthClientCert": {
"target": "/redfish/v1/AccountService/Accounts/3/Oem/Public/Actions/Account.ImportMutualAuthClientCert",
"@Redfish.ActionInfo": "/redfish/v1/AccountService/Accounts/3/ImportMutualAuthClientCertActionInfo"
},
"#Account.DeleteMutualAuthClientCert": {
"target": "/redfish/v1/AccountService/Accounts/3/Oem/Public/Actions/Account.DeleteMutualAuthClientCert",
"@Redfish.ActionInfo": "/redfish/v1/AccountService/Accounts/3/DeleteMutualAuthClientCertActionInfo"
},
"#Account.ImportSSHPublicKey": {
"target": "/redfish/v1/AccountService/Accounts/3/Oem/Public/Actions/Account.ImportSSHPublicKey",
"@Redfish.ActionInfo": "/redfish/v1/AccountService/Accounts/3/ImportSSHPublicKeyActionInfo"
},
"#Account.DeleteSSHPublicKey": {
"target": "/redfish/v1/AccountService/Accounts/3/Oem/Public/Actions/Account.DeleteSSHPublicKey",
"@Redfish.ActionInfo": "/redfish/v1/AccountService/Accounts/3/DeleteSSHPublicKeyActionInfo"
}
}
}
},
"Links": {
"Role": {
"@odata.id": "/redfish/v1/AccountService/Roles/Operator"
}
}
},
{
"@odata.context": "/redfish/v1/$metadata#ManagerAccount.ManagerAccount",
"@odata.id": "/redfish/v1/AccountService/Accounts/4",
"@odata.type": "#ManagerAccount.v1_0_2.ManagerAccount",
"Id": "4",
"Name": "User Account",
"Password": null,
"UserName": "username4",
"RoleId": "Administrator",
"ReauthKey": "null",
"Locked": false,
"Enabled": true,
"Oem": {
"Public": {
"AccountInsecurePromptEnabled": true,
"FirstLoginPolicy": "ForcePasswordReset",
"MutualAuthClientCert": null,
"SSHPublicKeyHash": null,
"LoginInterface": [
"Redfish",
"SSH",
"Local",
"IPMI",
"SFTP",
"SNMP",
"Web"
],
"SnmpV3AuthProtocol": "SHA256",
"SnmpV3PrivProtocol": "AES",
"SnmpV3PrivPasswd": null,
"SNMPEncryptPwdInit": true,
"Deleteable": true,
"DelDisableReason": null,
"LoginRule": [],
"PasswordValidityDays": null,
"Actions": {
"#Account.ImportMutualAuthClientCert": {
"target": "/redfish/v1/AccountService/Accounts/4/Oem/Public/Actions/Account.ImportMutualAuthClientCert",
"@Redfish.ActionInfo": "/redfish/v1/AccountService/Accounts/4/ImportMutualAuthClientCertActionInfo"
},
"#Account.DeleteMutualAuthClientCert": {
"target": "/redfish/v1/AccountService/Accounts/4/Oem/Public/Actions/Account.DeleteMutualAuthClientCert",
"@Redfish.ActionInfo": "/redfish/v1/AccountService/Accounts/4/DeleteMutualAuthClientCertActionInfo"
},
"#Account.ImportSSHPublicKey": {
"target": "/redfish/v1/AccountService/Accounts/4/Oem/Public/Actions/Account.ImportSSHPublicKey",
"@Redfish.ActionInfo": "/redfish/v1/AccountService/Accounts/4/ImportSSHPublicKeyActionInfo"
},
"#Account.DeleteSSHPublicKey": {
"target": "/redfish/v1/AccountService/Accounts/4/Oem/Public/Actions/Account.DeleteSSHPublicKey",
"@Redfish.ActionInfo": "/redfish/v1/AccountService/Accounts/4/DeleteSSHPublicKeyActionInfo"
}
}
}
},
"Links": {
"Role": {
"@odata.id": "/redfish/v1/AccountService/Roles/Administrator"
}
}
}
]
}响应码:201