public Set<String> deleteIPForwardingRulesForVMAndReturnDistinctIPs(String virtualMachineId) { Builder<String> jobsToTrack = ImmutableSet.builder(); // immutable doesn't permit duplicates Set<String> ipAddresses = Sets.newLinkedHashSet(); Set<IPForwardingRule> forwardingRules = client.getNATClient().getIPForwardingRulesForVirtualMachine( virtualMachineId); for (IPForwardingRule rule : forwardingRules) { if (!"Deleting".equals(rule.getState())) { ipAddresses.add(rule.getIPAddressId()); String deleteForwardingRule = client.getNATClient().deleteIPForwardingRule(rule.getId()); if (deleteForwardingRule != null) { logger.debug(">> deleting IPForwardingRule(%s) job(%s)", rule.getId(), deleteForwardingRule); jobsToTrack.add(deleteForwardingRule); } } } awaitCompletion(jobsToTrack.build()); return ipAddresses; }
public Set<String> deleteIPForwardingRulesForVMAndReturnDistinctIPs(String virtualMachineId) { Builder<String> jobsToTrack = ImmutableSet.builder(); // immutable doesn't permit duplicates Set<String> ipAddresses = Sets.newLinkedHashSet(); Set<IPForwardingRule> forwardingRules = client.getNATClient().getIPForwardingRulesForVirtualMachine( virtualMachineId); for (IPForwardingRule rule : forwardingRules) { if (!"Deleting".equals(rule.getState())) { ipAddresses.add(rule.getIPAddressId()); String deleteForwardingRule = client.getNATClient().deleteIPForwardingRule(rule.getId()); if (deleteForwardingRule != null) { logger.debug(">> deleting IPForwardingRule(%s) job(%s)", rule.getId(), deleteForwardingRule); jobsToTrack.add(deleteForwardingRule); } } } awaitCompletion(jobsToTrack.build()); return ipAddresses; }
@AfterGroups(groups = "live") @Override protected void tearDownContext() { if (rule != null) { client.getNATClient().deleteIPForwardingRule(rule.getId()); } if (vm != null) { jobComplete.apply(client.getVirtualMachineClient().destroyVirtualMachine(vm.getId())); } if (ip != null) { client.getAddressClient().disassociateIPAddress(ip.getId()); } super.tearDownContext(); }