Example usage for com.amazonaws.services.autoscaling.model CreateLaunchConfigurationRequest setLaunchConfigurationName

List of usage examples for com.amazonaws.services.autoscaling.model CreateLaunchConfigurationRequest setLaunchConfigurationName

Introduction

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

Prototype


public void setLaunchConfigurationName(String launchConfigurationName) 

Source Link

Document

The name of the launch configuration.

Usage

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()));
    }//from ww  w. ja v a 2s  .c  om

    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   w w  w  . j  av  a  2s . c o m
    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  .j a v a  2  s. com
    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 . j a  va2s .  c o  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 {// w  w  w  .  ja va 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()));
    }
}