2016-02-04 3 views
0

Я пытаюсь реализовать Modify Device Configuration с помощью Java-API Softlayer. Этот процесс будет похож на процесс заказа. Есть ли какой-либо конкретный API для обновления и понижения рейтинга? Я нашел getUpgradeRequest() для виртуального гостя. Если вы предоставите какой-либо пример кода или руководство по API, будет полезно. Спасибо Modify Device Configuration PageИзменение конфигурации устройства

 for (Guest guest : Account.service(client).getVirtualGuests()){ 
      if(guest.getFullyQualifiedDomainName().equals(deviceName)) { 
       Request rqt = Guest.service(client, guest.getId()).getUpgradeRequest(); 
       rqt.setId(id); 
       rqt.setOrderId(orderId); 
      } 
     } 

ответ

0

Ниже приведен пример Java для обновления VSI. Пример:

import java.util.ArrayList; 
import java.util.List; 
import com.softlayer.api.ApiClient; 
import com.softlayer.api.RestApiClient; 
import com.softlayer.api.service.container.product.Order; 
import com.softlayer.api.service.container.product.order.Property; 
import com.softlayer.api.service.product.item.Price; 
import com.softlayer.api.service.virtual.Guest; 
import com.softlayer.api.service.container.product.order.virtual.guest.Upgrade; 

public class UpgradeVirtualGuest { 

    public static void main(String[] args) { 

     String username = "set me"; 
     String apikey = "set me"; 

     // Set the Virtual Guest to upgrade 
     Long vsiId = new Long(11498369); 

     // Declare item prices. In this case I’m updating the RAM 
     // Please set the new item Price 

     Long[] prices = { new Long(1641)}; 

     List<Property> properties = new ArrayList<Property>(); 
     Property maintenance = new Property(); 
     maintenance.setName("MAINTENANCE_WINDOW"); 
     maintenance.setValue("2015-10-05T9:00:00-05:00"); 
     properties.add(maintenance); 

     Guest vsi = new Guest(); 
     vsi.setId(vsiId); 

     String containerIdentifier = "SoftLayer_Container_Product_Order_Virtual_Guest_Upgrade"; 

     // Create a SoftLayer API client object 
     ApiClient client = new RestApiClient().withCredentials(username, apikey).withLoggingEnabled(); 


     /* 
     * Set up Order template 
     */ 
     Upgrade upgradeOrder = new Upgrade(); 

     upgradeOrder.setContainerIdentifier(containerIdentifier); 
     upgradeOrder.getProperties().addAll(properties); 
     upgradeOrder.getVirtualGuests().add(0, vsi); 

     // Add Item prices to list 
     for (Long i : prices) { 
      Price price = new Price(); 
      price.setId(new Long(i)); 
      upgradeOrder.getPrices().add(price); 
     } 


     try 
     { 
      Order orderResult = com.softlayer.api.service.product.Order.service(client).verifyOrder(upgradeOrder); 
      System.out.println("order successfully verified: " + orderResult); 

     } catch (Exception e) { 
      System.out.println(e); 
     } 

    } 

} 

Как получить доступную цену для виртуального гостя для обновления? Execute:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/[virtual_guest_ID]/getUpgradeItemPrices 

Method: GET 

Ссылки:

https://forums.softlayer.com/forum/softlayer-developer-network/general-discussion/84916-changing-virtual-guest-maxmemory (Это форум, который устареет в ближайшее время, но это поможет вам сейчас) https://sldn.softlayer.com/es/reference/datatypes/SoftLayer_Container_Product_Order_Virtual_Guest_Upgrade http://sldn.softlayer.com/reference/services/SoftLayer_Product_Order

Другие примеры:

https://softlayer.github.io/php/upgrade_virtual_guest/ https://gist.github.com/underscorephil/3790139 https://github.com/softlayer/softlayer-java/blob/master/examples/src/main/java/com/softlayer/api/example/OrderVirtualServer.java https://softlayer.github.io/

С уважением

Смежные вопросы