Example usage for com.amazonaws.services.applicationautoscaling.model RegisterScalableTargetRequest RegisterScalableTargetRequest

List of usage examples for com.amazonaws.services.applicationautoscaling.model RegisterScalableTargetRequest RegisterScalableTargetRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.applicationautoscaling.model RegisterScalableTargetRequest RegisterScalableTargetRequest.

Prototype

RegisterScalableTargetRequest

Source Link

Usage

From source file:com.netflix.spinnaker.clouddriver.ecs.deploy.ops.CreateServerGroupAtomicOperation.java

License:Apache License

private String registerAutoScalingGroup(AmazonCredentials credentials, Service service) {

    AWSApplicationAutoScaling autoScalingClient = getAmazonApplicationAutoScalingClient();
    String assumedRoleArn = inferAssumedRoleArn(credentials);

    RegisterScalableTargetRequest request = new RegisterScalableTargetRequest()
            .withServiceNamespace(ServiceNamespace.Ecs)
            .withScalableDimension(ScalableDimension.EcsServiceDesiredCount)
            .withResourceId(//from w  w  w  .j a v  a 2s. co m
                    String.format("service/%s/%s", description.getEcsClusterName(), service.getServiceName()))
            .withRoleARN(assumedRoleArn).withMinCapacity(description.getCapacity().getMin())
            .withMaxCapacity(description.getCapacity().getMax());

    updateTaskStatus("Creating Amazon Application Auto Scaling Scalable Target Definition...");
    autoScalingClient.registerScalableTarget(request);
    updateTaskStatus("Done creating Amazon Application Auto Scaling Scalable Target Definition.");

    return request.getResourceId();
}

From source file:com.netflix.spinnaker.clouddriver.ecs.deploy.ops.ResizeServiceAtomicOperation.java

License:Apache License

private void resizeAutoScalingGroup(Service service) {
    AWSApplicationAutoScaling autoScalingClient = getAmazonApplicationAutoScalingClient();

    Integer desiredCount = description.getCapacity().getDesired();
    String ecsClusterName = containerInformationService.getClusterName(service.getServiceName(),
            description.getAccount(), description.getRegion());

    RegisterScalableTargetRequest request = new RegisterScalableTargetRequest()
            .withServiceNamespace(ServiceNamespace.Ecs)
            .withScalableDimension(ScalableDimension.EcsServiceDesiredCount)
            .withResourceId(String.format("service/%s/%s", ecsClusterName, service.getServiceName()))
            .withRoleARN(service.getRoleArn()).withMinCapacity(description.getCapacity().getMin())
            .withMaxCapacity(description.getCapacity().getMax());

    updateTaskStatus(String.format("Resizing Scalable Target of %s to %s instances", service.getServiceName(),
            desiredCount));/*from  w ww .  j  a v  a 2  s.c o  m*/
    autoScalingClient.registerScalableTarget(request);
    updateTaskStatus(String.format("Done resizing Scalable Target of %s to %s instances",
            service.getServiceName(), desiredCount));
}