Example usage for com.amazonaws.services.autoscaling AmazonAutoScaling putScalingPolicy

List of usage examples for com.amazonaws.services.autoscaling AmazonAutoScaling putScalingPolicy

Introduction

In this page you can find the example usage for com.amazonaws.services.autoscaling AmazonAutoScaling putScalingPolicy.

Prototype

PutScalingPolicyResult putScalingPolicy(PutScalingPolicyRequest putScalingPolicyRequest);

Source Link

Document

Creates or updates a scaling policy for an Auto Scaling group.

Usage

From source file:com.netflix.spinnaker.clouddriver.aws.deploy.ops.UpsertTargetTrackingPolicyAtomicOperation.java

License:Apache License

@Override
public UpsertTargetTrackingPolicyResult operate(List priorOutputs) {
    String policyName = description.name;
    if (policyName == null) {
        policyName = description.serverGroupName + "-policy-" + idGenerator.nextId();
    }/*w  ww  .  j a va2s  . c o  m*/
    PutScalingPolicyRequest request = new PutScalingPolicyRequest().withPolicyName(policyName)
            .withPolicyType("TargetTrackingScaling").withAutoScalingGroupName(description.serverGroupName)
            .withEstimatedInstanceWarmup(description.estimatedInstanceWarmup)
            .withTargetTrackingConfiguration(description.targetTrackingConfiguration);

    final AmazonAutoScaling autoScaling = amazonClientProvider.getAutoScaling(description.getCredentials(),
            description.region, true);
    PutScalingPolicyResult scalingPolicyResult = autoScaling.putScalingPolicy(request);

    return new UpsertTargetTrackingPolicyResult(policyName, scalingPolicyResult.getPolicyARN());
}