@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(); } }
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()); }
@Override public SecurityGroup createSecurityGroup(String name, Location location) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); String id = groupIdProvider.get() + ""; builder.ids(id); builder.name(name); builder.location(location); SecurityGroup group = builder.build(); groups.put(group.getId(), group); return group; }
public void testRemoveIpPermissionGroupFromParams() { HttpRequest revokeRule = HttpRequest.builder().method("GET") .endpoint("http://localhost:8080/client/api") .addQueryParam("response", "json") .addQueryParam("command", "revokeSecurityGroupIngress") .addQueryParam("id", "5") .addQueryParam("apiKey", "APIKEY") .addQueryParam("signature", "bEzvrLtO7aEWkIqJgUeTnd+0XbY=") .addHeader("Accept", "application/json") .build(); HttpResponse getWithRuleResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResource("/getsecuritygroupresponse_extension_byid_with_group.json")) .build(); SecurityGroupExtension extension = orderedRequestsSendResponses( ImmutableList.of(getWithRule, revokeRule, queryAsyncJobResultAuthorizeIngress, getWithRule), ImmutableList.of(getWithRuleResponse, revokeRuleResponse, queryAsyncJobResultAuthorizeIngressResponse, getEmptyResponse) ).getSecurityGroupExtension().get(); ImmutableMultimap.Builder<String, String> permBuilder = ImmutableMultimap.builder(); permBuilder.put("adrian", "adriancole"); SecurityGroup origGroup = new SecurityGroupBuilder().id("13").build(); SecurityGroup newGroup = extension.removeIpPermission(IpProtocol.TCP, 22, 22, permBuilder.build(), emptyStringSet(), emptyStringSet(), origGroup); assertEquals(newGroup.getIpPermissions().size(), 0); }
@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 removeIpPermission(IpPermission ipPermission, SecurityGroup group) { SecurityGroupBuilder builder = SecurityGroupBuilder.fromSecurityGroup(checkNotNull(group, "group")); builder.ipPermissions(); builder.ipPermissions(filter(group.getIpPermissions(), not(equalTo(ipPermission)))); SecurityGroup newGroup = builder.build(); if (groups.containsKey(newGroup.getId())) { groups.remove(newGroup.getId()); } groups.put(newGroup.getId(), newGroup); return newGroup; }
@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 createSecurityGroup(String name, Location location) { ResourceGroup resourceGroup = defaultResourceGroup.getUnchecked(location.getId()); logger.debug(">> creating security group %s in %s...", name, location); SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.name(name); builder.location(location); NetworkSecurityGroup sg = api.getNetworkSecurityGroupApi(resourceGroup.name()).createOrUpdate(name, location.getId(), null, NetworkSecurityGroupProperties.builder().build()); checkState(securityGroupAvailable.create(resourceGroup.name()).apply(name), "Security group was not created in the configured timeout"); return securityGroupConverter.apply(sg); }
@Override public SecurityGroup addIpPermission(IpPermission ipPermission, SecurityGroup group) { SecurityGroupBuilder builder = SecurityGroupBuilder.fromSecurityGroup(checkNotNull(group, "group")); builder.ipPermission(checkNotNull(ipPermission, "ipPermission")); SecurityGroup newGroup = builder.build(); if (groups.containsKey(newGroup.getId())) { groups.remove(newGroup.getId()); } groups.put(newGroup.getId(), newGroup); return newGroup; }
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); }
@Override public SecurityGroup createSecurityGroup(String name, Location location) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); String id = groupIdProvider.get() + ""; builder.ids(id); builder.name(name); builder.location(location); SecurityGroup group = builder.build(); groups.put(group.getId(), group); return group; }
@Override public SecurityGroup removeIpPermission(IpPermission ipPermission, SecurityGroup group) { SecurityGroupBuilder builder = SecurityGroupBuilder.fromSecurityGroup(checkNotNull(group, "group")); builder.ipPermissions(); builder.ipPermissions(filter(group.getIpPermissions(), not(equalTo(ipPermission)))); SecurityGroup newGroup = builder.build(); if (groups.containsKey(newGroup.getId())) { groups.remove(newGroup.getId()); } groups.put(newGroup.getId(), newGroup); return newGroup; }
@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 createSecurityGroup(String name, Location location) { ResourceGroup resourceGroup = defaultResourceGroup.getUnchecked(location.getId()); logger.debug(">> creating security group %s in %s...", name, location); SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.name(name); builder.location(location); NetworkSecurityGroup sg = api.getNetworkSecurityGroupApi(resourceGroup.name()).createOrUpdate(name, location.getId(), null, NetworkSecurityGroupProperties.builder().build()); checkState(securityGroupAvailable.create(resourceGroup.name()).apply(name), "Security group was not created in the configured timeout"); return securityGroupConverter.apply(sg); }
@Override public SecurityGroup addIpPermission(IpPermission ipPermission, SecurityGroup group) { SecurityGroupBuilder builder = SecurityGroupBuilder.fromSecurityGroup(checkNotNull(group, "group")); builder.ipPermission(checkNotNull(ipPermission, "ipPermission")); SecurityGroup newGroup = builder.build(); if (groups.containsKey(newGroup.getId())) { groups.remove(newGroup.getId()); } groups.put(newGroup.getId(), newGroup); return newGroup; }
@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 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()); }
).getSecurityGroupExtension().get(); SecurityGroup origGroup = new SecurityGroupBuilder().id("13").build();
@Override public SecurityGroup createSecurityGroup(String name, Location location) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); String id = groupIdProvider.get() + ""; builder.ids(id); builder.name(name); builder.location(location); SecurityGroup group = builder.build(); groups.put(group.getId(), group); return group; }
@Override public SecurityGroup removeIpPermission(IpPermission ipPermission, SecurityGroup group) { SecurityGroupBuilder builder = SecurityGroupBuilder.fromSecurityGroup(checkNotNull(group, "group")); builder.ipPermissions(); builder.ipPermissions(filter(group.getIpPermissions(), not(equalTo(ipPermission)))); SecurityGroup newGroup = builder.build(); if (groups.containsKey(newGroup.getId())) { groups.remove(newGroup.getId()); } groups.put(newGroup.getId(), newGroup); return newGroup; }