首页 文章

如何在Softlayer中使用网络类型设置速度

提问于
浏览
1

在为自动缩放选项设置计算实例时,存在公共和专用网络上行链路 . 当我设置网络组件时,我只设置速度 . 如何设置私人和公共网络以及速度?

// Network Components
Component networkComponent = new Component();
networkComponent.setMaxSpeed(speed);
virtualGuestMemberTemplate.getNetworkComponents().add(networkComponent);

seting network component

2 回答

  • 0

    我应该更清楚地了解我以前的答案,我正在添加用于创建Scale组的脚本,其中包含设置虚拟客户网络组件所需的修改 .

    我希望这对你有帮助 .

    package SoftLayer_Java_Scripts.Examples;
    
    import com.google.gson.Gson;
    import com.softlayer.api.*;
    import com.softlayer.api.service.Location;
    import com.softlayer.api.service.scale.Group;
    import com.softlayer.api.service.virtual.Guest;
    import com.softlayer.api.service.virtual.guest.network.Component;
    
    
    public class CreateScaleGroup {
    
      private static String user = "set me";
      private static String apiKey = "set me";
    
      private static ApiClient client = new RestApiClient().withCredentials(user, apiKey);
    
      public static void main(String[] args) {
        Group.Service scaleGroupService = Group.service(client);
    
        Location location = new Location();
        location.setName("hkg02");
    
        // Standard Virtual Guest configuration.
        Guest guest = new Guest();
        guest.setDomain("softlayer.com");
        guest.setHostname("hostnametest");
        guest.setPostInstallScriptUri("https://www.softlayer.com/script");
        guest.setStartCpus(new Long (1));
        guest.setDatacenter(location);
        guest.setHourlyBillingFlag(true);
        guest.setLocalDiskFlag(false);
        guest.setOperatingSystemReferenceCode("CENTOS_LATEST");
        guest.setMaxMemory(new Long (1));
    
        /*
         * The configuration for SoftLayer_Virtual_Guest_Network_Component 
         * depends on combinations of the network component max speed 
         * and the virtual guest privateNetworkOnlyFlag.
         * 
         * The available configurations are:
         * 1.- Network maxSpeed (  10) Guest privateNetworkOnlyFlag (false) for "10 Mbps Public & Private Network Uplinks"
         * 2.- Network maxSpeed ( 100) Guest privateNetworkOnlyFlag (false) for "100 Mbps Public & Private Network Uplinks"
         * 3.- Network maxSpeed (1000) Guest privateNetworkOnlyFlag (false) for "1 Gbps Public & Private Network Uplinks"
         * 4.- Network maxSpeed (  10) Guest privateNetworkOnlyFlag ( true) for "10 Mbps Private Network Uplink"
         * 5.- Network maxSpeed ( 100) Guest privateNetworkOnlyFlag ( true) for "100 Mbps Private Network Uplink"
         * 6.- Network maxSpeed (1000) Guest privateNetworkOnlyFlag ( true) for "1 Gbps Private Network Uplink"   
         */
        Component networkComponent = new Component();
        networkComponent.setMaxSpeed(new Long(100));
        guest.getNetworkComponents().add(networkComponent);
        guest.setPrivateNetworkOnlyFlag(false);
    
        // Standard scale group configuration.
        Group scaleGroup = new Group();
        scaleGroup.setCooldown(new Long(1800));
        scaleGroup.setMaximumMemberCount(new Long(5));
        scaleGroup.setMinimumMemberCount(new Long(1));
        scaleGroup.setName("testVSI");
        scaleGroup.setRegionalGroupId(new Long(102));
        scaleGroup.setSuspendedFlag(false);
        scaleGroup.setTerminationPolicyId(new Long(2));
        scaleGroup.setVirtualGuestMemberTemplate(guest);
        scaleGroup.setVirtualGuestMemberCount(new Long(0));
    
        Gson gson = new Gson();
        System.out.println(gson.toJson(scaleGroupService.createObject(scaleGroup)));
      }
    }
    
  • 0

    您可以使用 networkComponent.setPrivateNetworkOnlyFlag(true); 仅使用专用网络上行链路 . 将其设置为false允许公共和专用网络上行链路 .

    此外,您可以使用此脚本检查可用的速度值 .

    package SoftLayer_Java_Scripts.Examples;
    
    import java.util.List;
    
    import com.softlayer.api.*;
    import com.softlayer.api.service.virtual.Guest;
    import com.softlayer.api.service.virtual.guest.network.Component;
    import com.softlayer.api.service.container.virtual.guest.Configuration;
    import com.softlayer.api.service.container.virtual.guest.configuration.Option;
    
    public class GetNetworkComponentsTemplates {
    
      private static String user = "set me";
      private static String apiKey = "set me";
    
      private static ApiClient client = new RestApiClient().withCredentials(user, apiKey);
    
      public static void main( String[] args ) {
    
        Guest.Service virtualGuestService = Guest.service(client);
    
        try
        {
          Configuration config =  virtualGuestService.getCreateObjectOptions();
          List<Option> options = config.getNetworkComponents();
    
          for(Option option : options) {
            String description = option.getItemPrice().getItem().getDescription();
            List<Component> networkComponents = option.getTemplate().getNetworkComponents();
            long maxSpeed = 0L;
            for(Component network : networkComponents) {
              maxSpeed = network.getMaxSpeed();
            }
            System.out.println("*** Network Component ***");
            System.out.println("Description: " + description);
            System.out.println("Max Speed: " + maxSpeed + "\n");
          }
        }
        catch(Exception e)
        {
          System.out.println("Script failed, review the next message for further details: " + e); 
        }
      }
    }
    

相关问题