Package io.fathom.cloud.compute.actions

Examples of io.fathom.cloud.compute.actions.StartInstancesAction$Result


        DefaultActionMapper defaultActionMapper = new DefaultActionMapper();
        defaultActionMapper.setContainer(container);
        ActionMapping actionMapping = defaultActionMapper.getMapping(request, configManager);

        Result result = actionMapping.getResult();
        assertNotNull(result);
        assertTrue(result instanceof ServletRedirectResult);

        Mock invMock = new Mock(ActionInvocation.class);
        ActionInvocation inv = (ActionInvocation) invMock.proxy();
        ActionContext ctx = ActionContext.getContext();
        ctx.put(ServletActionContext.HTTP_REQUEST, request);
        StrutsMockHttpServletResponse response = new StrutsMockHttpServletResponse();
        ctx.put(ServletActionContext.HTTP_RESPONSE, response);
        invMock.expectAndReturn("getInvocationContext", ctx);
        invMock.expectAndReturn("getStack", ctx.getValueStack());
        result.execute(inv);
        assertEquals("http://www.google.com", response.getRedirectURL());
        //TODO: need to test location but there's noaccess to the property/method, unless we use reflection
    }
View Full Code Here


        // MaxCount=1
        // DisableApiTermination=false
        // Monitoring.Enabled=false
        // EbsOptimized=false

        StartInstancesAction action = new StartInstancesAction();

        long imageId = decodeEc2Id(get("ImageId"));

        {
            ReservationData.Builder reservation = ReservationData.newBuilder();

            ImageService.Image image = imageService.findImage(project, imageId);
            if (image == null) {
                throw new IllegalArgumentException();
            }

            reservation.setImageId(image.getId());

            action.reservationTemplate = reservation.build();
        }

        List<SecurityGroupData> securityGroups = getSecurityGroups();

        {
            InstanceData.Builder instance = InstanceData.newBuilder();

            for (SecurityGroupData securityGroup : securityGroups) {
                instance.addSecurityGroupId(securityGroup.getId());
            }
            action.instanceTemplate = instance.build();
        }

        action.maxCount = get("MaxCount", 1);
        action.minCount = get("MinCount", 1);

        // action.user = getUser();
        action.project = project;

        StartInstancesAction.Result result = action.go();

        RunInstancesResponse response = new RunInstancesResponse();
        response.requestId = getRequestId();

        response.reservationId = toEc2ReservationId(result.reservation.getId());
View Full Code Here

    }

    @POST
    @Produces({ JSON })
    public Response launchServer(WrappedServer request) throws CloudException {
        StartInstancesAction action = startInstancesActionProvider.get();

        // action.user = getUser();
        action.project = getProject();
        action.auth = getAuth();

        FlavorData flavor;
        {
            long flavorId = OpenstackIds.toFlavorId(request.server.flavorRef);
            flavor = flavors.find(flavorId);
            if (flavor == null) {
                throw new IllegalArgumentException();
            }
        }

        action.minCount = request.server.minCount;
        if (action.minCount == 0) {
            action.minCount = 1;
        }
        action.maxCount = request.server.maxCount;
        if (action.maxCount == 0) {
            action.maxCount = 1;
        }

        if (action.maxCount != 1) {
            // Not clear what the response should be in this case...
            throw new UnsupportedOperationException();
        }

        ImageService.Image image;
        {

            long imageId = OpenstackIds.toImageId(request.server.imageRef);
            image = imageService.findImage(getProject(), imageId);
            if (image == null) {
                throw new IllegalArgumentException();
            }
        }

        {
            ReservationData.Builder reservation = ReservationData.newBuilder();
            // TODO: Copy image?
            reservation.setImageId(image.getId());

            action.reservationTemplate = reservation.build();
        }

        {
            InstanceData.Builder instance = InstanceData.newBuilder();
            instance.setName(request.server.name);

            if (request.server.keyName != null) {
                KeyPairData keypair = keypairs.findKeyPair(getProject(), request.server.keyName);
                if (keypair == null) {
                    throw new IllegalArgumentException();
                }
                instance.setKeyPair(keypair);
            }

            instance.setImageId(image.getId());

            instance.setFlavor(flavor);

            if (request.server.securityGroups != null && !request.server.securityGroups.isEmpty()) {
                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();
        }

        StartInstancesAction.Result result = action.go();

        WrappedServer response = new WrappedServer();

        if (result.instances.size() != 1) {
            throw new IllegalStateException();
View Full Code Here

        return image;
    }

    private InstanceData startInstance(Image image, List<Long> securityGroupIds, KeyPairData keyPair)
            throws CloudException {
        StartInstancesAction action = startInstancesActionProvider.get();

        action.project = project;
        action.auth = auth;

        action.minCount = 1;
        action.maxCount = 1;

        {
            ReservationData.Builder reservation = ReservationData.newBuilder();

            reservation.setImageId(image.getId());

            action.reservationTemplate = reservation.build();
        }

        {
            InstanceData.Builder instance = InstanceData.newBuilder();
            instance.setName(name);

            if (keyPair != null) {
                instance.setKeyPair(keyPair);
            }

            {
                MetadataData.Builder metadataBuilder = instance.getMetadataBuilder();

                if (host != null) {
                    MetadataEntryData.Builder entryBuilder = metadataBuilder.addEntryBuilder();
                    entryBuilder.setKey(DerivedMetadata.KEY_DNS_HOST);
                    entryBuilder.setValue(host);
                }
            }

            instance.setImageId(image.getId());

            for (Long securityGroupId : securityGroupIds) {
                instance.addSecurityGroupId(securityGroupId);
            }

            action.instanceTemplate = instance.build();
        }

        // action.ip = this.ip;

        log.info("Starting instance");

        StartInstancesAction.Result result = action.go();

        if (result.instances.size() != 1) {
            throw new IllegalStateException();
        }
View Full Code Here

      setFaultCode(fCode);
    }
   
    setFaultString(getMessage());
   
    Result r = this.objectFactory.createResult();
    ErrInfo ei = this.objectFactory.createErrInfo();

    if (errCode != null) {
      ei.setErrCode(errCode);
    }

    ei.setValue(getMessage());

     r.setErrno(errno);

    if (ei != null) {
      r.setErrInfo(ei);
    }

    addResult(r);
  }
View Full Code Here

  {
    if (this.dispReport==null) {
      this.dispReport = this.objectFactory.createDispositionReport();
    }

    Result jaxbResult = this.objectFactory.createResult();
    this.dispReport.getResult().add(jaxbResult);
   
    if (result.getErrInfo() != null) jaxbResult.setErrInfo(result.getErrInfo());
    if (result.getKeyType() != null) jaxbResult.setKeyType(result.getKeyType());
    jaxbResult.setErrno(result.getErrno());
  }
View Full Code Here

            keyResultArr = new Result[resultList.size()];
            resultList.toArray(keyResultArr);
           
            log.debug("After deleting Business. Obtained vector size:" + keyResultArr != null ? keyResultArr.length : 0);
            for (int i = 0; keyResultArr != null && i < keyResultArr.length; i++) {
                Result result = (Result) keyResultArr[i];
                int errno = result.getErrno();
                if (errno == 0) {
                    coll.addAll(keys);
                }
                else {
                    ErrInfo errinfo = result.getErrInfo();
                    DeleteException de = new DeleteException(errinfo.getErrCode() + ":" + errinfo.getValue());
                    bulk.setStatus(JAXRResponse.STATUS_FAILURE);
                    exceptions.add(de);
                }
            }
View Full Code Here

        private DispositionReport getSuccessMessage() {
                DispositionReport r = new DispositionReport();
                r.setGeneric("2.0");
                r.setTruncated(Truncated.FALSE);
                Result x = new Result();
                r.setOperator(getNodeID());
                r.getResult().add(x);
                return r;
        }
View Full Code Here

                List<Result> r = new ArrayList<Result>();
                if (result == null) {
                        return r;
                }
                for (int i = 0; i < result.size(); i++) {
                        Result x = new Result();
                        x.setErrno(result.get(i).getErrno());
                        x.setErrno(result.get(i).getErrno());
                        if (result.get(i).getKeyType() != null) {
                                switch (result.get(i).getKeyType()) {
                                        case BINDING_KEY:
                                                x.setKeyType(KeyType.BINDING_KEY);
                                                break;
                                        case BUSINESS_KEY:
                                                x.setKeyType(KeyType.BUSINESS_KEY);
                                                break;
                                        case SERVICE_KEY:
                                                x.setKeyType(KeyType.SERVICE_KEY);
                                                break;
                                        case T_MODEL_KEY:
                                                x.setKeyType(KeyType.T_MODEL_KEY);
                                                break;
                                }
                        }
                        x.setErrInfo(new ErrInfo());
                        x.getErrInfo().setErrCode(result.get(i).getErrInfo().getErrCode());
                        x.getErrInfo().setValue(result.get(i).getErrInfo().getValue());
                        r.add(x);
                }
               
                return r;
        }
View Full Code Here

   
   
    new ValidateSubscriptionListener().validateNotification(body);
     
    DispositionReport dr = new DispositionReport();
    Result res = new Result();
    dr.getResult().add(res);
    return dr;
  }
View Full Code Here

TOP

Related Classes of io.fathom.cloud.compute.actions.StartInstancesAction$Result

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.