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

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

Introduction

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

Prototype


public void setVPCZoneIdentifier(String vPCZoneIdentifier) 

Source Link

Document

A comma-separated list of subnet IDs for your virtual private cloud (VPC).

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);
    }//w  ww  . j  av a  2s  .  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);
    }/*w w w  . java 2s.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   w  w  w  .j  a  v a  2 s  .  c  o  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()));
    }
}

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 w  w  .ja v  a 2s . co m
}