run.withUserData(new String(Base64.encodeBase64(cloudConfig.getBytes()))); RunInstancesResult runRes = ec2.runInstances(run); ArrayList<String> ids = new ArrayList<String>(); for( Instance instance : runRes.getReservation().getInstances() )
); EasyMock.expect(amazonEC2Client.runInstances(EasyMock.anyObject(RunInstancesRequest.class))).andReturn( runInstancesResult );
runInstancesResult = client.runInstances( runInstancesRequest );
runInstancesResult = client.runInstances( runInstancesRequest );
throw new RuntimeException("The client is not initialized"); runInstancesResult = client.runInstances(request); } catch (AmazonServiceException e) {
private Map<String, Instance> launchEC2Instances(final String instanceType, final RunInstancesRequestBuilder runInstancesRequestBuilder, final boolean createIfNonExistent) { final Map<String, Instance> instances = this.findExistingInstances(instanceType); // If instances is empty, that means we did not find any to reuse so let's create them if (instances.isEmpty() && createIfNonExistent) { final RunInstancesRequest request = runInstancesRequestBuilder.build(); System.out.println(String.format( "Did not find any existing instances, starting new ones with security group: '%s' and subnet: '%s'", request.getSecurityGroups().get(0), request.getSubnetId() == null ? "" : request.getSubnetId())); final RunInstancesResult runInstancesResult = this.ec2client.runInstances(request); for (final Instance instance : runInstancesResult.getReservation().getInstances()) { System.out.println(instance.getInstanceId() + " launched"); instances.put(instance.getInstanceId(), instance); } // Tag instances on creation. Adding the tag enables us to ensure we are terminating a load generator instance. this.ec2client.createTags(new CreateTagsRequest() .withResources(instances.keySet()) .withTags(this.instanceTag)); final DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest().withInstanceIds(instances.keySet()); this.startAllInstances(instances, describeInstancesRequest); } return instances; }
RunInstancesRequest rir = getBigRunInstancesRequest(); RunInstancesResult response=ec2Client.runInstances(rir); Reservation r=response.getReservation(); List<Instance> instances=r.getInstances();
RunInstancesResult result = ec2Client.runInstances(runInstancesRequest); Reservation reservation = result.getReservation(); return reservation.getInstances();
protected String runInstance() { RunInstancesRequest run = new RunInstancesRequest(amiId, 1, 1); run.withInstanceInitiatedShutdownBehavior("terminate"); if (amiInstanceType != null) { run.withInstanceType(amiInstanceType); } if (amiSecurityGroup != null) { run.withSecurityGroups(amiSecurityGroup); } if (amiKeyName != null) { run.withKeyName(amiKeyName); } if (amiAvailabilityZone != null) { run.withPlacement(new Placement(amiAvailabilityZone)); } RunInstancesResult result = ec2.runInstances(run); return result.getReservation().getInstances().get(0).getInstanceId(); }
protected String runInstance() { RunInstancesRequest run = new RunInstancesRequest(amiId, 1, 1); run.withInstanceInitiatedShutdownBehavior("terminate"); if (amiInstanceType != null) { run.withInstanceType(amiInstanceType); } if (amiSecurityGroup != null) { run.withSecurityGroups(amiSecurityGroup); } if (amiKeyName != null) { run.withKeyName(amiKeyName); } if (amiAvailabilityZone != null) { run.withPlacement(new Placement(amiAvailabilityZone)); } RunInstancesResult result = ec2.runInstances(run); return result.getReservation().getInstances().get(0).getInstanceId(); }
protected Instance issueRunInstanceRequest(LaunchInstanceContext context) { PublicKey publicKey = context.getPublicKey(); if (!isExistingKey(publicKey.getName())) { logger.info("Importing key [{}]", publicKey.getName()); importKey(publicKey.getName(), publicKey.getValue()); } List<String> securityGroupNames = getSecurityGroupNames(); for (KualiSecurityGroup securityGroup : context.getSecurityGroups()) { if (!securityGroupNames.contains(securityGroup.getName())) { logger.info("Creating security group {}", securityGroup.getName()); createSecurityGroup(securityGroup); } if (context.isOverrideExistingSecurityGroupPermissions()) { SetPermissionsResult result = setPermissions(securityGroup.getName(), securityGroup.getPermissions()); logPermissionChanges(securityGroup, result.getDeletes(), "deleted"); logPermissionChanges(securityGroup, result.getAdds(), "added"); } } RunInstancesRequest request = getRunInstanceRequest(context); RunInstancesResult result = client.runInstances(request); Reservation r = result.getReservation(); List<Instance> instances = r.getInstances(); checkState(instances.size() == 1, "Expected exactly 1 instance but there were %s instead", instances.size()); return instances.get(0); }
private List<Instance> startInstances(AmazonEC2Client ec2, String AMI_ID, String INS_TYPE, ExecutionContext executionContext) throws AmazonServiceException { // start only 1 instance RunInstancesRequest request = new RunInstancesRequest(AMI_ID, 1, 1); request.setKeyName(KEY_PAIR_NAME); request.setInstanceType(INS_TYPE); RunInstancesResult result = ec2.runInstances(request); List<Instance> instances = result.getReservation().getInstances(); while (!allInstancesStateEqual(instances, InstanceStateName.Running)) { // instance status should not be Terminated if (anyInstancesStateEqual(instances, InstanceStateName.Terminated)) { throw new AmazonClientException("Some Instance is terminated before running a job"); } // notify the status for (Instance ins: instances) { // TODO //executionContext.getNotificationService().info("EC2 Instance " +ins.getInstanceId() + " is " + ins.getState().getName().toString()); } try { Thread.sleep(SLEEP_TIME_SECOND * 1000l); } catch (Exception ex) { // no op } DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest(); describeInstancesRequest.setInstanceIds(getInstanceIDs(instances)); DescribeInstancesResult describeInstancesResult = ec2.describeInstances(describeInstancesRequest); instances = describeInstancesResult.getReservations().get(0).getInstances(); } log.info("All instances is running"); return instances; }
RunInstancesResult result = ec2Client.runInstances(request);