如何使用SoftLayer API查找EVault的位置?

时间:2016-01-06 19:22:37

标签: ibm-cloud-infrastructure

我看到有SoftLayer_Account :: getEvaultNetworkStorage()来获取我的EVault存储列表。但是,使用我拥有的信息,我无法弄清楚特定EVault的位置。 以下是我从getEvaultNetworkStorage()获得的信息类型:

   {
      "accountId" : 7xxx,
      "capacityGb" : 30,
      "createDate" : "2016-xxx",
      "guestId" : 14xxx,
      "hardwareId" : null,
      "hostId" : 14xxx,
      "id" : 83xxx,
      "nasType" : "EVAULT",
      "password" : "Bxxx",
      "serviceProviderId" : 1,
      "serviceResourceBackendIpAddress" : "ev-xxx.service.softlayer.com",
      "serviceResourceName" : "ev-xxx.service.softlayer.com",
      "storageTypeId" : "19",
      "upgradableFlag" : true,
      "username" : "IBMxxx"
   },

我没有看到任何其他有用的对象过滤器来设置。

使用SoftLayer_Network_Storage_Backup_Evault :: getObject()提供相同类型的信息,并且没有API提供位置信息。 我需要位置ID才能以编程方式订购EVault插件。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

尝试以下操作以使用蒙版获取Evault位置:

Option 1:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Account/getEvaultNetworkStorage?objectMask=mask[id, serviceResourceName,guestId,billingItem[id,location]]

Method: GET

Option 2:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Network_Storage_Backup_Evault/[Evault_id]/getObject?objectMask=mask[billingItem[id,location]]

Method: GET

另外,要获取Evault订单的有效位置,我建议您使用以下请求:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Product_Package/0/getItemPrices?objectMask=mask[id,locationGroupId,item[id,keyName,description],pricingLocationGroup[locations[id, name, longName]]]&objectFilter={   "itemPrices": {     "item": {       "keyName": {         "operation": "*=EVAULT"       }     }   } }

Method: GET

注意:具有locationGroupId = null的price id被视为“标准价格”,API将在内部切换客户的价格。但我们建议首先执行verifyOrder,以查看所需订单是否正常(费用可能会有所不同)。

要获取有关价格和位置的更多信息,请查看:

http://sldn.softlayer.com/blog/cmporter/Location-based-Pricing-and-You

参考文献:

http://sldn.softlayer.com/reference/services/SoftLayer_Product_Package/getItemPrices

我希望这些信息可以帮到你。