List of usage examples for com.amazonaws.services.ec2.model RunInstancesRequest setDisableApiTermination
public void setDisableApiTermination(Boolean disableApiTermination)
If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can.
From source file:com.yosanai.java.aws.console.DefaultAWSConnectionProvider.java
License:Open Source License
@Override public void launchInstance(String amiId, InstanceType instanceType, int instanceCount, String keyName, Collection<String> securityGroups, boolean terminateViaAPI, Map<String, String> tags) throws Exception { if (1 > instanceCount) { throw new Exception("Invalid instanceCount " + instanceCount); }//from ww w . java 2 s . co m if (null == instanceType) { throw new Exception("Invalid instanceType"); } if (StringUtils.isBlank(amiId)) { throw new Exception("Invalid amiId"); } RunInstancesRequest runInstancesRequest = new RunInstancesRequest(amiId, instanceCount, instanceCount); runInstancesRequest.setKeyName(keyName); runInstancesRequest.setSecurityGroups(securityGroups); runInstancesRequest.setDisableApiTermination(!terminateViaAPI); runInstancesRequest.setInstanceType(instanceType.toString()); RunInstancesResult result = getConnection().runInstances(runInstancesRequest); if (null != tags && !tags.isEmpty()) { List<Tag> tagList = new ArrayList<Tag>(); for (String key : tags.keySet()) { tagList.add(new Tag(key, tags.get(key))); } List<String> resources = new ArrayList<String>(); Reservation reservation = result.getReservation(); for (Instance instance : reservation.getInstances()) { resources.add(instance.getInstanceId()); } getConnection().createTags(new CreateTagsRequest(resources, tagList)); } }