@Override protected String idOrName(org.jclouds.ec2.domain.SecurityGroup group) { return group.getId(); }
@Override protected String idOrName(org.jclouds.ec2.domain.SecurityGroup group) { return group.getId(); }
@Override protected String idOrName(org.jclouds.ec2.domain.SecurityGroup group) { return group.getId(); }
@Override public String apply(String input) { checkNotNull(input, "input"); String[] parts = AWSUtils.parseHandle(input); String region = parts[0]; String name = parts[1]; return Iterables.getOnlyElement(api.getSecurityGroupApi().get().describeSecurityGroupsInRegion(region, name), null).getId(); } }
@Override public String apply(String input) { checkNotNull(input, "input"); String[] parts = AWSUtils.parseHandle(input); String region = parts[0]; String name = parts[1]; return Iterables.getOnlyElement(api.getSecurityGroupApi().get() .describeSecurityGroupsInRegionWithFilter(region, of("group-name", name))).getId(); } }
@Override public String apply(String input) { checkNotNull(input, "input"); String[] parts = AWSUtils.parseHandle(input); String region = parts[0]; String name = parts[1]; return Iterables.getOnlyElement(api.getSecurityGroupApi().get() .describeSecurityGroupsInRegionWithFilter(region, of("group-name", name))).getId(); } }
/** * @throws IllegalStateException If the security group was in use */ @VisibleForTesting void deleteSecurityGroup(String region, String group) { checkNotNull(emptyToNull(region), "region must be defined"); checkNotNull(emptyToNull(group), "group must be defined"); String groupName = namingConvention.create().sharedNameForGroup(group); Multimap<String, String> securityGroupFilterByName = ImmutableMultimap.of("group-name", groupName); Set<SecurityGroup> securityGroupsToDelete = client.getSecurityGroupApi().get() .describeSecurityGroupsInRegionWithFilter(region, securityGroupFilterByName); if (securityGroupsToDelete.size() > 1) { logger.warn("When trying to delete security group %s found more than one matching the name. Will delete all - %s.", group, securityGroupsToDelete); } for (SecurityGroup securityGroup : securityGroupsToDelete) { logger.debug(">> deleting securityGroup(%s)", groupName); client.getSecurityGroupApi().get().deleteSecurityGroupInRegionById(region, securityGroup.getId()); securityGroupMap.invalidate(new RegionNameAndIngressRules(region, groupName, null, false, null)); logger.debug("<< deleted securityGroup(%s)", groupName); } }
public void testFilterWhenResponseIs2xx() { HttpResponse filterResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResourceWithContentType("/describe_securitygroups_extension_single.xml", "text/xml")).build(); EC2Api apiWhenExist = requestsSendResponses(describeRegionsRequest, describeRegionsResponse, filter, filterResponse); SecurityGroup group = getOnlyElement(apiWhenExist.getSecurityGroupApi().get().describeSecurityGroupsInRegionWithFilter("us-east-1", ImmutableMultimap.<String, String>builder() .put("owner-id", "993194456877") .build())); assertEquals(group.getId(), "sg-3c6ef654"); }
@Test void testCreateSecurityGroupInVpc() { String region = "us-west-2"; String groupName = PREFIX + "1" + new Random().nextInt(10000); String description = "jclouds testCreateSecurityGroupInVpc"; VPCApi vpcClient = AWSEC2Api.class.cast(ec2Api).getVPCApi().get(); AWSSecurityGroupApi sgClient = AWSSecurityGroupApi.class.cast(client); VPC vpc = vpcClient.createVpc(region, "10.0.0.0/16", CreateVpcOptions.NONE); try { String sgId = sgClient.createSecurityGroupInRegionAndReturnId( region, groupName, description, CreateSecurityGroupOptions.Builder.vpcId(vpc.id())); try { Set<SecurityGroup> securityGroups = sgClient.describeSecurityGroupsInRegionWithFilter( region, ImmutableMultimap.of("vpc-id", vpc.id(), "group-id", sgId)); SecurityGroup sg = Iterables.getOnlyElement(securityGroups); assertEquals(sg.getId(), sgId); assertEquals(sg.getId(), sgId); } finally { sgClient.deleteSecurityGroupInRegionById(region, sgId); } } finally { vpcClient.deleteVpc(region, vpc.id()); } } }
public void describeSecurityGroupsFiltered() throws Exception { enqueueRegions(DEFAULT_REGION); enqueue(DEFAULT_REGION, new MockResponse().setBody(describeSecurityGroupsResponse)); Set<SecurityGroup> results = securityGroupApi().describeSecurityGroupsInRegionWithFilter(DEFAULT_REGION, ImmutableMultimap.of("group-name", "WebServers", "vpc-id", "vpc-614cc409")); SecurityGroup result = Iterables.getOnlyElement(results); assertEquals(result.getId(), "sg-1a2b3c4d"); assertPosted(DEFAULT_REGION, "Action=DescribeRegions"); assertPosted(DEFAULT_REGION, "Action=DescribeSecurityGroups&Filter.1.Name=group-name&Filter.1.Value.1=WebServers&Filter.2.Name=vpc-id&Filter.2.Value.1=vpc-614cc409"); }
@SuppressWarnings("deprecation") public void describeSecurityGroups() throws Exception { enqueueRegions(DEFAULT_REGION); enqueue(DEFAULT_REGION, new MockResponse().setBody(describeSecurityGroupsResponse)); Set<SecurityGroup> results = securityGroupApi().describeSecurityGroupsInRegion(DEFAULT_REGION); SecurityGroup result = Iterables.getOnlyElement(results); assertEquals(result.getId(), "sg-1a2b3c4d"); assertEquals(result.getRegion(), "us-east-1"); assertEquals(result.getName(), "WebServers"); assertEquals(result.getOwnerId(), "123456789012"); assertEquals(result.getDescription(), "Web Servers"); assertPosted(DEFAULT_REGION, "Action=DescribeRegions"); assertPosted(DEFAULT_REGION, "Action=DescribeSecurityGroups"); }
public void describeSecurityGroupsDifferentRegion() throws Exception { String region = "us-west-2"; enqueueRegions(DEFAULT_REGION, region); enqueue(region, new MockResponse().setBody(describeSecurityGroupsResponse)); Set<SecurityGroup> results = securityGroupApi().describeSecurityGroupsInRegion(region); SecurityGroup result = Iterables.getOnlyElement(results); assertEquals(result.getId(), "sg-1a2b3c4d"); assertPosted(DEFAULT_REGION, "Action=DescribeRegions"); assertPosted(region, "Action=DescribeSecurityGroups"); }
public void describeSecurityGroupsById() throws Exception { enqueueRegions(DEFAULT_REGION); enqueue(DEFAULT_REGION, new MockResponse().setBody(describeSecurityGroupsResponse)); Set<SecurityGroup> results = securityGroupApi().describeSecurityGroupsInRegionById(DEFAULT_REGION, "sg-1a2b3c4d"); SecurityGroup result = Iterables.getOnlyElement(results); assertEquals(result.getId(), "sg-1a2b3c4d"); assertPosted(DEFAULT_REGION, "Action=DescribeRegions"); assertPosted(DEFAULT_REGION, "Action=DescribeSecurityGroups&GroupId.1=sg-1a2b3c4d"); }
@Override protected Resource createResourceForTagging(String prefix) { try { return new Resource(securityGroupApi().createSecurityGroupInRegionAndReturnId(null, prefix, prefix), SECURITY_GROUP); } catch (IllegalStateException e) { return new Resource(Iterables.get(securityGroupApi().describeSecurityGroupsInRegion(null, prefix), 0).getId(), SECURITY_GROUP); } }
public void describeSecurityGroupsByName() throws Exception { enqueueRegions(DEFAULT_REGION); enqueue(DEFAULT_REGION, new MockResponse().setBody(describeSecurityGroupsResponse)); Set<SecurityGroup> results = securityGroupApi().describeSecurityGroupsInRegion(DEFAULT_REGION, "WebServers"); SecurityGroup result = Iterables.getOnlyElement(results); assertEquals(result.getId(), "sg-1a2b3c4d"); assertPosted(DEFAULT_REGION, "Action=DescribeRegions"); assertPosted(DEFAULT_REGION, "Action=DescribeSecurityGroups&GroupName.1=WebServers"); }
@Test public void testApply() { IpPermissions authorization = IpPermissions.permitAnyProtocol(); org.jclouds.ec2.domain.SecurityGroup origGroup = org.jclouds.ec2.domain.SecurityGroup.builder() .region("us-east-1") .id("some-id") .name("some-group") .ownerId("some-owner") .description("some-description") .ipPermission(authorization) .build(); AWSEC2SecurityGroupToSecurityGroup parser = createGroupParser(ImmutableSet.of(provider)); SecurityGroup group = parser.apply(origGroup); assertEquals(group.getLocation(), provider); assertEquals(group.getId(), provider.getId() + "/" + origGroup.getId()); assertEquals(group.getProviderId(), origGroup.getId()); assertEquals(group.getName(), origGroup.getName()); assertEquals(group.getIpPermissions(), (Set<IpPermission>)origGroup); assertEquals(group.getOwnerId(), origGroup.getOwnerId()); }
@Test public void testApply() { IpPermissions authorization = IpPermissions.permitAnyProtocol(); org.jclouds.ec2.domain.SecurityGroup origGroup = org.jclouds.ec2.domain.SecurityGroup.builder() .region("us-east-1") .id("some-id") .name("some-group") .ownerId("some-owner") .description("some-description") .ipPermission(authorization) .build(); EC2SecurityGroupToSecurityGroup parser = createGroupParser(ImmutableSet.of(provider)); SecurityGroup group = parser.apply(origGroup); assertEquals(group.getLocation(), provider); assertEquals(group.getId(), provider.getId() + "/" + origGroup.getName()); assertEquals(group.getProviderId(), origGroup.getId()); assertEquals(group.getName(), origGroup.getName()); assertEquals(group.getIpPermissions(), (Set<IpPermission>)origGroup); assertEquals(group.getOwnerId(), origGroup.getOwnerId()); }
@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(); }