List of usage examples for com.amazonaws.services.ec2.model Placement setGroupName
public void setGroupName(String groupName)
The name of the placement group the instance is in.
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; }