Example usage for com.amazonaws.services.autoscaling.model LaunchConfiguration getUserData

List of usage examples for com.amazonaws.services.autoscaling.model LaunchConfiguration getUserData

Introduction

In this page you can find the example usage for com.amazonaws.services.autoscaling.model LaunchConfiguration getUserData.

Prototype


public String getUserData() 

Source Link

Document

The Base64-encoded user data to make available to the launched EC2 instances.

Usage

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;
}