diff options
author | Simon Rettberg | 2015-09-09 16:58:23 +0200 |
---|---|---|
committer | Simon Rettberg | 2015-09-09 16:58:23 +0200 |
commit | 92dec2295efd59a7a46ea32a06a44533e38958f6 (patch) | |
tree | 19305d14106f6a2e2b5533fc33217865f444c46a /src/main/java/org/openslx/util/vm/VmwareMetaData.java | |
parent | VCache und thrift (diff) | |
download | master-sync-shared-92dec2295efd59a7a46ea32a06a44533e38958f6.tar.gz master-sync-shared-92dec2295efd59a7a46ea32a06a44533e38958f6.tar.xz master-sync-shared-92dec2295efd59a7a46ea32a06a44533e38958f6.zip |
vmware: Add methods for adding nics
Diffstat (limited to 'src/main/java/org/openslx/util/vm/VmwareMetaData.java')
-rw-r--r-- | src/main/java/org/openslx/util/vm/VmwareMetaData.java | 41 |
1 files changed, 40 insertions, 1 deletions
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; + } + } + } |