如何使用 SoftLayer API 查找 EVault 的位置?
How to find location of an EVault using SoftLayer API?
我看到有 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 插件。
有什么想法吗?
尝试以下操作以使用掩码获取避难所位置:
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 被视为 "a standard price",API 将在内部为客户切换价格。但我们建议先执行 verifyOrder 以查看想要的订单是否可以(费用可能会有所不同)。
要获取有关价格和位置的更多信息,请查看:
http://sldn.softlayer.com/blog/cmporter/Location-based-Pricing-and-You
参考文献:
http://sldn.softlayer.com/reference/services/SoftLayer_Product_Package/getItemPrices
希望这些信息对您有所帮助。
我看到有 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 插件。
有什么想法吗?
尝试以下操作以使用掩码获取避难所位置:
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 被视为 "a standard price",API 将在内部为客户切换价格。但我们建议先执行 verifyOrder 以查看想要的订单是否可以(费用可能会有所不同)。
要获取有关价格和位置的更多信息,请查看:
http://sldn.softlayer.com/blog/cmporter/Location-based-Pricing-and-You
参考文献:
http://sldn.softlayer.com/reference/services/SoftLayer_Product_Package/getItemPrices
希望这些信息对您有所帮助。