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

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

Introduction

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

Prototype


public void setSecurityGroups(java.util.Collection<String> securityGroups) 

Source Link

Document

A list that contains the security groups to assign to the instances in the Auto Scaling group.

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   w  ww .  j  ava 2  s . com

    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.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 www .j ava2  s  . c om
    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 {//from   w w  w. ja  va  2 s  . 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 {/*from   w  w w  .  ja v a  2s .  c om*/
        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()));
    }
}