我试图从虚拟机中分离本地存储,但是我从API中收到错误。
这是我想要的:
首先,我获得了存储空间的ID
... /休息/ V3.1 / SoftLayer_Account / getVirtualDiskImages.json
0: {
"capacity": 25
"createDate": "2016-09-15T05:28:16-05:00"
"description": "Disk 2"
"id": 21757115
"modifyDate": null
"name": "Disk 2"
"parentId": null
"storageRepositoryId": 2257588
"typeId": 241
"units": "GB"
"uuid": "0c7f6050-b8ff-431f-a500-f1e896e02c92"
} ...
其次,我尝试将本地存储与VirtualMachine分离
方法:[DELETE] / [POST] / [PUT]
休息/ V3.1 / SoftLayer_Virtual_Guest / [VM-ID] /detachDiskImage.json
我尝试了以下请求参数:
1 -
{
"parameters": [
{
"imageId": "21757115"
}
}
2 -
{
"parameters": [
{
"id": "21757115"
}
}
3 -
{
21757115
}
但我总是得到
{
"error": "You must provide a valid portable storage volume id."
"code": "SoftLayer_Exception_Public"
}
任何想法都将受到赞赏。
答案 0 :(得分:0)
您可以使用下一个REST请求来查找可以附加/分离的所有磁盘映像:
http://[$username]:[$apiKey]@api.softlayer.com/rest/v3.1/SoftLayer_Account/getPortableStorageVolumes.json
方法:GET
然后你可以使用下一个分离它:
http://[$username]:[$apiKey]@api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest/[$virtualGuestId]/detachDiskImage.json
方法:POST
体:
{
"parameters": [
1234567
]
}
virtualGuestId 是将从中分离磁盘映像的虚拟来宾ID
1234567 是使用getPortableStorageVolumes方法检索的图片ID
注意: getVirtualDiskImages 会检索所有磁盘映像,即使是那些无法分离的磁盘映像,因此,在这种情况下最好使用 getPortableStorageVolumes