Package io.fathom.cloud.protobuf.CloudModel

Examples of io.fathom.cloud.protobuf.CloudModel.SecurityGroupData


        Auth auth = getAuth();

        SecurityGroupRule rule = request.rule;
        long securityGroupId = Long.valueOf(rule.parentGroupId);

        SecurityGroupData securityGroupData = securityGroups.find(getProject(), securityGroupId);
        if (securityGroupData == null) {
            throw new WebApplicationException(Status.NOT_FOUND);
        }

        SecurityGroupRuleData created;
View Full Code Here


        {
            NumberedItemCollection<SecurityGroupData> securityGroupsStore = getStore(project);

            for (long securityGroupId : instance.getSecurityGroupIdList()) {
                SecurityGroupData securityGroup = securityGroupsStore.find(securityGroupId);
                if (securityGroup == null) {
                    throw new IllegalArgumentException();
                }
                securityGroups.add(securityGroup);
            }
View Full Code Here

    }

    public SecurityGroupRuleData addRule(Auth auth, Project project, long securityGroupId,
            SecurityGroupRuleData.Builder sgb) throws CloudException {
        NumberedItemCollection<SecurityGroupData> store = getStore(project);
        SecurityGroupData securityGroupData = store.find(securityGroupId);
        if (securityGroupData == null) {
            throw new WebApplicationException(Status.NOT_FOUND);
        }

        SecurityGroupData.Builder b = SecurityGroupData.newBuilder(securityGroupData);
        SecurityGroupRuleData rule = sgb.build();
        b.addRules(rule);

        SecurityGroupData updated = store.update(b);
        applySecurityGroup(auth, project, updated);

        return rule;
    }
View Full Code Here

    }

    public SecurityGroupData deleteRule(Auth auth, Project project, long ruleId) throws CloudException {
        // This sort of sucks, because we don't have an index on ruleId
        NumberedItemCollection<SecurityGroupData> store = getStore(project);
        SecurityGroupData securityGroupData = null;
        int ruleIndex = -1;

        for (SecurityGroupData g : store.list()) {
            for (int i = 0; i < g.getRulesCount(); i++) {
                SecurityGroupRuleData r = g.getRules(i);
                if (r.getId() == ruleId) {
                    securityGroupData = g;
                    ruleIndex = i;
                    break;
                }
            }
        }

        if (securityGroupData == null) {
            throw new WebApplicationException(Status.NOT_FOUND);
        }

        SecurityGroupData.Builder b = SecurityGroupData.newBuilder(securityGroupData);
        b.removeRules(ruleIndex);

        SecurityGroupData updated = store.update(b);
        applySecurityGroup(auth, project, updated);

        return updated;
    }
View Full Code Here

    @GET
    @Path("{id}")
    @Produces({ JSON })
    public WrappedSecurityGroup getSecurityGroupDetails(@PathParam("id") long id) throws CloudException {
        SecurityGroupData data = securityGroups.find(getProject(), id);
        if (data == null) {
            throw new WebApplicationException(Status.NOT_FOUND);
        }

        WrappedSecurityGroup response = new WrappedSecurityGroup();
View Full Code Here

    }

    @DELETE
    @Path("{id}")
    public void deleteSecurityGroup(@PathParam("id") long id) throws CloudException {
        SecurityGroupData data = securityGroups.delete(getProject(), id);
        if (data == null) {
            throw new WebApplicationException(Status.NOT_FOUND);
        }
    }
View Full Code Here

            if (name.equals(item.getName())) {
                throw new WebApplicationException(Status.CONFLICT);
            }
        }

        SecurityGroupData created;
        {
            SecurityGroup req = request.securityGroup;

            SecurityGroupData.Builder b = SecurityGroupData.newBuilder();
            b.setName(req.name);
View Full Code Here

    private Response addRemoveSecurityGroup(InstanceData instance, String name, boolean remove) throws CloudException {
        Project project = getProject();

        Long id = Long.valueOf(name);
        SecurityGroupData sg = securityGroups.find(project, id);

        // SecurityGroupData sg = securityGroups.find(project, request.name);
        notFoundIfNull(sg);

        securityGroups.addRemoveSecurityGroup(project, instance.getId(), sg, remove);
View Full Code Here

        SecurityGroupList response = new SecurityGroupList();

        response.securityGroups = Lists.newArrayList();

        for (long sgId : instance.getSecurityGroupIdList()) {
            SecurityGroupData data = securityGroups.find(getProject(), sgId);
            if (data == null) {
                log.warn("Cannot find sg: {}", sgId);
                continue;
            }
            SecurityGroup model = SecurityGroupsResource.toModel(project, data, true);
View Full Code Here

                SecurityGroupDictionary dictionary = new SecurityGroupDictionary(securityGroups.list(getProject()));

                for (SecurityGroup securityGroup : request.server.securityGroups) {
                    String name = securityGroup.name;

                    SecurityGroupData data = dictionary.getByName(name);
                    if (data == null) {
                        throw new IllegalArgumentException("Security group not found: " + name);
                    }

                    instance.addSecurityGroupId(data.getId());
                }
            }

            action.instanceTemplate = instance.build();
        }
View Full Code Here

TOP

Related Classes of io.fathom.cloud.protobuf.CloudModel.SecurityGroupData

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.