@Override public Set<SecurityGroup> listSecurityGroups() { Iterable<? extends org.jclouds.cloudstack.domain.SecurityGroup> rawGroups = api.getSecurityGroupApi().listSecurityGroups(); Iterable<SecurityGroup> groups = transform(filter(rawGroups, notNull()), groupConverter); return ImmutableSet.copyOf(groups); }
@Override public Set<SecurityGroup> listSecurityGroupsForNode(String id) { checkNotNull(id, "id"); Iterable<? extends org.jclouds.cloudstack.domain.SecurityGroup> rawGroups = api.getSecurityGroupApi().listSecurityGroups(ListSecurityGroupsOptions.Builder .virtualMachineId(id)); Iterable<SecurityGroup> groups = transform(filter(rawGroups, notNull()), groupConverter); return ImmutableSet.copyOf(groups); }
private void cleanupOrphanedSecurityGroupsInZone(Set<String> groups, String zoneId) { Zone zone = zoneIdToZone.get().getUnchecked(zoneId); if (supportsSecurityGroups().apply(zone)) { for (String group : groups) { for (SecurityGroup securityGroup : Iterables.filter(client.getSecurityGroupApi().listSecurityGroups(), SecurityGroupPredicates.nameMatches(namingConvention.create().containsGroup(group)))) { ZoneAndName zoneAndName = ZoneAndName.fromZoneAndName(zoneId, securityGroup.getName()); logger.debug(">> deleting securityGroup(%s)", zoneAndName); client.getSecurityGroupApi().deleteSecurityGroup(securityGroup.getId()); // TODO: test this clear happens securityGroupMap.invalidate(zoneAndName); logger.debug("<< deleted securityGroup(%s)", zoneAndName); } } } }
public void testListSecurityGroup() throws Exception { skipIfSecurityGroupsNotSupported(); for (SecurityGroup securityGroup : client.getSecurityGroupApi().listSecurityGroups()) checkGroup(securityGroup); }
public static VirtualMachine createVirtualMachine(CloudStackApi client, String defaultTemplate, Predicate<String> jobComplete, Predicate<VirtualMachine> virtualMachineRunning) { Set<Network> networks = client.getNetworkApi().listNetworks(isDefault(true)); if (!networks.isEmpty()) { Network network = get(filter(networks, new Predicate<Network>() { @Override public boolean apply(Network network) { return network != null && network.getState().equals("Implemented"); } }), 0); return createVirtualMachineInNetwork(network, defaultTemplateOrPreferredInZone(defaultTemplate, client, network.getZoneId()), client, jobComplete, virtualMachineRunning); } else { String zoneId = find(client.getZoneApi().listZones(), new Predicate<Zone>() { @Override public boolean apply(Zone arg0) { return arg0.isSecurityGroupsEnabled(); } }).getId(); return createVirtualMachineWithSecurityGroupInZone(zoneId, defaultTemplateOrPreferredInZone(defaultTemplate, client, zoneId), get(client.getSecurityGroupApi().listSecurityGroups(), 0).getId(), client, jobComplete, virtualMachineRunning); } }
@Test public void testCreateDestroySecurityGroup() { try { zone = Iterables.find(client.getZoneApi().listZones(), new Predicate<Zone>() { @Override public boolean apply(Zone arg0) { return arg0.isSecurityGroupsEnabled(); } }); securityGroupsSupported = true; for (SecurityGroup securityGroup : client.getSecurityGroupApi().listSecurityGroups( ListSecurityGroupsOptions.Builder.named(prefix))) { for (IngressRule rule : securityGroup.getIngressRules()) assertTrue(jobComplete.apply(client.getSecurityGroupApi().revokeIngressRule(rule.getId())), rule.toString()); client.getSecurityGroupApi().deleteSecurityGroup(securityGroup.getId()); } group = client.getSecurityGroupApi().createSecurityGroup(prefix); assertEquals(group.getName(), prefix); checkGroup(group); try { client.getSecurityGroupApi().createSecurityGroup(prefix); fail("Expected IllegalStateException"); } catch (IllegalStateException e) { } } catch (NoSuchElementException e) { e.printStackTrace(); } }
group = Iterables.find(client.getSecurityGroupApi().listSecurityGroups(), new Predicate<SecurityGroup>() {