List of usage examples for com.amazonaws.services.autoscaling.model CreateAutoScalingGroupRequest setAutoScalingGroupName
public void setAutoScalingGroupName(String autoScalingGroupName)
The name of the Auto Scaling group.
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 ava 2 s . c om*/ }
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 a 2 s.c om*/ }
From source file:com.pinterest.clusterservice.cm.AwsVmManager.java
License:Apache License
private void createAutoScalingGroup(String clusterName, AwsVmBean bean) throws Exception { try {/*from ww w . j av a2s . co m*/ CreateAutoScalingGroupRequest asgRequest = new CreateAutoScalingGroupRequest(); asgRequest.setAutoScalingGroupName(clusterName); asgRequest.setLaunchConfigurationName(bean.getLaunchConfigId()); asgRequest.setVPCZoneIdentifier(bean.getSubnet()); asgRequest.setMinSize(bean.getMinSize()); asgRequest.setMaxSize(bean.getMaxSize()); aasClient.createAutoScalingGroup(asgRequest); } catch (AmazonClientException e) { LOG.error(String.format("Failed to create auto scaling group %s: %s", clusterName, e.getMessage())); throw new Exception( String.format("Failed to create auto scaling group %s: %s", clusterName, e.getMessage())); } }