Example usage for com.amazonaws.services.autoscaling.model SuspendProcessesRequest setScalingProcesses

List of usage examples for com.amazonaws.services.autoscaling.model SuspendProcessesRequest setScalingProcesses

Introduction

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

Prototype


public void setScalingProcesses(java.util.Collection<String> scalingProcesses) 

Source Link

Document

One or more of the following processes.

Usage

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

License:Apache License

@Override
public void disableAutoScalingGroup(String groupName) throws Exception {
    SuspendProcessesRequest request = new SuspendProcessesRequest();
    // We only disable alarm notification and scheduled actions
    request.setScalingProcesses(Arrays.asList(PROCESS_ALARMNOTIFICATION, PROCESS_SCHEDULEDACTIONS,
            PROCESS_LAUNCH, PROCESS_TERMINATE, PROCESS_REPLACEUNHEALTHY));
    request.setAutoScalingGroupName(groupName);
    aasClient.suspendProcesses(request);
}

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   w w  w  .  j  av a  2  s.c om
}

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

License:Apache License

@Override
public void disableScalingDownEvent(String groupName) throws Exception {
    SuspendProcessesRequest request = new SuspendProcessesRequest();
    request.setScalingProcesses(Arrays.asList(PROCESS_TERMINATE));
    request.setAutoScalingGroupName(groupName);
    aasClient.suspendProcesses(request);
}

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

License:Apache License

@Override
public void disableAutoScalingActions(String groupName, Collection<String> processes) throws Exception {
    SuspendProcessesRequest request = new SuspendProcessesRequest();
    request.setScalingProcesses(processes);
    request.setAutoScalingGroupName(groupName);
    aasClient.suspendProcesses(request);
}

From source file:com.pinterest.clusterservice.cm.AwsVmManager.java

License:Apache License

@Override
public void createCluster(String clusterName, AwsVmBean bean) throws Exception {
    bean.setLaunchConfigId(createLaunchConfig(clusterName, bean));
    createAutoScalingGroup(clusterName, bean);

    SuspendProcessesRequest suspendProcessesRequest = new SuspendProcessesRequest();
    suspendProcessesRequest.setAutoScalingGroupName(clusterName);
    suspendProcessesRequest.setScalingProcesses(Arrays.asList(PROCESS_AZREBALANCE));

    if (!StringUtils.isEmpty(snsArn)) {
        PutNotificationConfigurationRequest notifRequest = new PutNotificationConfigurationRequest();
        notifRequest.setAutoScalingGroupName(clusterName);
        notifRequest.setTopicARN(snsArn);
        notifRequest.setNotificationTypes(Arrays.asList(NOTIFICATION_TYPE));
        aasClient.putNotificationConfiguration(notifRequest);
    }/*ww w  . j  a  v a2s  .  c  om*/
}