/** * Returns all the {@link SecurityGroup} rule that match the specified source and ports */ private static Iterable<SecurityGroupRule> getAllRuleMatching(SecurityGroup securityGroup, final String source, final int... ports) { return Iterables.filter(securityGroup.getRules(), new Predicate<SecurityGroupRule>() { @Override public boolean apply(@Nullable SecurityGroupRule input) { if(!rangeFulfilled(input.getFromPort(), input.getToPort(), ports)) { return false; } else if (!input.getIpRange().equals(source)) { return false; } return true; } }); }
private void checkSecurityGroup(SecurityGroup securityGroup) { assertNotNull(securityGroup.getId()); assertNotNull(securityGroup.getName()); assertNotNull(securityGroup.getRules()); } }
/** * Removes all rules. */ @Override public void flush(ComputeService service, NodeMetadata node) { String region = AWSUtils.parseHandle(node.getId())[0]; Optional<? extends SecurityGroupApi> securityGroupApi = getSecurityGroup(service, region); if (securityGroupApi.isPresent()) { String groupName = "jclouds-" + node.getGroup(); Optional<? extends SecurityGroup> securityGroup = getSecurityGroupForGroup(securityGroupApi.get(), groupName); if (securityGroup.isPresent()) { try { for (SecurityGroupRule rule : securityGroup.get().getRules()) { securityGroupApi.get().deleteRule(rule.getId()); } } catch (IllegalStateException e) { //noop } } } authorize(service, node, "0.0.0.0", 22); }
@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.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(@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(final SecurityGroupInRegion groupInRegion) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); final org.jclouds.openstack.nova.v2_0.domain.SecurityGroup group = groupInRegion.getSecurityGroup(); builder.id(group.getId()); builder.providerId(group.getId()); builder.ownerId(group.getTenantId()); builder.name(group.getName()); if (group.getRules() != null) { builder.ipPermissions(filter(transform(group.getRules(), new Function<SecurityGroupRule, IpPermission>() { @Override public IpPermission apply(SecurityGroupRule input) { return securityGroupRuleToIpPermission(groupInRegion, input); } }), Predicates.notNull())); } final String regionId = groupInRegion.getRegion(); Location region = locationIndex.get().get(regionId); checkState(region != null, "location %s not in locationIndex: %s", regionId, locationIndex.get()); builder.location(region); builder.id(regionId + "/" + group.getId()); return builder.build(); }
@Override public SecurityGroup apply(final SecurityGroupInRegion groupInRegion) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); final org.jclouds.openstack.nova.v2_0.domain.SecurityGroup group = groupInRegion.getSecurityGroup(); builder.id(group.getId()); builder.providerId(group.getId()); builder.ownerId(group.getTenantId()); builder.name(group.getName()); if (group.getRules() != null) { builder.ipPermissions(filter(transform(group.getRules(), new Function<SecurityGroupRule, IpPermission>() { @Override public IpPermission apply(SecurityGroupRule input) { return securityGroupRuleToIpPermission(groupInRegion, input); } }), Predicates.notNull())); } final String regionId = groupInRegion.getRegion(); Location region = locationIndex.get().get(regionId); checkState(region != null, "location %s not in locationIndex: %s", regionId, locationIndex.get()); builder.location(region); builder.id(regionId + "/" + group.getId()); return builder.build(); }
for (SecurityGroupRule rule : filter(securityGroup.getRules(), and(ruleCidr(cidr), ruleProtocol(ipPermission.getIpProtocol()), ruleStartPort(ipPermission.getFromPort()), for (SecurityGroupRule rule : filter(securityGroup.getRules(), and(ruleGroup(groupId), ruleProtocol(ipPermission.getIpProtocol()), ruleStartPort(ipPermission.getFromPort()),
for (SecurityGroupRule rule : filter(securityGroup.getRules(), and(ruleCidr(cidr), ruleProtocol(ipPermission.getIpProtocol()), ruleStartPort(ipPermission.getFromPort()), for (SecurityGroupRule rule : filter(securityGroup.getRules(), and(ruleGroup(groupId), ruleProtocol(ipPermission.getIpProtocol()), ruleStartPort(ipPermission.getFromPort()),
public T fromSecurityGroup(SecurityGroup in) { return this .id(in.getId()) .tenantId(in.getTenantId()) .name(in.getName()) .description(in.getDescription()) .rules(in.getRules()); } }
for (SecurityGroupRule rule : filter(securityGroup.getRules(), and(ruleCidr(cidr), ruleProtocol(ipPermission.getIpProtocol()), ruleStartPort(ipPermission.getFromPort()), for (SecurityGroupRule rule : filter(securityGroup.getRules(), and(ruleGroup(groupId), ruleProtocol(ipPermission.getIpProtocol()), ruleStartPort(ipPermission.getFromPort()),
for (SecurityGroupRule rule : filter(securityGroup.getRules(), and(ruleCidr(cidr), ruleProtocol(ipPermission.getIpProtocol()), ruleStartPort(ipPermission.getFromPort()), for (SecurityGroupRule rule : filter(securityGroup.getRules(), and(ruleGroup(groupId), ruleProtocol(ipPermission.getIpProtocol()), ruleStartPort(ipPermission.getFromPort()),
public T fromSecurityGroup(SecurityGroup in) { return this .id(in.getId()) .tenantId(in.getTenantId()) .name(in.getName()) .description(in.getDescription()) .rules(in.getRules()); } }
public T fromSecurityGroup(SecurityGroup in) { return this .id(in.getId()) .tenantId(in.getTenantId()) .name(in.getName()) .description(in.getDescription()) .rules(in.getRules()); } }
public T fromSecurityGroup(SecurityGroup in) { return this .id(in.getId()) .tenantId(in.getTenantId()) .name(in.getName()) .description(in.getDescription()) .rules(in.getRules()); } }
public T fromSecurityGroup(SecurityGroup in) { return this .id(in.getId()) .tenantId(in.getTenantId()) .name(in.getName()) .description(in.getDescription()) .rules(in.getRules()); } }
public T fromSecurityGroup(SecurityGroup in) { return this .id(in.getId()) .tenantId(in.getTenantId()) .name(in.getName()) .description(in.getDescription()) .rules(in.getRules()); } }