List of usage examples for com.amazonaws.services.ec2.model RunInstancesRequest withMonitoring
public RunInstancesRequest withMonitoring(Boolean monitoring)
Specifies whether detailed monitoring is enabled for the instance.
From source file:com.kpbird.aws.Main.java
private void createEC2OnDemandInstance() { try {//w ww. j a va 2 s .co m // request for new on demand instance RunInstancesRequest rir = new RunInstancesRequest(); rir.withImageId(imageId); rir.withInstanceType(instanceType); rir.withMinCount(1); rir.withMaxCount(1); rir.withKeyName(keyName); rir.withMonitoring(true); rir.withSecurityGroups(groupName); RunInstancesResult riresult = ec2client.runInstances(rir); log.Info(riresult.getReservation().getReservationId()); /// Find newly created instance id String instanceId = null; DescribeInstancesResult result = ec2client.describeInstances(); Iterator<Reservation> i = result.getReservations().iterator(); while (i.hasNext()) { Reservation r = i.next(); List<Instance> instances = r.getInstances(); for (Instance ii : instances) { log.Info(ii.getImageId() + "\t" + ii.getInstanceId() + "\t" + ii.getState().getName() + "\t" + ii.getPrivateDnsName()); if (ii.getState().getName().equals("pending")) { instanceId = ii.getInstanceId(); } } } log.Info("New Instance ID :" + instanceId); /// Waiting for Instance Running//// boolean isWaiting = true; while (isWaiting) { log.Info("*** Waiting ***"); Thread.sleep(1000); DescribeInstancesResult r = ec2client.describeInstances(); Iterator<Reservation> ir = r.getReservations().iterator(); while (ir.hasNext()) { Reservation rr = ir.next(); List<Instance> instances = rr.getInstances(); for (Instance ii : instances) { log.Info(ii.getImageId() + "\t" + ii.getInstanceId() + "\t" + ii.getState().getName() + "\t" + ii.getPrivateDnsName()); if (ii.getState().getName().equals("running") && ii.getInstanceId().equals(instanceId)) { log.Info(ii.getPublicDnsName()); isWaiting = false; } } } } /// Creating Tag for New Instance //// log.Info("Creating Tags for New Instance"); CreateTagsRequest crt = new CreateTagsRequest(); ArrayList<Tag> arrTag = new ArrayList<Tag>(); arrTag.add(new Tag().withKey("Name").withValue(instanceName)); crt.setTags(arrTag); ArrayList<String> arrInstances = new ArrayList<String>(); arrInstances.add(instanceId); crt.setResources(arrInstances); ec2client.createTags(crt); } catch (Exception e) { e.printStackTrace(); System.exit(0); } }