从我通过SoftLayer UI看到的内容,在创建图像模板并尝试使用它来订购虚拟服务器之后,已经选择了选项以匹配创建图像模板的主机。 所以我猜测模板将包含有关CPU,内存,磁盘空间等的所有详细信息。如何获取这些详细信息?
我的猜测是" SoftLayer_Virtual_Guest_Block_Device_Template_Group"表示图像模板,因此它会有一些API告诉我图像模板的详细信息,但我还没有找到可能会给我这些信息的API,除非我错过了它。
我使用哪种API来获取SoftLayer中图像模板的详细信息? (这样我就知道为哪个类别等选择了什么值。)
答案 0 :(得分:0)
图像模板包含有关操作系统和磁盘的信息。您可以使用以下方法从图像模板中获取详细信息:
从可以使用图像的包中获取信息:
此外,以下方法将帮助您检索可应用于图像的项目:
http://sldn.softlayer.com/reference/services/SoftLayer_Product_Package/getItemsFromImageTemplate
我希望这些信息可以帮到你
答案 1 :(得分:0)
尝试以下php脚本,它将有助于获取图像模板的可用包及其项目,
<?php
/**
* Get packages and items from an image template
*
* This script retrieves packages in which the image template could be used,
* also It retrieves the items available for the image per package.
*
* Important manual pages:
* http://sldn.softlayer.com/reference/services/SoftLayer_Product_Package/getAvailablePackagesForImageTemplate
* http://sldn.softlayer.com/reference/services/SoftLayer_Product_Package/getItemsFromImageTemplate
*
* License: http://sldn.softlayer.com/article/License
* Author: SoftLayer Technologies, Inc. <sldn@softlayer.com>
*/
require_once __DIR__."SoapClient.php";
# Your SoftLayer username and apikey
$username = "set me";
$apiKey = "set me";
# The image template which you wish more details
$imageTemplateId = 429428;
# Creating a SoftLayer API client object
$packageService = \SoftLayer\SoapClient::getClient("SoftLayer_Product_Package", null, $username, $apiKey);
/*
* Build a skeleton SoftLayer_Virtual_Guest_Block_Device_Template_Group object to define the image template id
*/
$imageTemplate = new \stdClass();
$imageTemplate -> id = $imageTemplateId;
try {
// Get available packages for the image template
$packages = $packageService -> getAvailablePackagesForImageTemplate($imageTemplate);
foreach ($packages as $package)
{
// Set init parameters per available package
$packageService -> setInitParameter($package->id);
// Print available package
print_r("**** PACKAGE: " . $package->id . " ****\n");
// Get items per package
$items = $packageService -> getItemsFromImageTemplate($imageTemplate);
print_r($items);
}
} catch (Exception $e) {
die("Unable to get packages and items for the image template. " . $e->getMessage());
}
?>
参考文献: SoftLayer API PHP客户端:https://github.com/softlayer/softlayer-api-php-client