List of usage examples for com.amazonaws.services.autoscaling.model CreateLaunchConfigurationRequest setSpotPrice
public void setSpotPrice(String spotPrice)
The maximum hourly price to be paid for any Spot Instance launched to fulfill the request.
From source file:com.pinterest.arcee.autoscaling.AwsAutoScalingManager.java
License:Apache License
private String createLaunchConfigInternal(String groupName, AwsVmBean request, String bidPrice) throws Exception { String launchConfigId = genLaunchConfigId(groupName); CreateLaunchConfigurationRequest configurationRequest = new CreateLaunchConfigurationRequest(); configurationRequest.setImageId(request.getImage()); configurationRequest.setKeyName(vmKeyName); configurationRequest.setLaunchConfigurationName(launchConfigId); configurationRequest.setAssociatePublicIpAddress(request.getAssignPublicIp()); if (request.getSecurityZone() != null) { configurationRequest.setSecurityGroups(Arrays.asList(request.getSecurityZone())); }/*from w w w . j av a 2 s . c o m*/ if (bidPrice != null) { configurationRequest.setSpotPrice(bidPrice); } if (request.getRole() == null) { configurationRequest.setIamInstanceProfile(String.format(roleTemplate, ownerId, defaultRole)); } else { configurationRequest.setIamInstanceProfile(String.format(roleTemplate, ownerId, request.getRole())); } configurationRequest.setInstanceType(request.getHostType()); InstanceMonitoring monitoring = new InstanceMonitoring(); // DO NOT enable detailed instance monitoring monitoring.setEnabled(false); configurationRequest.setInstanceMonitoring(monitoring); if (StringUtils.isEmpty(request.getRawUserDataString())) { String userData = transformUserDataConfigToString(groupName, request.getUserDataConfigs()); configurationRequest.setUserData(Base64.encodeBase64String(userData.getBytes())); } else { configurationRequest.setUserData(Base64.encodeBase64String(request.getRawUserDataString().getBytes())); } aasClient.createLaunchConfiguration(configurationRequest); return launchConfigId; }