如何使用 API 和 nodejs 在软层中添加批量硬件访问

How to add bulk hardware access in softlayer using API and nodejs

我有以下代码使用 API 和 nodejs 在软层中添加批量硬件访问:

slClient
    .auth(slUserID, slApiKey)
    .path('User_Customer', userID, 'addBulkHardwareAccess',{"hardwareIds":["XXXXX,XXXXXXX"]})
    .post()
    .then(res => {
        resolve(res);
    })
    .catch(err => {
        reject(err);
    });   
};

但是报错: 类型错误:无法读取未定义的 属性 'constructor'

要添加批量硬件访问,请使用以下 rest api:

方法:POST

https://[username]:[apiKey]@api.softlayer.com/rest/v3.1/SoftLayer_User_Customer/[userCustomerId]/addBulkHardwareAccess

正文:Json

{
  "parameters":[
    [
            111111,
            222222,
            333333,
            444444  
    ]
  ]
}

参考:

https://softlayer.github.io/reference/services/SoftLayer_User_Customer/addBulkHardwareAccess/

或者,如果您想添加对所有硬件的访问权限,请使用此 rest api:

方法:POST

https://[username]:[apiKey]@api.softlayer.com/rest/v3.1/SoftLayer_User_Customer/[userCustomerId]/addPortalPermission

正文:Json

{

"parameters": [
                 {
                     "keyName": "ACCESS_ALL_HARDWARE"                             
                 }                                                                                                                                         
            ] 
}

参考:

https://softlayer.github.io/reference/services/SoftLayer_User_Customer/addPortalPermission/

有parameters()方法提供参数

slClient
    .auth(slUserID, slApiKey)
    .path('User_Customer', args.userID, 'addBulkHardwareAccess')
    .parameters([[XXXXXX,XXXXXXXXXX]])
    .post()
    .then(res => {
        resolve(res);
    })
    .catch(err => {
        reject(err);
    });