public Set<String> deleteFirewallRulesForVMAndReturnDistinctIPs(String virtualMachineId) { // immutable doesn't permit duplicates Set<String> ipAddresses = Sets.newLinkedHashSet(); String publicIpId = client.getVirtualMachineApi().getVirtualMachine(virtualMachineId).getPublicIPId(); if (publicIpId != null) { Set<FirewallRule> firewallRules = client.getFirewallApi() .listFirewallRules(ListFirewallRulesOptions.Builder.ipAddressId(client.getVirtualMachineApi().getVirtualMachine(virtualMachineId).getPublicIPId())); for (FirewallRule rule : firewallRules) { if (rule.getState() != FirewallRule.State.DELETING) { ipAddresses.add(rule.getIpAddressId()); client.getFirewallApi().deleteFirewallRule(rule.getId()); logger.debug(">> deleting FirewallRule(%s)", rule.getId()); } } } return ipAddresses; }
public void testDeleteFirewallRule() { FirewallApi client = requestSendsResponse( HttpRequest.builder() .method("GET") .endpoint("http://localhost:8080/client/api") .addQueryParam("response", "json") .addQueryParam("command", "deleteFirewallRule") .addQueryParam("id", "2015") .addQueryParam("apiKey", "identity"). addQueryParam("signature", "/T5FAO2yGPctaPmg7TEtIEFW3EU=") .build(), HttpResponse.builder() .statusCode(200) .payload(payloadFromResource("/deletefirewallrulesresponse.json")) .build()); client.deleteFirewallRule("2015"); }
@AfterGroups(groups = "live") @Override protected void tearDownContext() { if (firewallRule != null) { client.getFirewallApi().deleteFirewallRule(firewallRule.getId()); } if (egressFirewallRule != null) { client.getFirewallApi().deleteEgressFirewallRule(egressFirewallRule.getId()); } if (portForwardingRule != null) { client.getFirewallApi().deletePortForwardingRule(portForwardingRule.getId()); } if (vm != null) { jobComplete.apply(client.getVirtualMachineApi().destroyVirtualMachine(vm.getId())); } if (ip != null) { client.getAddressApi().disassociateIPAddress(ip.getId()); } super.tearDownContext(); }