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

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

Introduction

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

Prototype


public String getGroupName() 

Source Link

Document

The name of the placement group the instance is in.

Usage

From source file:org.excalibur.service.aws.ec2.EC2.java

License:Open Source License

public void createPlacementGroupsIfDoNotExist(org.excalibur.core.cloud.api.Placement... groups) {
    if (groups != null) {
        ListeningExecutorService executor = newListeningDynamicScalingThreadPool(
                String.format("create-groups-%s", credentials_.getRegion().getName()));

        List<Callable<Void>> tasks = newArrayList();

        for (final org.excalibur.core.cloud.api.Placement placement : groups) {
            tasks.add(new Callable<Void>() {
                @Override//from ww  w . j av a 2 s. c  o  m
                public Void call() throws Exception {
                    if (placement != null && !isNullOrEmpty(placement.getGroupName())) {
                        try {
                            new AmazonEC2Client(awsCredentials_)
                                    .describePlacementGroups(new DescribePlacementGroupsRequest()
                                            .withGroupNames(placement.getGroupName()));
                        } catch (AmazonClientException exception) {
                            LOG.debug("The group {} is unknown! Provider message: {}", placement.getGroupName(),
                                    exception.getMessage());
                            ec2_.createPlacementGroup(
                                    new CreatePlacementGroupRequest().withGroupName(placement.getGroupName())
                                            .withStrategy(PlacementStrategy.Cluster));
                        }
                    }
                    return null;
                }
            });
        }

        invokeAllAndShutdownWhenFinish(tasks, executor);
    }
}

From source file:org.occiware.clouddriver.util.InstanceDataFactory.java

License:Apache License

/**
 *
 * @param instanceDO//from   w  w w  .  j av  a 2 s  . c om
 * @param placement
 * @return
 */
private static PlacementDO buildPlacementDO(InstanceDO instanceDO, Placement placement) {
    PlacementDO placementDO = new PlacementDO();
    placementDO.setAffinity(placement.getAffinity());
    String availabilityZone = placement.getAvailabilityZone();
    String region;
    String zone;
    if (availabilityZone != null) {
        placementDO.setAvailabilityZone(availabilityZone);
        region = availabilityZone.substring(0, availabilityZone.length() - 1);
        zone = availabilityZone.substring(availabilityZone.length() - 1, 1);

        instanceDO.setZoneId(zone);
        instanceDO.setRegionId(region);
    }

    placementDO.setGroupName(placement.getGroupName());

    placementDO.setHostId(placement.getHostId());
    placementDO.setTenancy(placement.getTenancy());
    return placementDO;
}

From source file:org.xmlsh.aws.util.AWSEC2Command.java

License:BSD License

public void writePlacement(Placement placement) throws XMLStreamException {
    startElement("placement");
    attribute("availability-zone", placement.getAvailabilityZone());
    attribute("group-name", placement.getGroupName());
    attribute("tenancy", placement.getTenancy());
    endElement();// ww  w . j  av a  2s.com
}