From 92dec2295efd59a7a46ea32a06a44533e38958f6 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 9 Sep 2015 16:58:23 +0200 Subject: vmware: Add methods for adding nics --- .../java/org/openslx/util/vm/VmwareMetaData.java | 41 +++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/main/java/org/openslx/util/vm/VmwareMetaData.java b/src/main/java/org/openslx/util/vm/VmwareMetaData.java index 69b291d..25c052b 100644 --- a/src/main/java/org/openslx/util/vm/VmwareMetaData.java +++ b/src/main/java/org/openslx/util/vm/VmwareMetaData.java @@ -190,13 +190,38 @@ public class VmwareMetaData extends VmMetaData } } - public boolean addEthernetNat() + public boolean addDefaultNat() { addFiltered( "ethernet0.present", "TRUE" ); addFiltered( "ethernet0.connectionType", "nat" ); return true; } + public boolean addEthernet( EthernetType type ) + { + int index = 0; + for ( ;; ++index ) { + if ( config.get( "ethernet" + index + ".present" ) == null ) + break; + } + return addEthernet( index, type ); + } + + public boolean addEthernet( int index, EthernetType type ) + { + String ether = "ethernet" + index; + addFiltered( ether + ".present", "TRUE" ); + addFiltered( ether + ".connectionType", "custom" ); + addFiltered( ether + ".vnet", type.vmnet ); + if ( config.get( ether + ".virtualDev" ) == null ) { + String dev = config.get( "ethernet0.virtualDev" ); + if ( dev != null ) { + addFiltered( ether + ".virtualDev", dev ); + } + } + return true; + } + public boolean addDisplayName( String name ) { addFiltered( "displayName", name ); @@ -253,4 +278,18 @@ public class VmwareMetaData extends VmMetaData } } + public static enum EthernetType + { + NAT( "vmnet1" ), + BRIDGED( "vmnet0" ), + HOST_ONLY( "vmnet2" ); + + public final String vmnet; + + private EthernetType( String vnet ) + { + this.vmnet = vnet; + } + } + } -- cgit v1.2.3-55-g7522