SoftLayer_Virtual_Guest_Block_Device_Template_Group :: editObject更新数据中心

时间:2018-04-10 18:08:33

标签: image edit ibm-cloud-infrastructure

createFromExternalSource方法不允许您指定数据中心列表以启用图像。我可以导入图像,但是当我然后编辑图像模板以扩充数据中心时,我总是得到:

  

{"错误":"对象不存在以执行方法。   (SoftLayer_Virtual_Guest_Block_Device_Template_Group :: editObject)""代码":" SoftLayer_Exception"}

有没有人有一个正确的例子,对于使用JSON的SoftLayer_Virtual_Guest_Block_Device_Template_Group而不是像slcli那样的XMLRPC?

首选,如果某些人有一个curl示例,更新SoftLayer_Virtual_Guest_Block_Device_Template_Group对象上的属性会很棒。

1 个答案:

答案 0 :(得分:0)

要更新图像模板的数据中心,您必须使用服务SoftLayer_Virtual_Guest_Block_Device_Template_Group的方法“setAvailableLocations”。

方法editObject只需编辑图像模板组的名称和注释。

您可以使用此curl示例更新imagen模板的数据中心:

curl -d @post.json -k https://[username]:[apiKey]@api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest_Block_Device_Template_Group/1722867/setAvailableLocations.json | python -mjson.tool

你必须在这个curl例子中添加json文件“@ post.json”,其中是图像模板体。

json文件必须包含以下数据:

{
  "parameters": [
    [
                {
                                "id": 265592
                },
                {
                                "id": 814994
                },
                {
                                "id": 138124
                },
                {
                                "id": 154820
                },
                {
                                "id": 449600
                }
                ]
  ]
}

要获取数据中心ID,可以使用此curl命令示例:

curl -k "https://[username]:[apiKey]@api.softlayer.com/rest/v3/SoftLayer_Location/getDatacenters.json" | python -mjson.tool