List of usage examples for com.amazonaws.services.autoscaling.model LaunchConfiguration getUserData
public String getUserData()
The Base64-encoded user data to make available to the launched EC2 instances.
From source file:com.pinterest.arcee.autoscaling.AwsAutoScaleGroupManager.java
License:Apache License
@Override public GroupBean getLaunchConfigByName(String configId) throws Exception { GroupBean groupBean = new GroupBean(); if (configId == null) { return groupBean; }//from w w w .jav a2 s. c o m DescribeLaunchConfigurationsRequest configurationsRequest = new DescribeLaunchConfigurationsRequest(); configurationsRequest.setLaunchConfigurationNames(Arrays.asList(configId)); DescribeLaunchConfigurationsResult configurationsResult = aasClient .describeLaunchConfigurations(configurationsRequest); List<LaunchConfiguration> configs = configurationsResult.getLaunchConfigurations(); if (configs.isEmpty()) { return groupBean; } LaunchConfiguration config = configs.get(0); groupBean.setInstance_type(config.getInstanceType()); groupBean.setImage_id(config.getImageId()); if (!config.getSecurityGroups().isEmpty()) { groupBean.setSecurity_group(config.getSecurityGroups().get(0)); } groupBean.setUser_data(new String(Base64.decodeBase64(config.getUserData()))); groupBean.setIam_role(config.getIamInstanceProfile()); if (config.isAssociatePublicIpAddress() != null) { groupBean.setAssign_public_ip(config.getAssociatePublicIpAddress()); } else { // default value to false groupBean.setAssign_public_ip(false); } return groupBean; }
From source file:com.pinterest.arcee.autoscaling.AwsAutoScalingManager.java
License:Apache License
@Override public AwsVmBean getLaunchConfigInfo(String launchConfigId) throws Exception { DescribeLaunchConfigurationsRequest configRequest = new DescribeLaunchConfigurationsRequest(); configRequest.setLaunchConfigurationNames(Arrays.asList(launchConfigId)); DescribeLaunchConfigurationsResult configResult = aasClient.describeLaunchConfigurations(configRequest); List<LaunchConfiguration> configs = configResult.getLaunchConfigurations(); if (configs.isEmpty()) { LOG.error(String.format("Failed to get cluster: Launch config %s does not exist", launchConfigId)); return null; }//from w w w .j a v a2s . com LaunchConfiguration config = configs.get(0); AwsVmBean awsVmBean = new AwsVmBean(); awsVmBean.setImage(config.getImageId()); awsVmBean.setHostType(config.getInstanceType()); awsVmBean.setSecurityZone(config.getSecurityGroups().get(0)); awsVmBean.setAssignPublicIp(config.getAssociatePublicIpAddress()); awsVmBean.setLaunchConfigId(config.getLaunchConfigurationName()); String roleName = config.getIamInstanceProfile(); if (roleName.contains("/")) { awsVmBean.setRole(roleName.split("/")[1]); } else { awsVmBean.setRole(roleName); } String userData = new String(Base64.decodeBase64(config.getUserData())); awsVmBean.setRawUserDataString(userData); return awsVmBean; }
From source file:com.pinterest.clusterservice.cm.AwsVmManager.java
License:Apache License
@Override public AwsVmBean getCluster(String clusterName) throws Exception { AutoScalingGroup group = getAutoScalingGroup(clusterName); if (group == null) { LOG.warn(String.format("Failed to get cluster %s: auto scaling group %s does not exist", clusterName, clusterName));/* www . jav a 2 s . c om*/ return null; } LaunchConfiguration config = getLaunchConfig(group.getLaunchConfigurationName()); if (config == null) { LOG.warn(String.format("Failed to get cluster: Launch config %s does not exist", group.getLaunchConfigurationName())); return null; } AwsVmBean awsVmBean = new AwsVmBean(); awsVmBean.setClusterName(clusterName); awsVmBean.setImage(config.getImageId()); awsVmBean.setHostType(config.getInstanceType()); awsVmBean.setSecurityZone(config.getSecurityGroups().get(0)); awsVmBean.setAssignPublicIp(config.getAssociatePublicIpAddress()); awsVmBean.setLaunchConfigId(config.getLaunchConfigurationName()); String roleName = config.getIamInstanceProfile(); awsVmBean.setRole(roleName.split("/")[1]); String userData = new String(Base64.decodeBase64(config.getUserData())); awsVmBean.setUserDataConfigs(transformUserDataToConfigMap(clusterName, userData)); awsVmBean.setSubnet(group.getVPCZoneIdentifier()); awsVmBean.setMinSize(group.getMinSize()); awsVmBean.setMaxSize(group.getMaxSize()); return awsVmBean; }