0

我看到有 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 插件。

有任何想法吗?

4

1 回答 1

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 的价格 ID 被视为“标准价格”,API 将在内部为客户切换价格。但我们建议首先执行 verifyOrder 以查看想要的订单是否正常(费用可能会有所不同)。

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

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

参考:

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

我希望这些信息对您有所帮助。

于 2016-01-06T20:18:41.657 回答