2016-05-22 60 views
1

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

感谢

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 

回答

1

下面的例子可以帮助订货时你获得可用VLANSSoftLayer_Product_Order::getVlans

这是一个休息例子:

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”