Example usage for com.amazonaws.services.ec2.model Placement setGroupName

List of usage examples for com.amazonaws.services.ec2.model Placement setGroupName

Introduction

In this page you can find the example usage for com.amazonaws.services.ec2.model Placement setGroupName.

Prototype


public void setGroupName(String groupName) 

Source Link

Document

The name of the placement group the instance is in.

Usage

From source file:com.norbl.cbp.ppe.Ec2Wrangler.java

License:Open Source License

/** Specifies a placemen group in the <tt>req</tt>.
 *  If a the param cluster//www .  j a  v a  2s. c  om
 * @param req
 */
private void setupClusterPlacementGroup(RunInstancesRequest req) {

    String clusterName;

    if (params.clusterGroupName != null)
        clusterName = params.clusterGroupName;
    else
        clusterName = ConstantsEc2.CLUSTER_GROUP_DEFAULT;

    createClusterGroupIfNecessary(clusterName);

    Placement placement = new Placement();
    placement.setGroupName(clusterName);

    req.setPlacement(placement);
}

From source file:jp.primecloud.auto.aws.typica.converter.InstanceConverter.java

License:Open Source License

@Override
protected Instance convertObject(com.xerox.amazonws.ec2.ReservationDescription.Instance from) {
    Instance to = new Instance();

    to.setInstanceId(from.getInstanceId());
    to.setImageId(from.getImageId());//from ww  w .  j a v  a2 s. co m

    InstanceState state = new InstanceState();
    state.setCode(from.getStateCode());
    state.setName(from.getState());
    to.setState(state);

    to.setPrivateDnsName(from.getPrivateDnsName());
    to.setPublicDnsName(from.getDnsName());
    to.setStateTransitionReason(from.getReason());
    to.setKeyName(from.getKeyName());
    to.setAmiLaunchIndex(null);
    to.setProductCodes(null);
    to.setInstanceType(from.getInstanceType().name());
    to.setLaunchTime(from.getLaunchTime().getTime());

    Placement placement = new Placement();
    placement.setAvailabilityZone(from.getAvailabilityZone());
    placement.setGroupName(null); // 
    to.setPlacement(placement);

    to.setKernelId(from.getKernelId());
    to.setRamdiskId(from.getRamdiskId());
    to.setPlatform(from.getPlatform());

    Monitoring monitoring = new Monitoring();
    monitoring.setState(Boolean.toString(from.isMonitoring()));
    to.setMonitoring(monitoring);

    // 
    to.setSubnetId(null);
    to.setVpcId(null);
    to.setPrivateIpAddress(null);
    to.setPublicIpAddress(null);
    to.setStateReason(null);
    //to.setArchitecture(null);
    to.setRootDeviceName(null);
    to.setRootDeviceName(null);
    to.setBlockDeviceMappings(null);
    //to.setVirtualizationType(null);
    //to.setInstanceLifecycle(null);
    to.setSpotInstanceRequestId(null);
    //to.setLicense(null);
    to.setClientToken(null);
    to.setTags(null);

    return to;
}

From source file:n3phele.factory.ec2.VirtualServerResource.java

License:Open Source License

private int addSpotInstance(List<VirtualServer> items) {

    RequestSpotInstancesRequest sir = new RequestSpotInstancesRequest();

    sir.setInstanceCount(items.size());//  w  ww.  ja  va 2  s  . c om
    HashMap<String, String> map = items.get(0).getParametersMap();
    Injector.inject(sir, map);
    LaunchSpecification launchSpec = new LaunchSpecification();
    Injector.inject(launchSpec, map);
    if (map.containsKey("availabilityZone") || map.containsKey("groupName")) {
        Placement p = new Placement();
        if (map.containsKey("availabilityZone")) {
            String availabilityZone = map.get("availabilityZone");
            if (availabilityZone != null && !availabilityZone.equals("")) {
                p.setAvailabilityZone(map.get("availabilityZone"));
                launchSpec.setPlacement(p);
            }
        }
        if (map.containsKey("groupName")) {
            String groupName = map.get("groupName");
            if (groupName != null && !groupName.equals("")) {
                p.setGroupName(map.get("groupName"));
                launchSpec.setPlacement(p);
            }
        }

    }
    sir.setLaunchSpecification(launchSpec);

    AmazonEC2Client client = getEC2Client(items.get(0).getAccessKey(), items.get(0).getEncryptedKey(),
            items.get(0).getLocation());
    RequestSpotInstancesResult result = null;
    try {
        result = client.requestSpotInstances(sir);
    } catch (AmazonServiceException e) {
        log.log(Level.WARNING, "EC2 error " + e.getErrorCode(), e);
        throw new WebApplicationException(e, Status.BAD_REQUEST);
    }
    int i = 0;
    for (SpotInstanceRequest spot : result.getSpotInstanceRequests()) {
        log.warning("Spot Instance[" + i + "] id " + spot.getSpotInstanceRequestId());
        items.get(i).setSpotId(spot.getSpotInstanceRequestId());
        i++;
    }

    return result.getSpotInstanceRequests().size();
}

From source file:n3phele.factory.ec2.VirtualServerResource.java

License:Open Source License

private int addOnDemandInstance(List<VirtualServer> items) {

    RunInstancesRequest vs = new RunInstancesRequest();

    vs.setMinCount(items.size());//from   ww  w.j av  a 2s.  com
    vs.setMaxCount(items.size());
    String token = items.get(0).getIdempotencyKey();

    if (token != null && token.length() > 64) {
        token = token.substring(token.length() - 64);
    }
    vs.setClientToken(token);
    HashMap<String, String> map = items.get(0).getParametersMap();
    Injector.inject(vs, map);
    if (map.containsKey("availabilityZone") || map.containsKey("groupName")) {
        Placement p = new Placement();
        if (map.containsKey("availabilityZone")) {
            String availabilityZone = map.get("availabilityZone");
            if (availabilityZone != null && !availabilityZone.equals("")) {
                p.setAvailabilityZone(map.get("availabilityZone"));
                vs.setPlacement(p);
            }
        }
        if (map.containsKey("groupName")) {
            String groupName = map.get("groupName");
            if (groupName != null && !groupName.equals("")) {
                p.setGroupName(map.get("groupName"));
                vs.setPlacement(p);
            }
        }

    }
    if (items.size() == 1 && createWithZombie(items.get(0))) {
        return 1;
    }
    AmazonEC2Client client = getEC2Client(items.get(0).getAccessKey(), items.get(0).getEncryptedKey(),
            items.get(0).getLocation());
    RunInstancesResult result = null;
    try {
        result = client.runInstances(vs);
    } catch (AmazonServiceException e) {
        log.log(Level.WARNING, "EC2 error " + e.getErrorCode(), e);
        throw new WebApplicationException(e, Status.BAD_REQUEST);
    } catch (AmazonClientException e) {
        log.log(Level.SEVERE, "EC2 AmazonClientException", e);
        log.severe("Check for orphaned VMs");
        try {
            result = client.runInstances(vs);
        } catch (Exception e2) {
            log.log(Level.SEVERE, "EC2 AmazonClientException", e2);
            throw new WebApplicationException(e, Status.BAD_REQUEST);
        }
    }
    int i = 0;
    for (Instance ec2Instance : result.getReservation().getInstances()) {
        log.info("Create VM[" + i + "] has Instance id " + ec2Instance.getInstanceId());
        items.get(i).setInstanceId(ec2Instance.getInstanceId());
        i++;
    }

    return result.getReservation().getInstances().size();
}

From source file:org.occiware.clouddriver.instance.InstanceOperations.java

License:Apache License

/**
 * Create one ec2 instance with data instance object.
 * @param instance/*  w w w .  j  a  v  a 2 s  .  co m*/
 * @throws InstanceOperationException
 */
public InstanceDO createInstance(InstanceDO instance) throws InstanceOperationException {

    // Check instance data object before creation.
    checkInstanceObjCreation(instance);
    boolean hasPlacement = false;
    String keyPairName = instance.getKeyPairName();
    String imageId = instance.getImage().getImageId();
    String instanceType = instance.getInstanceType();
    Boolean monitoring = instance.isMonitoring();
    String region = instance.getRegionId();
    String zone = instance.getZoneId();
    List<GroupIdentifierDO> securityGroups = instance.getSecurityGroups();
    String name = instance.getName();
    String userData = instance.getUserData();

    RunInstancesRequest rRequest = new RunInstancesRequest(imageId, 1, 1);

    rRequest.setInstanceType(instanceType);
    rRequest.setMonitoring(monitoring);
    if (keyPairName != null) {
        rRequest.setKeyName(keyPairName);
    }
    if (userData != null) {
        rRequest.setUserData(userData);
    }

    Placement placement = new Placement();
    PlacementDO placementDO = instance.getPlacement();

    if (placementDO != null && placementDO.getAvailabilityZone() != null) {
        placement.setAvailabilityZone(placementDO.getAvailabilityZone());
        hasPlacement = true;
    } else {
        if (zone != null) {
            if (!zone.trim().isEmpty()) {
                placement.setAvailabilityZone(region + zone);
                hasPlacement = true;
            }
        }
    }
    if (placementDO != null) {
        String groupName = placementDO.getGroupName();
        String tenancy = placementDO.getTenancy();
        if (groupName != null) {
            placement.setGroupName(groupName);
            hasPlacement = true;
        }
        if (tenancy != null) {
            placement.setTenancy(tenancy);
            hasPlacement = true;
        }
    }
    if (hasPlacement) {
        rRequest.setPlacement(placement);
    }

    if (securityGroups != null && !securityGroups.isEmpty()) {
        List<String> securityGroupNames = new ArrayList<>();
        for (GroupIdentifierDO secGroup : securityGroups) {
            securityGroupNames.add(secGroup.getGroupName());
        }

        rRequest.setSecurityGroups(securityGroupNames);
    }
    RunInstancesResult runInstancesResult;
    List<Instance> instances;
    try {
        runInstancesResult = ec2Client.getClientInstance().runInstances(rRequest);
        instances = runInstancesResult.getReservation().getInstances();

    } catch (AmazonServiceException ase) {
        logger.error("Exception thrown from aws : " + ase.getErrorCode() + " --> " + ase.getErrorMessage());
        throw new InstanceOperationException(ase);
    } catch (AmazonClientException ace) {
        logger.error("Exception thrown from aws : " + ace.getMessage());
        throw new InstanceOperationException(ace);
    }
    InstanceDO instanceDOToReturn = null;
    if (instances != null && !instances.isEmpty()) {

        instanceDOToReturn = InstanceDataFactory.buildInstanceDataFromModel(instances.get(0));
        if (instanceDOToReturn != null && name != null && instanceDOToReturn.getInstanceId() != null) {
            TagsOperation tagOperation = new TagsOperation(ec2Client);
            tagOperation.createTag(instanceDOToReturn.getInstanceId(), "Name", name);
        }

    }

    return instanceDOToReturn;
}