@Override public SecurityGroup apply(SecurityGroupInRegion group) { SecurityGroupBuilder builder = SecurityGroupBuilder.fromSecurityGroup(baseConverter.apply(group.getSecurityGroup())); Location region = locationIndex.get().get(group.getRegion()); checkState(region != null, "location %s not in locationIndex: %s", group.getRegion(), locationIndex.get()); builder.location(region); builder.id(group.getRegion() + "/" + group.getSecurityGroup().getId()); return builder.build(); } }
@Override public SecurityGroup apply(SecurityGroupInZone group) { SecurityGroupBuilder builder = SecurityGroupBuilder.fromSecurityGroup(baseConverter.apply(group.getSecurityGroup())); Location zone = locationIndex.get().get(group.getZone()); checkState(zone != null, "location %s not in locationIndex: %s", group.getZone(), locationIndex.get()); builder.location(zone); builder.id(group.getZone() + "/" + group.getSecurityGroup().getId()); return builder.build(); } }
@Override public SecurityGroup apply(Network network) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.id(network.getName()); builder.providerId(network.getId()); builder.name(network.getName()); builder.uri(network.getSelfLink()); ImmutableSet.Builder permBuilder = ImmutableSet.builder(); ListOptions options = new ListOptions.Builder().filter("network eq .*/" + network.getName()); for (Firewall fw : api.getFirewallApiForProject(project.get()).list(options).concat()) { permBuilder.addAll(firewallToPerms.apply(fw)); } builder.ipPermissions(permBuilder.build()); return builder.build(); } }
@Override public SecurityGroup apply(Network network) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.id(network.getName()); builder.providerId(network.getId()); builder.name(network.getName()); builder.uri(network.getSelfLink()); ImmutableSet.Builder permBuilder = ImmutableSet.builder(); ListOptions options = new ListOptions.Builder().filter("network eq .*/" + network.getName()); for (Firewall fw : api.getFirewallApiForProject(project.get()).list(options).concat()) { permBuilder.addAll(firewallToPerms.apply(fw)); } builder.ipPermissions(permBuilder.build()); return builder.build(); } }
@Override public SecurityGroup apply(@Nullable org.jclouds.openstack.nova.v2_0.domain.SecurityGroup group) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.providerId(group.getId()); builder.ownerId(group.getTenantId()); builder.name(group.getName()); final String regionId = location.getId(); builder.location(location); builder.id(regionId + "/" + group.getId()); if (group.getRules() != null) { builder.ipPermissions(filter(transform(group.getRules(), new Function<SecurityGroupRule, IpPermission>() { @Override public IpPermission apply(SecurityGroupRule input) { return securityGroupRuleToIpPermission(input); } }), Predicates.notNull())); } return builder.build(); }
@Override public SecurityGroup apply(@Nullable org.jclouds.openstack.nova.v2_0.domain.SecurityGroup group) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.providerId(group.getId()); builder.ownerId(group.getTenantId()); builder.name(group.getName()); final String regionId = location.getId(); builder.location(location); builder.id(regionId + "/" + group.getId()); if (group.getRules() != null) { builder.ipPermissions(filter(transform(group.getRules(), new Function<SecurityGroupRule, IpPermission>() { @Override public IpPermission apply(SecurityGroupRule input) { return securityGroupRuleToIpPermission(input); } }), Predicates.notNull())); } return builder.build(); }
@Override public SecurityGroup apply(org.jclouds.cloudstack.domain.SecurityGroup group) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.id(group.getId()); builder.providerId(group.getId()); builder.name(group.getName()); builder.ownerId(group.getAccount()); builder.ipPermissions(transform(group.getIngressRules(), ruleToPermission)); return builder.build(); } }
@Override public SecurityGroup apply(final NetworkSecurityGroup networkSecurityGroup) { final SecurityGroupBuilder securityGroupBuilder = new SecurityGroupBuilder() .id(networkSecurityGroup.name()) .providerId(networkSecurityGroup.label()) .name(networkSecurityGroup.name()); if (networkSecurityGroup.rules() != null) { final List<Rule> filteredRules = NetworkSecurityGroups.getCustomRules(networkSecurityGroup); final Iterable<IpPermission> permissions = Iterables.transform(filteredRules, new RuleToIpPermission()); securityGroupBuilder.ipPermissions(permissions); } return securityGroupBuilder.build(); } }
@Test(enabled = false) // TODO does it apply now? public void testWhenFoundReturnsSecurityGroupFromAtomicReferenceValueUpdatedDuringPredicateCheck() throws Exception { SecurityGroup expected = new SecurityGroupBuilder().id("region/id").name("name").build(); final SecurityGroupInRegion securityGroupInRegion = createMock(SecurityGroupInRegion.class); final org.jclouds.openstack.nova.v2_0.domain.SecurityGroup novaSecurityGroup = createMock(org.jclouds.openstack.nova.v2_0.domain.SecurityGroup.class); expect(novaSecurityGroup.getId()).andReturn("id").anyTimes(); expect(novaSecurityGroup.getName()).andReturn("name"); replay(novaSecurityGroup); expect(securityGroupInRegion.getRegion()).andReturn("region"); expect(securityGroupInRegion.getSecurityGroup()).andReturn(novaSecurityGroup).anyTimes(); replay(securityGroupInRegion); RegionAndName input = RegionAndName.fromRegionAndName("region", "groupName"); Function<RegionSecurityGroupNameAndPorts, SecurityGroup> groupCreator = new Function<RegionSecurityGroupNameAndPorts, SecurityGroup>() { @Override public SecurityGroup apply(RegionSecurityGroupNameAndPorts input) { fail(); return null; } }; FindSecurityGroupOrCreate parser = new FindSecurityGroupOrCreate(groupCreator); assertEquals(parser.load(input), expected); }
@Override public SecurityGroup apply(org.jclouds.openstack.nova.v2_0.domain.SecurityGroup group) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.id(group.getId()); builder.providerId(group.getId()); builder.ownerId(group.getTenantId()); builder.name(group.getName()); if (group.getRules() != null) { builder.ipPermissions(transform(group.getRules(), ruleToPermission)); } return builder.build(); } }
@Override public SecurityGroup apply(org.jclouds.openstack.nova.v2_0.domain.SecurityGroup group) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.id(group.getId()); builder.providerId(group.getId()); builder.ownerId(group.getTenantId()); builder.name(group.getName()); if (group.getRules() != null) { builder.ipPermissions(transform(group.getRules(), ruleToPermission)); } return builder.build(); } }
@Override public SecurityGroup apply(NetworkSecurityGroup input) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.id(fromResourceGroupAndName(extractResourceGroup(input.id()), input.name()).slashEncode()); builder.providerId(input.id()); builder.name(input.name()); builder.location(getLocation(locations, input.location())); if (input.properties().securityRules() != null) { // We just support security groups that allow traffic to a set of // targets. We don't support deny rules or origin based rules in the // security group api. builder.ipPermissions(transform(filter(input.properties().securityRules(), InboundRule), ruleToPermission)); } return builder.build(); }
@Override public SecurityGroup apply(NetworkSecurityGroup input) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.id(fromResourceGroupAndName(extractResourceGroup(input.id()), input.name()).slashEncode()); builder.providerId(input.id()); builder.name(input.name()); builder.location(getLocation(locations, input.location())); if (input.properties().securityRules() != null) { // We just support security groups that allow traffic to a set of // targets. We don't support deny rules or origin based rules in the // security group api. builder.ipPermissions(transform(filter(input.properties().securityRules(), InboundRule), ruleToPermission)); } return builder.build(); }
@Override public SecurityGroup apply(org.jclouds.ec2.domain.SecurityGroup group) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); Location location = findLocationWithId(group.getRegion()); builder.location(location); builder.id(group.getRegion() + "/" + idOrName(group)); builder.providerId(group.getId()); builder.name(group.getName()); builder.ipPermissions(group); builder.ownerId(group.getOwnerId()); return builder.build(); }
@Override public SecurityGroup apply(org.jclouds.ec2.domain.SecurityGroup group) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); Location location = findLocationWithId(group.getRegion()); builder.location(location); builder.id(group.getRegion() + "/" + idOrName(group)); builder.providerId(group.getId()); builder.name(group.getName()); builder.ipPermissions(group); builder.ownerId(group.getOwnerId()); return builder.build(); }
@Override public SecurityGroup apply(org.jclouds.ec2.domain.SecurityGroup group) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); Location location = findLocationWithId(group.getRegion()); builder.location(location); builder.id(group.getRegion() + "/" + idOrName(group)); builder.providerId(group.getId()); builder.name(group.getName()); builder.ipPermissions(group); builder.ownerId(group.getOwnerId()); return builder.build(); }
public void testRemoveIpPermissionCidrFromParams() { HttpRequest revokeRule = HttpRequest.builder().method("GET") .endpoint("http://localhost:8080/client/api") .addQueryParam("response", "json") .addQueryParam("command", "revokeSecurityGroupIngress") .addQueryParam("id", "6") .addQueryParam("apiKey", "APIKEY") .addQueryParam("signature", "H7cY/MEYGN7df1hiz0mMAFVBfa8=") .addHeader("Accept", "application/json") .build(); HttpResponse getWithRuleResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResource("/getsecuritygroupresponse_extension_byid_with_cidr.json")) .build(); SecurityGroupExtension extension = orderedRequestsSendResponses( ImmutableList.of(getWithRule, revokeRule, queryAsyncJobResultAuthorizeIngress, getWithRule), ImmutableList.of(getWithRuleResponse, revokeRuleResponse, queryAsyncJobResultAuthorizeIngressResponse, getEmptyResponse) ).getSecurityGroupExtension().get(); SecurityGroup origGroup = new SecurityGroupBuilder().id("13").build(); SecurityGroup newGroup = extension.removeIpPermission(IpProtocol.UDP, 11, 11, emptyMultimap(), ImmutableSet.of("1.1.1.1/24"), emptyStringSet(), origGroup); assertEquals(newGroup.getIpPermissions().size(), 0); }
public static SecurityGroupBuilder fromSecurityGroup(SecurityGroup group) { return new SecurityGroupBuilder().providerId(group.getProviderId()) .name(group.getName()) .id(group.getId()) .location(group.getLocation()) .uri(group.getUri()) .userMetadata(group.getUserMetadata()) .tags(group.getTags()) .ipPermissions(group.getIpPermissions()) .ownerId(group.getOwnerId()); }
public static SecurityGroupBuilder fromSecurityGroup(SecurityGroup group) { return new SecurityGroupBuilder().providerId(group.getProviderId()) .name(group.getName()) .id(group.getId()) .location(group.getLocation()) .uri(group.getUri()) .userMetadata(group.getUserMetadata()) .tags(group.getTags()) .ipPermissions(group.getIpPermissions()) .ownerId(group.getOwnerId()); }
public static SecurityGroupBuilder fromSecurityGroup(SecurityGroup group) { return new SecurityGroupBuilder().providerId(group.getProviderId()) .name(group.getName()) .id(group.getId()) .location(group.getLocation()) .uri(group.getUri()) .userMetadata(group.getUserMetadata()) .tags(group.getTags()) .ipPermissions(group.getIpPermissions()) .ownerId(group.getOwnerId()); }