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

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

Introduction

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

Prototype


public void setImageId(String imageId) 

Source Link

Document

The ID of the Amazon Machine Image (AMI) that was assigned during registration.

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()));
    }// 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()));
    }
}