List of usage examples for com.amazonaws.services.autoscaling.model CreateAutoScalingGroupRequest setLaunchConfigurationName
public void setLaunchConfigurationName(String launchConfigurationName)
The name of the launch configuration.
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); }/*w ww. j a va2 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); }//www. ja v a2 s. c o m }
From source file:com.pinterest.clusterservice.cm.AwsVmManager.java
License:Apache License
private void createAutoScalingGroup(String clusterName, AwsVmBean bean) throws Exception { try {//from w w w . ja v a2 s . com 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())); } }
From source file:web.component.impl.aws.AWSAutoScalingImpl.java
@Override public void createAutoScalingGroup(String autoScalingGroupName, int maxSize, int minSize, String instanceId, String launchConfigurationName, List<String> zoneNames, String vpcZoneIdentifier, int desiredCapacity) { CreateAutoScalingGroupRequest request = new CreateAutoScalingGroupRequest() .withAutoScalingGroupName(autoScalingGroupName).withMaxSize(maxSize).withMinSize(minSize); request.setDesiredCapacity(desiredCapacity); if (instanceId != null && !instanceId.isEmpty()) request.setInstanceId(instanceId); if (launchConfigurationName != null && !launchConfigurationName.isEmpty()) request.setLaunchConfigurationName(launchConfigurationName); if (zoneNames != null && !zoneNames.isEmpty()) request.setAvailabilityZones(zoneNames); if (vpcZoneIdentifier != null && !vpcZoneIdentifier.isEmpty()) request.setVPCZoneIdentifier(vpcZoneIdentifier); createAutoScalingGroup(request);// w ww. ja v a2 s.co m }