i tried to upgrade block(performance) storage volume and IOPs via API.
test code returns the error message :
"Error: com.softlayer.api.ApiException$Internal: Invalid price Block Storage (189443) provided on the order container.(code: SoftLayer_Exception_Order_Item_Invalid, status: 500)"
I am using placeOrder and verifyOrder method for order.
where can i find sample code to upgrade storage volume?
public void test03() throws Exception {
System.out.println("\nStorage Upgrade Test Start !!\n");
ApiClient client = new RestApiClient().withCredentials(username, apiKey);
com.softlayer.api.service.container.product.order.network.storage.asaservice.Upgrade storage = new com.softlayer.api.service.container.product.order.network.storage.asaservice.Upgrade();
Storage.Service service = Storage.service(client, 38366457L);
service.withMask().accountId();
service.withMask().id();
service.withMask().bytesUsed();
service.withMask().osTypeId();
service.withMask().iops();
service.withMask().username();
service.withMask().allowedIpAddresses();
service.withMask().replicationStatus();
service.withMask().parentVolume();
service.withMask().parentVolume().volumeStatus();
service.withMask().serviceResourceBackendIpAddress();
service.withMask().serviceResource().datacenter();
service.withMask().allowedHardware().allowedHost().credential().username().password();
service.withMask().allowedSubnets();
service.withMask().allowedVirtualGuests().allowedHost().credential().username().password();
service.withMask().allowedIpAddresses().allowedHost().credential().username().password();
service.withMask().snapshotCapacityGb();
service.withMask().snapshotSizeBytes();
service.withMask().snapshotSpaceAvailable();
service.withMask().parentVolume().snapshotSizeBytes();
service.withMask().parentVolume().snapshotSpaceAvailable();
service.withMask().properties().type();
service.withMask().billingItem();
service.withMask().billingItem().children().activeFlag();
service.withMask().billingItem().children().item();
service.withMask().properties().volume();
service.withMask().capacityGb();
service.withMask().nasType();
Storage storage1 = service.getObject();
Order order = null;
try {
// 1. Storage volume
storage.setVolumeSize(80L);
storage.setIops(400L);
storage1.setUpgradableFlag(true);
storage.setVolume(storage1);
order = storage;
// Set SoftLayer Package Id
order.setPackageId(759L);
order.setUseHourlyPricing(true);
// Set Data Center Location
order.setLocation("1854895");
List<Price> S_prices = new ArrayList<Price>();
//International Services
Price price1 = new Price();
price1.setId(189433L);
// 2. Block/File Storage
Price price2 = new Price();
price2.setId(189443L); //Block Storage
//Storage Space
Price price3 = new Price();
price3.setId(189753L);
//IOPS
Price price4 = new Price();
price4.setId(189813L);
S_prices.add(price1);
S_prices.add(price2);
S_prices.add(price3);
S_prices.add(price4);
// Set Item Prices
order.getPrices().addAll(S_prices);
Order baseContainer = new Order();
baseContainer.getOrderContainers().add(order);
// verify
Order verifiedOrder = com.softlayer.api.service.product.Order.service(client).verifyOrder(baseContainer);
// placeorder
com.softlayer.api.service.container.product.order.Receipt receipt = com.softlayer.api.service.product.Order.service(client).placeOrder(baseContainer, false);
} catch (Exception e) {
System.out.println("Error: " + e);
} finally {
System.out.println("\nTest End !!\n");
}
}