Example usage for com.amazonaws.services.autoscaling.model CreateAutoScalingGroupRequest setTerminationPolicies

List of usage examples for com.amazonaws.services.autoscaling.model CreateAutoScalingGroupRequest setTerminationPolicies

Introduction

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

Prototype


public void setTerminationPolicies(java.util.Collection<String> terminationPolicies) 

Source Link

Document

One or more termination policies used to select the instance to terminate.

Usage

From source file:com.pinterest.arcee.autoscaling.AwsAutoScaleGroupManager.java

License:Apache License

@Override
public void createAutoScalingGroup(String ConfigId, AutoScalingRequestBean request, String subnets)
        throws Exception {
    CreateAutoScalingGroupRequest autoScalingGroupRequest = new CreateAutoScalingGroupRequest();
    autoScalingGroupRequest.setAutoScalingGroupName(request.getGroupName());
    autoScalingGroupRequest.setVPCZoneIdentifier(subnets);
    autoScalingGroupRequest.withMinSize(request.getMinSize()).withMaxSize(request.getMaxSize());
    autoScalingGroupRequest.setLaunchConfigurationName(ConfigId);
    autoScalingGroupRequest.setTerminationPolicies(Arrays.asList(request.getTerminationPolicy()));
    aasClient.createAutoScalingGroup(autoScalingGroupRequest);

    SuspendProcessesRequest suspendProcessesRequest = new SuspendProcessesRequest();
    suspendProcessesRequest.setScalingProcesses(Arrays.asList(PROCESS_AZREBALANCE));
    suspendProcessesRequest.setAutoScalingGroupName(request.getGroupName());
    aasClient.suspendProcesses(suspendProcessesRequest);

    // setup notificaiton
    if (!StringUtils.isEmpty(SNS_TOPIC_ARN)) {
        PutNotificationConfigurationRequest notifRequest = new PutNotificationConfigurationRequest();
        notifRequest.setAutoScalingGroupName(request.getGroupName());
        notifRequest.setTopicARN(SNS_TOPIC_ARN);
        notifRequest.setNotificationTypes(Arrays.asList(NOTIFICATION_TYPE));
        aasClient.putNotificationConfiguration(notifRequest);
    }//from ww w  . ja va 2  s.c o m
}

From source file:com.pinterest.arcee.autoscaling.AwsAutoScalingManager.java

License:Apache License

@Override
public void createAutoScalingGroup(String groupName, AwsVmBean request) throws Exception {
    CreateAutoScalingGroupRequest autoScalingGroupRequest = new CreateAutoScalingGroupRequest();
    autoScalingGroupRequest.setAutoScalingGroupName(groupName);
    autoScalingGroupRequest.setVPCZoneIdentifier(request.getSubnet());
    autoScalingGroupRequest.withMinSize(request.getMinSize()).withMaxSize(request.getMaxSize());
    autoScalingGroupRequest.setLaunchConfigurationName(request.getLaunchConfigId());
    autoScalingGroupRequest.setTerminationPolicies(Arrays.asList(request.getTerminationPolicy()));
    aasClient.createAutoScalingGroup(autoScalingGroupRequest);

    LOG.info(String.format("Creating auto scaling group: %s, with min size: %d, max size: %d", groupName,
            request.getMinSize(), request.getMaxSize()));
    disableAutoScalingActions(groupName, Collections.singletonList(PROCESS_AZREBALANCE));

    // setup notificaiton
    if (!StringUtils.isEmpty(snsArn)) {
        PutNotificationConfigurationRequest notifRequest = new PutNotificationConfigurationRequest();
        notifRequest.setAutoScalingGroupName(groupName);
        notifRequest.setTopicARN(snsArn);
        notifRequest.setNotificationTypes(Arrays.asList(NOTIFICATION_TYPE));
        aasClient.putNotificationConfiguration(notifRequest);
    }//from   w  w w . j a v  a2 s .c  o  m
}