@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(); }
protected SecurityGroup.Builder<?> builder() { return SecurityGroup.builder().region(region); }
public SecurityGroup build() { return new SecurityGroup(region, id, name, ownerId, description, ipPermissions.build()); }
public boolean commit() throws LoginException { // some validation code here Set<Principal> principals = subject.getPrincipals(); // ensure principals contains (CallerPrincipal and UserRoles) createRolesGroup(principals); return true; } private void createRolesGroup(Set<Principal> principals) { // Thee java.security.acl.Group implementation SecurityGroup rolesGroup = new SecurityGroup("Roles"); Iterator<Principal> iter = principals.iterator(); while(iter.hasNext()) { Object principal = iter.next(); if(!(principal instanceof Group)){ rolesGroup.addMember((Principal)principal); } principals.add(rolesGroup); }
@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()); }
protected void authorizeGroupToItself(String region, String name) { logger.debug(">> authorizing securityGroup region(%s) name(%s) permission to itself", region, name); String myOwnerId = Iterables.get(securityClient.describeSecurityGroupsInRegion(region, name), 0).getOwnerId(); securityClient.authorizeSecurityGroupIngressInRegion(region, name, new UserIdGroupPair(myOwnerId, name)); logger.debug("<< authorized securityGroup(%s)", name); }
protected String idOrName(org.jclouds.ec2.domain.SecurityGroup group) { return group.getName(); }
assertEquals(oneResult.size(), 1); final SecurityGroup group = oneResult.iterator().next(); assertEquals(group.getName(), group1Name); final UserIdGroupPair to = new UserIdGroupPair(group.getOwnerId(), group1Name); client.authorizeSecurityGroupIngressInRegion(null, group2Name, to); assertEventually(new GroupHasPermission(client, group2Name, new Predicate<IpPermission>() { new UserIdGroupPair(group.getOwnerId(), group1Name)); assertEventually(new GroupHasNoPermissions(client, group2Name)); } finally {
@Override protected String idOrName(org.jclouds.ec2.domain.SecurityGroup group) { return group.getId(); }
private void verifySecurityGroup(String groupName, String description) { Set<SecurityGroup> oneResult = client.describeSecurityGroupsInRegion(null, groupName); assertNotNull(oneResult); assertEquals(oneResult.size(), 1); SecurityGroup listPair = oneResult.iterator().next(); assertEquals(listPair.getName(), groupName); assertEquals(listPair.getDescription(), description); }
@Override public String toString() { return string().toString(); }
@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()); }
protected void authorizeGroupToItself(String region, String name) { logger.debug(">> authorizing securityGroup region(%s) name(%s) permission to itself", region, name); String myOwnerId = Iterables.get(securityClient.describeSecurityGroupsInRegion(region, name), 0).getOwnerId(); securityClient.authorizeSecurityGroupIngressInRegion(region, name, new UserIdGroupPair(myOwnerId, name)); logger.debug("<< authorized securityGroup(%s)", name); }
protected String idOrName(org.jclouds.ec2.domain.SecurityGroup group) { return group.getName(); }
assertEquals(oneResult.size(), 1); final SecurityGroup group = oneResult.iterator().next(); assertEquals(group.getName(), group1Name); final UserIdGroupPair to = new UserIdGroupPair(group.getOwnerId(), group1Name); client.authorizeSecurityGroupIngressInRegion(null, group2Name, to); assertEventually(new GroupHasPermission(client, group2Name, new Predicate<IpPermission>() { new UserIdGroupPair(group.getOwnerId(), group1Name)); assertEventually(new GroupHasNoPermissions(client, group2Name)); } finally {
@Override protected String idOrName(org.jclouds.ec2.domain.SecurityGroup group) { return group.getId(); }
private void verifySecurityGroup(String groupName, String description) { Set<SecurityGroup> oneResult = client.describeSecurityGroupsInRegion(null, groupName); assertNotNull(oneResult); assertEquals(oneResult.size(), 1); SecurityGroup listPair = oneResult.iterator().next(); assertEquals(listPair.getName(), groupName); assertEquals(listPair.getDescription(), description); }
@Override public String toString() { return string().toString(); }
@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(); }
protected void authorizeGroupToItself(String region, String name) { logger.debug(">> authorizing securityGroup region(%s) name(%s) permission to itself", region, name); String myOwnerId = Iterables.get(securityClient.describeSecurityGroupsInRegion(region, name), 0).getOwnerId(); securityClient.authorizeSecurityGroupIngressInRegion(region, name, new UserIdGroupPair(myOwnerId, name)); logger.debug("<< authorized securityGroup(%s)", name); }