List of usage examples for com.amazonaws.services.autoscaling.model CreateLaunchConfigurationRequest setImageId
public void setImageId(String imageId)
The ID of the Amazon Machine Image (AMI) that was assigned during registration.
From source file:com.pinterest.arcee.autoscaling.AwsAutoScaleGroupManager.java
License:Apache License
@Override public String createLaunchConfig(GroupBean request) throws Exception { CreateLaunchConfigurationRequest configurationRequest = new CreateLaunchConfigurationRequest(); configurationRequest.setImageId(request.getImage_id()); configurationRequest.setKeyName("ops"); String configId = genLaunchConfigId(request.getGroup_name()); configurationRequest.setLaunchConfigurationName(configId); configurationRequest.setAssociatePublicIpAddress( request.getAssign_public_ip() != null && request.getAssign_public_ip()); if (request.getSecurity_group() != null) { configurationRequest.setSecurityGroups(Arrays.asList(request.getSecurity_group())); }// www . j a va 2s . c o m configurationRequest.setIamInstanceProfile(request.getIam_role()); configurationRequest.setInstanceType(request.getInstance_type()); InstanceMonitoring monitoring = new InstanceMonitoring(); // DO NOT enable detailed instance monitoring monitoring.setEnabled(false); configurationRequest.setInstanceMonitoring(monitoring); configurationRequest.setUserData(request.getUser_data()); aasClient.createLaunchConfiguration(configurationRequest); return configId; }
From source file:com.pinterest.arcee.autoscaling.AwsAutoScaleGroupManager.java
License:Apache License
@Override public String createLaunchConfig(String groupName, String instanceId, String imageId) throws Exception { if (instanceId == null) { throw new Exception( String.format("Cannot get instance id when creating launch config for %s", groupName)); }//from ww w . j av a 2s .c om String configId = genLaunchConfigId(groupName); CreateLaunchConfigurationRequest configurationRequest = new CreateLaunchConfigurationRequest(); configurationRequest.setInstanceId(instanceId); configurationRequest.setImageId(imageId); configurationRequest.setLaunchConfigurationName(configId); aasClient.createLaunchConfiguration(configurationRequest); return configId; }
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 .ja v a 2s. co 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; }
From source file:com.pinterest.clusterservice.cm.AwsVmManager.java
License:Apache License
private String createLaunchConfig(String clusterName, AwsVmBean awsVmBean) throws Exception { try {// w w w . jav a 2 s . co m CreateLaunchConfigurationRequest configRequest = new CreateLaunchConfigurationRequest(); String launchConfigId = genLaunchConfigId(clusterName); configRequest.setLaunchConfigurationName(launchConfigId); configRequest.setKeyName(AWS_VM_KEYNAME); configRequest.setImageId(awsVmBean.getImage()); configRequest.setInstanceType(awsVmBean.getHostType()); configRequest.setSecurityGroups(Arrays.asList(awsVmBean.getSecurityZone())); configRequest.setAssociatePublicIpAddress(awsVmBean.getAssignPublicIp()); String userData = transformUserDataConfigToString(clusterName, awsVmBean.getUserDataConfigs()); configRequest.setUserData(Base64.encodeBase64String(userData.getBytes())); if (awsVmBean.getRole() == null) { configRequest.setIamInstanceProfile(String.format(AWS_ROLE_TEMPLATE, ownerId, AWS_DEFAULT_ROLE)); } else { configRequest.setIamInstanceProfile(String.format(AWS_ROLE_TEMPLATE, ownerId, awsVmBean.getRole())); } configRequest.setInstanceMonitoring(new InstanceMonitoring().withEnabled(false)); aasClient.createLaunchConfiguration(configRequest); return launchConfigId; } catch (AmazonClientException e) { LOG.error(String.format("Failed to create launch config for %s: %s", clusterName, e.getMessage())); throw new Exception( String.format("Failed to create launch config for %s: %s", clusterName, e.getMessage())); } }
From source file:com.pinterest.clusterservice.cm.AwsVmManager.java
License:Apache License
private String updateLaunchConfig(String clusterName, AwsVmBean oldBean, AwsVmBean newBean) throws Exception { try {/*from w w w .ja v a 2s . c o m*/ CreateLaunchConfigurationRequest configRequest = new CreateLaunchConfigurationRequest(); String launchConfigId = genLaunchConfigId(clusterName); configRequest.setLaunchConfigurationName(launchConfigId); configRequest.setKeyName(AWS_VM_KEYNAME); configRequest.setImageId(newBean.getImage() != null ? newBean.getImage() : oldBean.getImage()); configRequest .setInstanceType(newBean.getHostType() != null ? newBean.getHostType() : oldBean.getHostType()); configRequest.setSecurityGroups(Arrays.asList( newBean.getSecurityZone() != null ? newBean.getSecurityZone() : oldBean.getSecurityZone())); configRequest .setAssociatePublicIpAddress(newBean.getAssignPublicIp() != null ? newBean.getAssignPublicIp() : oldBean.getAssignPublicIp()); String userData; if (newBean.getUserDataConfigs() != null) { userData = transformUserDataConfigToString(clusterName, newBean.getUserDataConfigs()); } else { userData = transformUserDataConfigToString(clusterName, oldBean.getUserDataConfigs()); } configRequest.setUserData(Base64.encodeBase64String(userData.getBytes())); if (newBean.getRole() != null) { configRequest.setIamInstanceProfile(String.format(AWS_ROLE_TEMPLATE, ownerId, newBean.getRole())); } else { configRequest.setIamInstanceProfile(String.format(AWS_ROLE_TEMPLATE, ownerId, oldBean.getRole())); } configRequest.setInstanceMonitoring(new InstanceMonitoring().withEnabled(false)); aasClient.createLaunchConfiguration(configRequest); return launchConfigId; } catch (AmazonClientException e) { LOG.error(String.format("Failed to update launch config for %s: %s", clusterName, e.getMessage())); throw new Exception( String.format("Failed to udpate launch config for %s: %s", clusterName, e.getMessage())); } }