ManagedScalingPolicyArgs

data class ManagedScalingPolicyArgs(val clusterId: Output<String>? = null, val computeLimits: Output<List<ManagedScalingPolicyComputeLimitArgs>>? = null) : ConvertibleToJava<ManagedScalingPolicyArgs>

Provides a Managed Scaling policy for EMR Cluster. With Amazon EMR versions 5.30.0 and later (except for Amazon EMR 6.0.0), you can enable EMR managed scaling to automatically increase or decrease the number of instances or units in your cluster based on workload. See Using EMR Managed Scaling in Amazon EMR for more information.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.emr.Cluster;
import com.pulumi.aws.emr.ClusterArgs;
import com.pulumi.aws.emr.inputs.ClusterMasterInstanceGroupArgs;
import com.pulumi.aws.emr.inputs.ClusterCoreInstanceGroupArgs;
import com.pulumi.aws.emr.ManagedScalingPolicy;
import com.pulumi.aws.emr.ManagedScalingPolicyArgs;
import com.pulumi.aws.emr.inputs.ManagedScalingPolicyComputeLimitArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var sample = new Cluster("sample", ClusterArgs.builder()
.releaseLabel("emr-5.30.0")
.masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()
.instanceType("m4.large")
.build())
.coreInstanceGroup(ClusterCoreInstanceGroupArgs.builder()
.instanceType("c4.large")
.build())
.build());
var samplepolicy = new ManagedScalingPolicy("samplepolicy", ManagedScalingPolicyArgs.builder()
.clusterId(sample.id())
.computeLimits(ManagedScalingPolicyComputeLimitArgs.builder()
.unitType("Instances")
.minimumCapacityUnits(2)
.maximumCapacityUnits(10)
.maximumOndemandCapacityUnits(2)
.maximumCoreCapacityUnits(10)
.build())
.build());
}
}

Import

EMR Managed Scaling Policies can be imported via the EMR Cluster identifier, e.g., console

$ pulumi import aws:emr/managedScalingPolicy:ManagedScalingPolicy example j-123456ABCDEF

Constructors

Link copied to clipboard
constructor(clusterId: Output<String>? = null, computeLimits: Output<List<ManagedScalingPolicyComputeLimitArgs>>? = null)

Properties

Link copied to clipboard
val clusterId: Output<String>? = null

ID of the EMR cluster

Link copied to clipboard

Configuration block with compute limit settings. Described below.

Functions

Link copied to clipboard
open override fun toJava(): ManagedScalingPolicyArgs