Select 在 Softlayer 上购买的可用 Vlan

Select Available Vlans in purchasing on Softlayer

我在使用 Softlayer java API 购买虚拟机时实施 Vlan 选择。 下面的代码是我测试过的,用于列出特定数据中心中的可用 vlan。它 returns 比 "control.softlayer.com" 更多可用的 vlan 列表。 请在下面找到我的测试代码,如果您有任何疑问,请告诉我。

谢谢

com.softlayer.api.service.Account.Service svc =
        com.softlayer.api.service.Account.service(client);


com.softlayer.api.service.network.Vlan.Mask networkVlansMask = new com.softlayer.api.service.network.Vlan.Mask();

// Router

networkVlansMask.attachedNetworkGatewayVlan().bypassFlag();
networkVlansMask.attachedNetworkGatewayFlag();

networkVlansMask.networkSpace();
networkVlansMask.primaryRouter().datacenter().id();
networkVlansMask.primaryRouter().datacenter().name();
networkVlansMask.subnets().id();
networkVlansMask.subnets().subnetType();
networkVlansMask.subnets().networkIdentifier();
networkVlansMask.subnets().cidr();
networkVlansMask.subnets().totalIpAddresses();
networkVlansMask.subnets().usableIpAddressCount();
networkVlansMask.subnets().ipAddresses().ipAddress();
networkVlansMask.subnets().ipAddresses().isReserved();
networkVlansMask.subnets().ipAddresses().virtualGuest();
networkVlansMask.subnets().ipAddresses().hardware();
svc.setMask(networkVlansMask);


Filter filter = new Filter();
filter.addFilter("networkVlans").
    addFilter("primaryRouter").
    addFilter("datacenter").
    addProperty("id", Long.toString(3l)); 

svc.addFilter(filter);

List<Vlan> vlans = svc.getNetworkVlans(); // All

以下示例可以帮助您在订购期间获得可用 VLANSSoftLayer_Product_Order::getVlans

这是一个 Rest 示例:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Product_Order/getVlans

Method: POST

Json Payload:

{
  "parameters": [
    265592,
    46,
    "port_speed=100"
  ]
}

Where: 
“265592” is the” loactionId”
“46” is the“PackageId”