diff --git a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/compute/functions/VirtualMachineToNodeMetadata.java b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/compute/functions/VirtualMachineToNodeMetadata.java index b4376272bd..967e245e9f 100644 --- a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/compute/functions/VirtualMachineToNodeMetadata.java +++ b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/compute/functions/VirtualMachineToNodeMetadata.java @@ -96,7 +96,7 @@ public class VirtualMachineToNodeMetadata implements Function 0) { options.securityGroupIds(templateOptions.getSecurityGroupIds()); } else if (templateOptions.getNetworkIds().size() > 0) { options.networkIds(templateOptions.getNetworkIds()); } else if (networks.size() > 0) { try { - options.networkId(getOnlyElement(filter(networks.values(), new Predicate() { + options.networkId(getOnlyElement(filter(networks.values(), and(new Predicate() { @Override public boolean apply(Network arg0) { return arg0.getZoneId() == zoneId && arg0.isDefault(); } - })).getId()); + }, supportsStaticNAT()))).getId()); } catch (IllegalArgumentException e) { throw new IllegalArgumentException("please choose a specific network in zone " + zoneId + ": " + networks); } @@ -175,7 +178,7 @@ public class CloudStackComputeServiceAdapter implements public Iterable