@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
114 lines (113 loc) • 4.74 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* 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](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-scaling.html) for more information.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const sample = new aws.emr.Cluster("sample", {
* name: "emr-sample-cluster",
* releaseLabel: "emr-5.30.0",
* masterInstanceGroup: {
* instanceType: "m4.large",
* },
* coreInstanceGroup: {
* instanceType: "c4.large",
* },
* });
* const samplepolicy = new aws.emr.ManagedScalingPolicy("samplepolicy", {
* clusterId: sample.id,
* computeLimits: [{
* unitType: "Instances",
* minimumCapacityUnits: 2,
* maximumCapacityUnits: 10,
* maximumOndemandCapacityUnits: 2,
* maximumCoreCapacityUnits: 10,
* }],
* });
* ```
*
* ## Import
*
* Using `pulumi import`, import EMR Managed Scaling Policies using the EMR Cluster identifier. For example:
*
* ```sh
* $ pulumi import aws:emr/managedScalingPolicy:ManagedScalingPolicy example j-123456ABCDEF
* ```
*/
export declare class ManagedScalingPolicy extends pulumi.CustomResource {
/**
* Get an existing ManagedScalingPolicy resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ManagedScalingPolicyState, opts?: pulumi.CustomResourceOptions): ManagedScalingPolicy;
/**
* Returns true if the given object is an instance of ManagedScalingPolicy. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is ManagedScalingPolicy;
/**
* ID of the EMR cluster
*/
readonly clusterId: pulumi.Output<string>;
/**
* Configuration block with compute limit settings. Described below.
*/
readonly computeLimits: pulumi.Output<outputs.emr.ManagedScalingPolicyComputeLimit[]>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
readonly region: pulumi.Output<string>;
/**
* Create a ManagedScalingPolicy resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: ManagedScalingPolicyArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering ManagedScalingPolicy resources.
*/
export interface ManagedScalingPolicyState {
/**
* ID of the EMR cluster
*/
clusterId?: pulumi.Input<string>;
/**
* Configuration block with compute limit settings. Described below.
*/
computeLimits?: pulumi.Input<pulumi.Input<inputs.emr.ManagedScalingPolicyComputeLimit>[]>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a ManagedScalingPolicy resource.
*/
export interface ManagedScalingPolicyArgs {
/**
* ID of the EMR cluster
*/
clusterId: pulumi.Input<string>;
/**
* Configuration block with compute limit settings. Described below.
*/
computeLimits: pulumi.Input<pulumi.Input<inputs.emr.ManagedScalingPolicyComputeLimit>[]>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
}