@Override public SecurityGroup getSecurityGroupById(String id) { RegionAndId regionAndId = RegionAndId.fromSlashEncoded(checkNotNull(id, "id")); String region = regionAndId.getRegion(); String groupId = regionAndId.getId(); Optional<? extends SecurityGroupApi> sgApi = api.getSecurityGroupApi(region); if (!sgApi.isPresent()) { return null; } SecurityGroupInRegion rawGroup = new SecurityGroupInRegion(sgApi.get().get(groupId), region); return groupConverter.apply(rawGroup); }
@Override public SecurityGroup getSecurityGroupById(String id) { ZoneAndId zoneAndId = ZoneAndId.fromSlashEncoded(checkNotNull(id, "id")); String zone = zoneAndId.getZone(); String groupId = zoneAndId.getId(); Optional<? extends SecurityGroupApi> sgApi = api.getSecurityGroupExtensionForZone(zone); if (!sgApi.isPresent()) { return null; } SecurityGroupInZone rawGroup = new SecurityGroupInZone(sgApi.get().get(groupId), zone); return groupConverter.apply(rawGroup); }
@Override public SecurityGroup getSecurityGroupById(String id) { RegionAndId regionAndId = RegionAndId.fromSlashEncoded(checkNotNull(id, "id")); String region = regionAndId.getRegion(); String groupId = regionAndId.getId(); Optional<? extends SecurityGroupApi> sgApi = api.getSecurityGroupApi(region); if (!sgApi.isPresent()) { return null; } final FluentIterable<org.jclouds.openstack.nova.v2_0.domain.SecurityGroup> allGroups = sgApi.get().list(); SecurityGroupInRegion rawGroup = new SecurityGroupInRegion(sgApi.get().get(groupId), region, allGroups); return groupConverter.apply(rawGroup); }
@Override public SecurityGroup getSecurityGroupById(String id) { RegionAndId regionAndId = RegionAndId.fromSlashEncoded(checkNotNull(id, "id")); String region = regionAndId.getRegion(); String groupId = regionAndId.getId(); Optional<? extends SecurityGroupApi> sgApi = api.getSecurityGroupApi(region); if (!sgApi.isPresent()) { return null; } final FluentIterable<org.jclouds.openstack.nova.v2_0.domain.SecurityGroup> allGroups = sgApi.get().list(); SecurityGroupInRegion rawGroup = new SecurityGroupInRegion(sgApi.get().get(groupId), region, allGroups); return groupConverter.apply(rawGroup); }
@Override public boolean removeSecurityGroup(String id) { checkNotNull(id, "id"); ZoneAndId zoneAndId = ZoneAndId.fromSlashEncoded(id); String zone = zoneAndId.getZone(); String groupId = zoneAndId.getId(); Optional<? extends SecurityGroupApi> sgApi = api.getSecurityGroupExtensionForZone(zone); if (!sgApi.isPresent()) { return false; } if (sgApi.get().get(groupId) == null) { return false; } sgApi.get().delete(groupId); // TODO: test this clear happens groupCreator.invalidate(new ZoneSecurityGroupNameAndPorts(zone, groupId, ImmutableSet.<Integer> of())); return true; }
@Override public boolean removeSecurityGroup(String id) { checkNotNull(id, "id"); RegionAndId regionAndId = RegionAndId.fromSlashEncoded(id); String region = regionAndId.getRegion(); String groupId = regionAndId.getId(); Optional<? extends SecurityGroupApi> sgApi = api.getSecurityGroupApi(region); if (!sgApi.isPresent()) { return false; } if (sgApi.get().get(groupId) == null) { return false; } sgApi.get().delete(groupId); // TODO: test this clear happens groupCreator.invalidate(new RegionSecurityGroupNameAndPorts(region, groupId, ImmutableSet.<Integer> of())); return true; }
@Override public SecurityGroupInZone apply(ZoneSecurityGroupNameAndPorts zoneSecurityGroupNameAndPorts) { checkNotNull(zoneSecurityGroupNameAndPorts, "zoneSecurityGroupNameAndPorts"); String zoneId = zoneSecurityGroupNameAndPorts.getZone(); Optional<? extends SecurityGroupApi> api = novaApi.getSecurityGroupExtensionForZone(zoneId); checkArgument(api.isPresent(), "Security groups are required, but the extension is not availablein zone %s!", zoneId); logger.debug(">> creating securityGroup %s", zoneSecurityGroupNameAndPorts); try { SecurityGroup securityGroup = api.get().createWithDescription( zoneSecurityGroupNameAndPorts.getName(), zoneSecurityGroupNameAndPorts.getName()); logger.debug("<< created securityGroup(%s)", securityGroup); for (int port : zoneSecurityGroupNameAndPorts.getPorts()) { authorizeGroupToItselfAndAllIPsToTCPPort(api.get(), securityGroup, port); } return new SecurityGroupInZone(api.get().get(securityGroup.getId()), zoneId); } catch (IllegalStateException e) { logger.trace("<< trying to find securityGroup(%s): %s", zoneSecurityGroupNameAndPorts, e.getMessage()); SecurityGroup group = find(api.get().list(), nameEquals(zoneSecurityGroupNameAndPorts .getName())); logger.debug("<< reused securityGroup(%s)", group.getId()); return new SecurityGroupInZone(group, zoneId); } }
@Override public SecurityGroupInZone apply(ZoneSecurityGroupNameAndPorts zoneSecurityGroupNameAndPorts) { checkNotNull(zoneSecurityGroupNameAndPorts, "zoneSecurityGroupNameAndPorts"); String zoneId = zoneSecurityGroupNameAndPorts.getZone(); Optional<? extends SecurityGroupApi> api = novaApi.getSecurityGroupExtensionForZone(zoneId); checkArgument(api.isPresent(), "Security groups are required, but the extension is not availablein zone %s!", zoneId); logger.debug(">> creating securityGroup %s", zoneSecurityGroupNameAndPorts); try { SecurityGroup securityGroup = api.get().createWithDescription( zoneSecurityGroupNameAndPorts.getName(), zoneSecurityGroupNameAndPorts.getName()); logger.debug("<< created securityGroup(%s)", securityGroup); for (int port : zoneSecurityGroupNameAndPorts.getPorts()) { authorizeGroupToItselfAndAllIPsToTCPPort(api.get(), securityGroup, port); } return new SecurityGroupInZone(api.get().get(securityGroup.getId()), zoneId); } catch (IllegalStateException e) { logger.trace("<< trying to find securityGroup(%s): %s", zoneSecurityGroupNameAndPorts, e.getMessage()); SecurityGroup group = find(api.get().list(), nameEquals(zoneSecurityGroupNameAndPorts .getName())); logger.debug("<< reused securityGroup(%s)", group.getId()); return new SecurityGroupInZone(group, zoneId); } }
@Override public SecurityGroupInRegion apply(RegionSecurityGroupNameAndPorts regionSecurityGroupNameAndPorts) { checkNotNull(regionSecurityGroupNameAndPorts, "regionSecurityGroupNameAndPorts"); String regionId = regionSecurityGroupNameAndPorts.getRegion(); Optional<? extends SecurityGroupApi> api = novaApi.getSecurityGroupApi(regionId); checkArgument(api.isPresent(), "Security groups are required, but the extension is not available in region %s!", regionId); logger.debug(">> creating securityGroup %s", regionSecurityGroupNameAndPorts); try { SecurityGroup securityGroup = api.get().createWithDescription( regionSecurityGroupNameAndPorts.getName(), regionSecurityGroupNameAndPorts.getName()); logger.debug("<< created securityGroup(%s)", securityGroup); for (int port : regionSecurityGroupNameAndPorts.getPorts()) { authorizeGroupToItselfAndAllIPsToTCPPort(api.get(), securityGroup, port); } return new SecurityGroupInRegion(api.get().get(securityGroup.getId()), regionId); } catch (IllegalStateException e) { logger.trace("<< trying to find securityGroup(%s): %s", regionSecurityGroupNameAndPorts, e.getMessage()); SecurityGroup group = find(api.get().list(), nameEquals(regionSecurityGroupNameAndPorts .getName())); logger.debug("<< reused securityGroup(%s)", group.getId()); return new SecurityGroupInRegion(group, regionId); } }
@Override public SecurityGroupInZone apply(ZoneSecurityGroupNameAndPorts zoneSecurityGroupNameAndPorts) { checkNotNull(zoneSecurityGroupNameAndPorts, "zoneSecurityGroupNameAndPorts"); String zoneId = zoneSecurityGroupNameAndPorts.getZone(); Optional<? extends SecurityGroupApi> api = novaApi.getSecurityGroupExtensionForZone(zoneId); checkArgument(api.isPresent(), "Security groups are required, but the extension is not availablein zone %s!", zoneId); logger.debug(">> creating securityGroup %s", zoneSecurityGroupNameAndPorts); try { SecurityGroup securityGroup = api.get().createWithDescription( zoneSecurityGroupNameAndPorts.getName(), zoneSecurityGroupNameAndPorts.getName()); logger.debug("<< created securityGroup(%s)", securityGroup); for (int port : zoneSecurityGroupNameAndPorts.getPorts()) { authorizeGroupToItselfAndAllIPsToTCPPort(api.get(), securityGroup, port); } return new SecurityGroupInZone(api.get().get(securityGroup.getId()), zoneId); } catch (IllegalStateException e) { logger.trace("<< trying to find securityGroup(%s): %s", zoneSecurityGroupNameAndPorts, e.getMessage()); SecurityGroup group = find(api.get().list(), nameEquals(zoneSecurityGroupNameAndPorts .getName())); logger.debug("<< reused securityGroup(%s)", group.getId()); return new SecurityGroupInZone(group, zoneId); } }
public void testGetSecurityGroupWhenResponseIs404() throws Exception { HttpRequest getSecurityGroup = HttpRequest.builder().method("GET").endpoint( URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-security-groups/0")).headers( ImmutableMultimap.<String, String> builder().put("Accept", "application/json").put("X-Auth-Token", authToken).build()).build(); HttpResponse getSecurityGroupResponse = HttpResponse.builder().statusCode(404).build(); NovaApi apiWhenNoSecurityGroupsExist = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, getSecurityGroup, getSecurityGroupResponse); assertNull(apiWhenNoSecurityGroupsExist.getSecurityGroupExtensionForZone("az-1.region-a.geo-1").get() .get("0")); }
public void testGetSecurityGroupWhenResponseIs2xx() throws Exception { HttpRequest getSecurityGroup = HttpRequest.builder().method("GET").endpoint( URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-security-groups/0")).headers( ImmutableMultimap.<String, String> builder().put("Accept", "application/json").put("X-Auth-Token", authToken).build()).build(); HttpResponse getSecurityGroupResponse = HttpResponse.builder().statusCode(200).payload( payloadFromResource("/securitygroup_details.json")).build(); NovaApi apiWhenSecurityGroupsExist = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, getSecurityGroup, getSecurityGroupResponse); assertEquals(apiWhenSecurityGroupsExist.getSecurityGroupExtensionForZone("az-1.region-a.geo-1").get() .get("0").toString(), new ParseSecurityGroupTest().expected().toString()); }
public void createGetAndDeleteSecurityGroup() throws Exception { for (String zoneId : api.getConfiguredZones()) { SecurityGroupApi securityGroupApi = api.getSecurityGroupExtensionForZone(zoneId).get(); SecurityGroup securityGroup = null; String id; try { securityGroup = securityGroupApi .createWithDescription(SECURITY_GROUP_NAME, "test security group"); assertNotNull(securityGroup); id = securityGroup.getId(); SecurityGroup theGroup = securityGroupApi.get(id); assertNotNull(theGroup); } finally { if (securityGroup != null) { securityGroupApi.delete(securityGroup.getId()); } } } }
public void createGetAndDeleteSecurityGroup() throws Exception { for (String regionId : api.getConfiguredRegions()) { SecurityGroupApi securityGroupApi = api.getSecurityGroupApi(regionId).get(); SecurityGroup securityGroup = null; String id; try { securityGroup = securityGroupApi .createWithDescription(SECURITY_GROUP_NAME, "test security group"); assertNotNull(securityGroup); id = securityGroup.getId(); SecurityGroup theGroup = securityGroupApi.get(id); assertNotNull(theGroup); } finally { if (securityGroup != null) { securityGroupApi.delete(securityGroup.getId()); } } } }
public void testGetSecurityGroupWhenResponseIs2xx() throws Exception { HttpRequest getSecurityGroup = HttpRequest.builder().method("GET").endpoint( URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v2/3456/os-security-groups/0")).headers( ImmutableMultimap.<String, String> builder().put("Accept", "application/json").put("X-Auth-Token", authToken).build()).build(); HttpResponse getSecurityGroupResponse = HttpResponse.builder().statusCode(200).payload( payloadFromResource("/securitygroup_details.json")).build(); NovaApi apiWhenSecurityGroupsExist = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, getSecurityGroup, getSecurityGroupResponse); assertEquals(apiWhenSecurityGroupsExist.getSecurityGroupApi("az-1.region-a.geo-1").get() .get("0").toString(), new ParseSecurityGroupTest().expected().toString()); }
org.jclouds.openstack.nova.v2_0.domain.SecurityGroup securityGroup = sgApi.get().get(id);
org.jclouds.openstack.nova.v2_0.domain.SecurityGroup securityGroup = sgApi.get().get(id);
org.jclouds.openstack.nova.v2_0.domain.SecurityGroup securityGroup = sgApi.get().get(id);
securityGroup = securityGroupApi.get(securityGroup.getId());
securityGroup = securityGroupApi.get(securityGroup.getId());