-5

Can somebody please provide sample php code to verify order for power 8 servers (package Id 242).

The power8 servers seems using presetIds. Will the parameters for SoftLayer_Product_Order.verifyOder(...) be similar to the ones for hourly baremetal server ?

mnnmountain
  • 143
  • 1
  • 9

1 Answers1

1

Hourly pricing is not available for package id: 242 This script could help you to verify an order for Power8 server.

<?php
/**
 * This script verify an order for a Power8 Server using a preset Id.
 * 
 * The presets are used to simplify ordering by eliminating the need
 * for price ids when submitting orders.
 * Also when the order contains a preset id, it is not possible
 * to configure VLANs in the order.
 * 
 * Important manual pages:
 * @see http://sldn.softlayer.com/reference/services/SoftLayer_Product_Order/verifyOrder
 * @see http://sldn.softlayer.com/reference/services/SoftLayer_Product_Package/getItemPrices
 * @see http://sldn.softlayer.com/reference/datatypes/SoftLayer_Container_Product_Order_Hardware_Server
 * 
 * @license <http://sldn.softlayer.com/wiki/index.php/License>
 * @author SoftLayer Technologies, Inc. <sldn@softlayer.com>
 */
// Change the path of your PHP client
require_once ('C:\softlayer-api-php-client-master\src\SoapClient.php');

// Your SoftLayer API username and key.
$username = 'set me';
$key = 'set me';

$service = 'SoftLayer_Product_Order';

$client = \SoftLayer\SoapClient::getClient($service, null, $username, $key);

// The hostname and domain values required for the server.
$hardwareNode = new \stdClass();
$hardwareNode->hostname = 'tested_power8_server';
$hardwareNode->domain = 'test.com';
$orderHardware = array
(
    $hardwareNode
);

// The items used for this server.
// The items can be obtained using the next method: SoftLayer_Product_Package::getItemPrices
$prices = array
(
        50357,    // bandwidth id needs to be filled since its not part of the preset configuration
        641       // port-speed id needs to be filled since its not part of the preset configuration
);
$orderPrices = array();
foreach ($prices as $priceId){
    $price = new \stdClass();
    $price->id = $priceId;
    $orderPrices[] = $price;
}

// The values used for the container (i.e. Power8 server) that's going to be verified.
$location = 'DALLAS09';
$packageId = 242;
/*
 * To get the list of presets run the SoftLayer_Product_Packag::getActivePresets method
 * The values for preset Id are:
 * 80 for POWER8 C812L-S
 * 82 for POWER8 C812L-M
 * 84 for POWER8 C812L-L
 * 86 for POWER8 C812L- SSD
 */
$presetId = 80; 
$quantity = 1;
$primaryDiskPartitionId = 1;
$useHourlyPricing = false; // Hourly pricing is not available
$complexType = 'SoftLayer_Container_Product_Order_Hardware_Server';

$orderContainer = new \stdClass();
$orderContainer->location               = $location;
$orderContainer->packageId              = $packageId;
$orderContainer->presetId               = $presetId;
$orderContainer->prices                 = $orderPrices;
$orderContainer->quantity               = $quantity;
$orderContainer->hardware               = $orderHardware;
$orderContainer->primaryDiskPartitionId = $primaryDiskPartitionId;
$orderContainer->useHourlyPricing       = $useHourlyPricing;
$orderContainer->complexType            = $complexType;

try 
{
    $verifiedOrderContainer = $client->verifyOrder($orderContainer);
    print_r($verifiedOrderContainer);
} 
catch (\Exception $e) 
{
    die('Unable to verify order: ' . $e->getMessage());
}
  • Thank you very much Marcelo. I found on SoftLayer customer portal preset 86 seems has both hourly rate and monthly rate. Can you please confirm ? – mnnmountain Jun 17 '16 at 20:53
  • Preset 84 and 86 have the same values except that preset 86 allows SSD disks. Nevertheless the 4 preset available are for monthly rate. Currently, Softlayer doesn't support hourly rate for Power8 servers. – Marcelo Guzman Jun 17 '16 at 21:38
  • you can see the details of the servers to order using this method http://sldn.softlayer.com/reference/services/SoftLayer_Product_Package_Server/getAllObjects it will list the configuration, the presetid and if it can be ordered as hourly or not – Nelson Raul Cabero Mendoza Jun 17 '16 at 22:00