spotinst.aws.MrScalar
Explore with Pulumi AI
Provides a Spotinst AWS MrScaler resource.
Example Usage
New Strategy
Coming soon!
Coming soon!
Coming soon!
Coming soon!
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.spotinst.aws.MrScalar;
import com.pulumi.spotinst.aws.MrScalarArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarMasterEbsBlockDeviceArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarCoreEbsBlockDeviceArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarTaskEbsBlockDeviceArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarTagArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarTaskScalingDownPolicyArgs;
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_MrScaler_01 = new MrScalar("sample-MrScaler-01", MrScalarArgs.builder()
            .name("sample-MrScaler-01")
            .description("Testing MrScaler creation")
            .region("us-west-2")
            .strategy("clone")
            .clusterId("j-123456789")
            .exposeClusterId(true)
            .availabilityZones("us-west-2a:subnet-12345678")
            .masterInstanceTypes("c3.xlarge")
            .masterLifecycle("SPOT")
            .masterEbsOptimized(true)
            .masterTarget(1)
            .masterEbsBlockDevices(MrScalarMasterEbsBlockDeviceArgs.builder()
                .volumesPerInstance(1)
                .volumeType("gp2")
                .sizeInGb(30)
                .build())
            .coreInstanceTypes(            
                "c3.xlarge",
                "c4.xlarge")
            .coreMinSize(1)
            .coreMaxSize(1)
            .coreDesiredCapacity(1)
            .coreLifecycle("ON_DEMAND")
            .coreEbsOptimized(false)
            .coreUnit("instance")
            .coreEbsBlockDevices(MrScalarCoreEbsBlockDeviceArgs.builder()
                .volumesPerInstance(2)
                .volumeType("gp2")
                .sizeInGb(40)
                .build())
            .taskInstanceTypes(            
                "c3.xlarge",
                "c4.xlarge")
            .taskMinSize(0)
            .taskMaxSize(30)
            .taskDesiredCapacity(1)
            .taskLifecycle("SPOT")
            .taskEbsOptimized(false)
            .taskUnit("instance")
            .taskEbsBlockDevices(MrScalarTaskEbsBlockDeviceArgs.builder()
                .volumesPerInstance(2)
                .volumeType("gp2")
                .sizeInGb(40)
                .build())
            .tags(MrScalarTagArgs.builder()
                .key("Creator")
                .value("Pulumi")
                .build())
            .taskScalingDownPolicies(MrScalarTaskScalingDownPolicyArgs.builder()
                .policyName("policy-name")
                .metricName("CPUUtilization")
                .namespace("AWS/EC2")
                .statistic("average")
                .unit("")
                .threshold(10)
                .adjustment("1")
                .cooldown(60)
                .dimensions(Map.ofEntries(
                    Map.entry("name", "name-1"),
                    Map.entry("value", "value-1")
                ))
                .operator("gt")
                .evaluationPeriods(10)
                .period(60)
                .actionType("")
                .minimum(0)
                .maximum(10)
                .target(5)
                .maxTargetCapacity(1)
                .build())
            .build());
        ctx.export("mrscaler-name", sample_MrScaler_01.name());
        ctx.export("mrscaler-created-cluster-id", sample_MrScaler_01.outputClusterId());
    }
}
resources:
  sample-MrScaler-01:
    type: spotinst:aws:MrScalar
    properties:
      name: sample-MrScaler-01
      description: Testing MrScaler creation
      region: us-west-2
      strategy: clone
      clusterId: j-123456789
      exposeClusterId: true
      availabilityZones:
        - us-west-2a:subnet-12345678
      masterInstanceTypes:
        - c3.xlarge
      masterLifecycle: SPOT
      masterEbsOptimized: true
      masterTarget: 1
      masterEbsBlockDevices:
        - volumesPerInstance: 1
          volumeType: gp2
          sizeInGb: 30
      coreInstanceTypes:
        - c3.xlarge
        - c4.xlarge
      coreMinSize: 1
      coreMaxSize: 1
      coreDesiredCapacity: 1
      coreLifecycle: ON_DEMAND
      coreEbsOptimized: false
      coreUnit: instance
      coreEbsBlockDevices:
        - volumesPerInstance: 2
          volumeType: gp2
          sizeInGb: 40
      taskInstanceTypes:
        - c3.xlarge
        - c4.xlarge
      taskMinSize: 0
      taskMaxSize: 30
      taskDesiredCapacity: 1
      taskLifecycle: SPOT
      taskEbsOptimized: false
      taskUnit: instance
      taskEbsBlockDevices:
        - volumesPerInstance: 2
          volumeType: gp2
          sizeInGb: 40
      tags:
        - key: Creator
          value: Pulumi
      taskScalingDownPolicies:
        - policyName: policy-name
          metricName: CPUUtilization
          namespace: AWS/EC2
          statistic: average
          unit: ""
          threshold: 10
          adjustment: '1'
          cooldown: 60
          dimensions:
            - name: name-1
              value: value-1
          operator: gt
          evaluationPeriods: 10
          period: 60
          actionType: ""
          minimum: 0
          maximum: 10
          target: 5
          maxTargetCapacity: 1
outputs:
  # Create a Mr Scaler with Clone strategy and Task scaling
  mrscaler-name: ${["sample-MrScaler-01"].name}
  mrscaler-created-cluster-id: ${["sample-MrScaler-01"].outputClusterId}
Wrap Strategy
import * as pulumi from "@pulumi/pulumi";
import * as spotinst from "@pulumi/spotinst";
// Create a Mr Scaler with Wrap strategy
const example_scaler_2 = new spotinst.aws.MrScalar("example-scaler-2", {
    name: "spotinst-mr-scaler-2",
    description: "created by Pulumi",
    region: "us-west-2",
    strategy: "wrap",
    clusterId: "j-27UVDEHXL4OQM",
    taskInstanceTypes: [
        "c3.xlarge",
        "c4.xlarge",
    ],
    taskDesiredCapacity: 2,
    taskMinSize: 0,
    taskMaxSize: 4,
    taskLifecycle: "SPOT",
    taskUnit: "instance",
    taskEbsBlockDevices: [{
        volumesPerInstance: 1,
        volumeType: "gp2",
        sizeInGb: 20,
    }],
});
import pulumi
import pulumi_spotinst as spotinst
# Create a Mr Scaler with Wrap strategy
example_scaler_2 = spotinst.aws.MrScalar("example-scaler-2",
    name="spotinst-mr-scaler-2",
    description="created by Pulumi",
    region="us-west-2",
    strategy="wrap",
    cluster_id="j-27UVDEHXL4OQM",
    task_instance_types=[
        "c3.xlarge",
        "c4.xlarge",
    ],
    task_desired_capacity=2,
    task_min_size=0,
    task_max_size=4,
    task_lifecycle="SPOT",
    task_unit="instance",
    task_ebs_block_devices=[{
        "volumes_per_instance": 1,
        "volume_type": "gp2",
        "size_in_gb": 20,
    }])
package main
import (
	"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/aws"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Create a Mr Scaler with Wrap strategy
		_, err := aws.NewMrScalar(ctx, "example-scaler-2", &aws.MrScalarArgs{
			Name:        pulumi.String("spotinst-mr-scaler-2"),
			Description: pulumi.String("created by Pulumi"),
			Region:      pulumi.String("us-west-2"),
			Strategy:    pulumi.String("wrap"),
			ClusterId:   pulumi.String("j-27UVDEHXL4OQM"),
			TaskInstanceTypes: pulumi.StringArray{
				pulumi.String("c3.xlarge"),
				pulumi.String("c4.xlarge"),
			},
			TaskDesiredCapacity: pulumi.Int(2),
			TaskMinSize:         pulumi.Int(0),
			TaskMaxSize:         pulumi.Int(4),
			TaskLifecycle:       pulumi.String("SPOT"),
			TaskUnit:            pulumi.String("instance"),
			TaskEbsBlockDevices: aws.MrScalarTaskEbsBlockDeviceArray{
				&aws.MrScalarTaskEbsBlockDeviceArgs{
					VolumesPerInstance: pulumi.Int(1),
					VolumeType:         pulumi.String("gp2"),
					SizeInGb:           pulumi.Int(20),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using SpotInst = Pulumi.SpotInst;
return await Deployment.RunAsync(() => 
{
    // Create a Mr Scaler with Wrap strategy
    var example_scaler_2 = new SpotInst.Aws.MrScalar("example-scaler-2", new()
    {
        Name = "spotinst-mr-scaler-2",
        Description = "created by Pulumi",
        Region = "us-west-2",
        Strategy = "wrap",
        ClusterId = "j-27UVDEHXL4OQM",
        TaskInstanceTypes = new[]
        {
            "c3.xlarge",
            "c4.xlarge",
        },
        TaskDesiredCapacity = 2,
        TaskMinSize = 0,
        TaskMaxSize = 4,
        TaskLifecycle = "SPOT",
        TaskUnit = "instance",
        TaskEbsBlockDevices = new[]
        {
            new SpotInst.Aws.Inputs.MrScalarTaskEbsBlockDeviceArgs
            {
                VolumesPerInstance = 1,
                VolumeType = "gp2",
                SizeInGb = 20,
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.spotinst.aws.MrScalar;
import com.pulumi.spotinst.aws.MrScalarArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarTaskEbsBlockDeviceArgs;
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) {
        // Create a Mr Scaler with Wrap strategy
        var example_scaler_2 = new MrScalar("example-scaler-2", MrScalarArgs.builder()
            .name("spotinst-mr-scaler-2")
            .description("created by Pulumi")
            .region("us-west-2")
            .strategy("wrap")
            .clusterId("j-27UVDEHXL4OQM")
            .taskInstanceTypes(            
                "c3.xlarge",
                "c4.xlarge")
            .taskDesiredCapacity(2)
            .taskMinSize(0)
            .taskMaxSize(4)
            .taskLifecycle("SPOT")
            .taskUnit("instance")
            .taskEbsBlockDevices(MrScalarTaskEbsBlockDeviceArgs.builder()
                .volumesPerInstance(1)
                .volumeType("gp2")
                .sizeInGb(20)
                .build())
            .build());
    }
}
resources:
  # Create a Mr Scaler with Wrap strategy
  example-scaler-2:
    type: spotinst:aws:MrScalar
    properties:
      name: spotinst-mr-scaler-2
      description: created by Pulumi
      region: us-west-2
      strategy: wrap
      clusterId: j-27UVDEHXL4OQM
      taskInstanceTypes:
        - c3.xlarge
        - c4.xlarge
      taskDesiredCapacity: 2
      taskMinSize: 0
      taskMaxSize: 4
      taskLifecycle: SPOT
      taskUnit: instance
      taskEbsBlockDevices:
        - volumesPerInstance: 1
          volumeType: gp2
          sizeInGb: 20
New Strategy
import * as pulumi from "@pulumi/pulumi";
import * as spotinst from "@pulumi/spotinst";
// Create a Mr Scaler with New strategy
const sample_MrScaler_01 = new spotinst.aws.MrScalar("sample-MrScaler-01", {
    name: "sample-MrScaler-01",
    description: "Testing MrScaler creation",
    region: "us-west-2",
    strategy: "new",
    releaseLabel: "emr-5.17.0",
    retries: 2,
    availabilityZones: ["us-west-2a:subnet-123456"],
    provisioningTimeout: {
        timeout: 15,
        timeoutAction: "terminateAndRetry",
    },
    logUri: "s3://example-logs",
    additionalInfo: "{'test':'more information'}",
    jobFlowRole: "EMR_EC2_ExampleRole",
    securityConfig: "example-config",
    serviceRole: "example-role",
    terminationProtected: false,
    keepJobFlowAlive: true,
    customAmiId: "ami-123456",
    repoUpgradeOnBoot: "NONE",
    ec2KeyName: "test-key",
    managedPrimarySecurityGroup: "sg-123456",
    managedReplicaSecurityGroup: "sg-987654",
    serviceAccessSecurityGroup: "access-example",
    additionalPrimarySecurityGroups: ["sg-456321"],
    additionalReplicaSecurityGroups: ["sg-123654"],
    applications: [
        {
            name: "Ganglia",
            version: "1.0",
        },
        {
            name: "Hadoop",
        },
        {
            name: "Pig",
            args: [
                "fake",
                "args",
            ],
        },
    ],
    instanceWeights: [
        {
            instanceType: "t2.small",
            weightedCapacity: 10,
        },
        {
            instanceType: "t2.medium",
            weightedCapacity: 90,
        },
    ],
    stepsFiles: [{
        bucket: "example-bucket",
        key: "steps.json",
    }],
    configurationsFiles: [{
        bucket: "example-bucket",
        key: "configurations.json",
    }],
    bootstrapActionsFiles: [{
        bucket: "sample-emr-test",
        key: "bootstrap-actions.json",
    }],
    masterInstanceTypes: ["c3.xlarge"],
    masterLifecycle: "SPOT",
    masterEbsOptimized: true,
    masterTarget: 1,
    masterEbsBlockDevices: [{
        volumesPerInstance: 1,
        volumeType: "gp2",
        sizeInGb: 30,
    }],
    coreInstanceTypes: [
        "c3.xlarge",
        "c4.xlarge",
    ],
    coreMinSize: 1,
    coreMaxSize: 1,
    coreDesiredCapacity: 1,
    coreLifecycle: "ON_DEMAND",
    coreEbsOptimized: false,
    coreUnit: "instance",
    coreEbsBlockDevices: [{
        volumesPerInstance: 2,
        volumeType: "gp2",
        sizeInGb: 40,
    }],
    taskInstanceTypes: [
        "c3.xlarge",
        "c4.xlarge",
    ],
    taskMinSize: 0,
    taskMaxSize: 30,
    taskDesiredCapacity: 1,
    taskLifecycle: "SPOT",
    taskEbsOptimized: false,
    taskUnit: "instance",
    taskEbsBlockDevices: [{
        volumesPerInstance: 2,
        volumeType: "gp2",
        sizeInGb: 40,
    }],
    tags: [{
        key: "Creator",
        value: "Pulumi",
    }],
});
import pulumi
import pulumi_spotinst as spotinst
# Create a Mr Scaler with New strategy
sample__mr_scaler_01 = spotinst.aws.MrScalar("sample-MrScaler-01",
    name="sample-MrScaler-01",
    description="Testing MrScaler creation",
    region="us-west-2",
    strategy="new",
    release_label="emr-5.17.0",
    retries=2,
    availability_zones=["us-west-2a:subnet-123456"],
    provisioning_timeout={
        "timeout": 15,
        "timeout_action": "terminateAndRetry",
    },
    log_uri="s3://example-logs",
    additional_info="{'test':'more information'}",
    job_flow_role="EMR_EC2_ExampleRole",
    security_config="example-config",
    service_role="example-role",
    termination_protected=False,
    keep_job_flow_alive=True,
    custom_ami_id="ami-123456",
    repo_upgrade_on_boot="NONE",
    ec2_key_name="test-key",
    managed_primary_security_group="sg-123456",
    managed_replica_security_group="sg-987654",
    service_access_security_group="access-example",
    additional_primary_security_groups=["sg-456321"],
    additional_replica_security_groups=["sg-123654"],
    applications=[
        {
            "name": "Ganglia",
            "version": "1.0",
        },
        {
            "name": "Hadoop",
        },
        {
            "name": "Pig",
            "args": [
                "fake",
                "args",
            ],
        },
    ],
    instance_weights=[
        {
            "instance_type": "t2.small",
            "weighted_capacity": 10,
        },
        {
            "instance_type": "t2.medium",
            "weighted_capacity": 90,
        },
    ],
    steps_files=[{
        "bucket": "example-bucket",
        "key": "steps.json",
    }],
    configurations_files=[{
        "bucket": "example-bucket",
        "key": "configurations.json",
    }],
    bootstrap_actions_files=[{
        "bucket": "sample-emr-test",
        "key": "bootstrap-actions.json",
    }],
    master_instance_types=["c3.xlarge"],
    master_lifecycle="SPOT",
    master_ebs_optimized=True,
    master_target=1,
    master_ebs_block_devices=[{
        "volumes_per_instance": 1,
        "volume_type": "gp2",
        "size_in_gb": 30,
    }],
    core_instance_types=[
        "c3.xlarge",
        "c4.xlarge",
    ],
    core_min_size=1,
    core_max_size=1,
    core_desired_capacity=1,
    core_lifecycle="ON_DEMAND",
    core_ebs_optimized=False,
    core_unit="instance",
    core_ebs_block_devices=[{
        "volumes_per_instance": 2,
        "volume_type": "gp2",
        "size_in_gb": 40,
    }],
    task_instance_types=[
        "c3.xlarge",
        "c4.xlarge",
    ],
    task_min_size=0,
    task_max_size=30,
    task_desired_capacity=1,
    task_lifecycle="SPOT",
    task_ebs_optimized=False,
    task_unit="instance",
    task_ebs_block_devices=[{
        "volumes_per_instance": 2,
        "volume_type": "gp2",
        "size_in_gb": 40,
    }],
    tags=[{
        "key": "Creator",
        "value": "Pulumi",
    }])
package main
import (
	"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/aws"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Create a Mr Scaler with New strategy
		_, err := aws.NewMrScalar(ctx, "sample-MrScaler-01", &aws.MrScalarArgs{
			Name:         pulumi.String("sample-MrScaler-01"),
			Description:  pulumi.String("Testing MrScaler creation"),
			Region:       pulumi.String("us-west-2"),
			Strategy:     pulumi.String("new"),
			ReleaseLabel: pulumi.String("emr-5.17.0"),
			Retries:      pulumi.Int(2),
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-west-2a:subnet-123456"),
			},
			ProvisioningTimeout: &aws.MrScalarProvisioningTimeoutArgs{
				Timeout:       pulumi.Int(15),
				TimeoutAction: pulumi.String("terminateAndRetry"),
			},
			LogUri:                      pulumi.String("s3://example-logs"),
			AdditionalInfo:              pulumi.String("{'test':'more information'}"),
			JobFlowRole:                 pulumi.String("EMR_EC2_ExampleRole"),
			SecurityConfig:              pulumi.String("example-config"),
			ServiceRole:                 pulumi.String("example-role"),
			TerminationProtected:        pulumi.Bool(false),
			KeepJobFlowAlive:            pulumi.Bool(true),
			CustomAmiId:                 pulumi.String("ami-123456"),
			RepoUpgradeOnBoot:           pulumi.String("NONE"),
			Ec2KeyName:                  pulumi.String("test-key"),
			ManagedPrimarySecurityGroup: pulumi.String("sg-123456"),
			ManagedReplicaSecurityGroup: pulumi.String("sg-987654"),
			ServiceAccessSecurityGroup:  pulumi.String("access-example"),
			AdditionalPrimarySecurityGroups: pulumi.StringArray{
				pulumi.String("sg-456321"),
			},
			AdditionalReplicaSecurityGroups: pulumi.StringArray{
				pulumi.String("sg-123654"),
			},
			Applications: aws.MrScalarApplicationArray{
				&aws.MrScalarApplicationArgs{
					Name:    pulumi.String("Ganglia"),
					Version: pulumi.String("1.0"),
				},
				&aws.MrScalarApplicationArgs{
					Name: pulumi.String("Hadoop"),
				},
				&aws.MrScalarApplicationArgs{
					Name: pulumi.String("Pig"),
					Args: pulumi.StringArray{
						pulumi.String("fake"),
						pulumi.String("args"),
					},
				},
			},
			InstanceWeights: aws.MrScalarInstanceWeightArray{
				&aws.MrScalarInstanceWeightArgs{
					InstanceType:     pulumi.String("t2.small"),
					WeightedCapacity: pulumi.Int(10),
				},
				&aws.MrScalarInstanceWeightArgs{
					InstanceType:     pulumi.String("t2.medium"),
					WeightedCapacity: pulumi.Int(90),
				},
			},
			StepsFiles: aws.MrScalarStepsFileArray{
				&aws.MrScalarStepsFileArgs{
					Bucket: pulumi.String("example-bucket"),
					Key:    pulumi.String("steps.json"),
				},
			},
			ConfigurationsFiles: aws.MrScalarConfigurationsFileArray{
				&aws.MrScalarConfigurationsFileArgs{
					Bucket: pulumi.String("example-bucket"),
					Key:    pulumi.String("configurations.json"),
				},
			},
			BootstrapActionsFiles: aws.MrScalarBootstrapActionsFileArray{
				&aws.MrScalarBootstrapActionsFileArgs{
					Bucket: pulumi.String("sample-emr-test"),
					Key:    pulumi.String("bootstrap-actions.json"),
				},
			},
			MasterInstanceTypes: pulumi.StringArray{
				pulumi.String("c3.xlarge"),
			},
			MasterLifecycle:    pulumi.String("SPOT"),
			MasterEbsOptimized: pulumi.Bool(true),
			MasterTarget:       pulumi.Int(1),
			MasterEbsBlockDevices: aws.MrScalarMasterEbsBlockDeviceArray{
				&aws.MrScalarMasterEbsBlockDeviceArgs{
					VolumesPerInstance: pulumi.Int(1),
					VolumeType:         pulumi.String("gp2"),
					SizeInGb:           pulumi.Int(30),
				},
			},
			CoreInstanceTypes: pulumi.StringArray{
				pulumi.String("c3.xlarge"),
				pulumi.String("c4.xlarge"),
			},
			CoreMinSize:         pulumi.Int(1),
			CoreMaxSize:         pulumi.Int(1),
			CoreDesiredCapacity: pulumi.Int(1),
			CoreLifecycle:       pulumi.String("ON_DEMAND"),
			CoreEbsOptimized:    pulumi.Bool(false),
			CoreUnit:            pulumi.String("instance"),
			CoreEbsBlockDevices: aws.MrScalarCoreEbsBlockDeviceArray{
				&aws.MrScalarCoreEbsBlockDeviceArgs{
					VolumesPerInstance: pulumi.Int(2),
					VolumeType:         pulumi.String("gp2"),
					SizeInGb:           pulumi.Int(40),
				},
			},
			TaskInstanceTypes: pulumi.StringArray{
				pulumi.String("c3.xlarge"),
				pulumi.String("c4.xlarge"),
			},
			TaskMinSize:         pulumi.Int(0),
			TaskMaxSize:         pulumi.Int(30),
			TaskDesiredCapacity: pulumi.Int(1),
			TaskLifecycle:       pulumi.String("SPOT"),
			TaskEbsOptimized:    pulumi.Bool(false),
			TaskUnit:            pulumi.String("instance"),
			TaskEbsBlockDevices: aws.MrScalarTaskEbsBlockDeviceArray{
				&aws.MrScalarTaskEbsBlockDeviceArgs{
					VolumesPerInstance: pulumi.Int(2),
					VolumeType:         pulumi.String("gp2"),
					SizeInGb:           pulumi.Int(40),
				},
			},
			Tags: aws.MrScalarTagArray{
				&aws.MrScalarTagArgs{
					Key:   pulumi.String("Creator"),
					Value: pulumi.String("Pulumi"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using SpotInst = Pulumi.SpotInst;
return await Deployment.RunAsync(() => 
{
    // Create a Mr Scaler with New strategy
    var sample_MrScaler_01 = new SpotInst.Aws.MrScalar("sample-MrScaler-01", new()
    {
        Name = "sample-MrScaler-01",
        Description = "Testing MrScaler creation",
        Region = "us-west-2",
        Strategy = "new",
        ReleaseLabel = "emr-5.17.0",
        Retries = 2,
        AvailabilityZones = new[]
        {
            "us-west-2a:subnet-123456",
        },
        ProvisioningTimeout = new SpotInst.Aws.Inputs.MrScalarProvisioningTimeoutArgs
        {
            Timeout = 15,
            TimeoutAction = "terminateAndRetry",
        },
        LogUri = "s3://example-logs",
        AdditionalInfo = "{'test':'more information'}",
        JobFlowRole = "EMR_EC2_ExampleRole",
        SecurityConfig = "example-config",
        ServiceRole = "example-role",
        TerminationProtected = false,
        KeepJobFlowAlive = true,
        CustomAmiId = "ami-123456",
        RepoUpgradeOnBoot = "NONE",
        Ec2KeyName = "test-key",
        ManagedPrimarySecurityGroup = "sg-123456",
        ManagedReplicaSecurityGroup = "sg-987654",
        ServiceAccessSecurityGroup = "access-example",
        AdditionalPrimarySecurityGroups = new[]
        {
            "sg-456321",
        },
        AdditionalReplicaSecurityGroups = new[]
        {
            "sg-123654",
        },
        Applications = new[]
        {
            new SpotInst.Aws.Inputs.MrScalarApplicationArgs
            {
                Name = "Ganglia",
                Version = "1.0",
            },
            new SpotInst.Aws.Inputs.MrScalarApplicationArgs
            {
                Name = "Hadoop",
            },
            new SpotInst.Aws.Inputs.MrScalarApplicationArgs
            {
                Name = "Pig",
                Args = new[]
                {
                    "fake",
                    "args",
                },
            },
        },
        InstanceWeights = new[]
        {
            new SpotInst.Aws.Inputs.MrScalarInstanceWeightArgs
            {
                InstanceType = "t2.small",
                WeightedCapacity = 10,
            },
            new SpotInst.Aws.Inputs.MrScalarInstanceWeightArgs
            {
                InstanceType = "t2.medium",
                WeightedCapacity = 90,
            },
        },
        StepsFiles = new[]
        {
            new SpotInst.Aws.Inputs.MrScalarStepsFileArgs
            {
                Bucket = "example-bucket",
                Key = "steps.json",
            },
        },
        ConfigurationsFiles = new[]
        {
            new SpotInst.Aws.Inputs.MrScalarConfigurationsFileArgs
            {
                Bucket = "example-bucket",
                Key = "configurations.json",
            },
        },
        BootstrapActionsFiles = new[]
        {
            new SpotInst.Aws.Inputs.MrScalarBootstrapActionsFileArgs
            {
                Bucket = "sample-emr-test",
                Key = "bootstrap-actions.json",
            },
        },
        MasterInstanceTypes = new[]
        {
            "c3.xlarge",
        },
        MasterLifecycle = "SPOT",
        MasterEbsOptimized = true,
        MasterTarget = 1,
        MasterEbsBlockDevices = new[]
        {
            new SpotInst.Aws.Inputs.MrScalarMasterEbsBlockDeviceArgs
            {
                VolumesPerInstance = 1,
                VolumeType = "gp2",
                SizeInGb = 30,
            },
        },
        CoreInstanceTypes = new[]
        {
            "c3.xlarge",
            "c4.xlarge",
        },
        CoreMinSize = 1,
        CoreMaxSize = 1,
        CoreDesiredCapacity = 1,
        CoreLifecycle = "ON_DEMAND",
        CoreEbsOptimized = false,
        CoreUnit = "instance",
        CoreEbsBlockDevices = new[]
        {
            new SpotInst.Aws.Inputs.MrScalarCoreEbsBlockDeviceArgs
            {
                VolumesPerInstance = 2,
                VolumeType = "gp2",
                SizeInGb = 40,
            },
        },
        TaskInstanceTypes = new[]
        {
            "c3.xlarge",
            "c4.xlarge",
        },
        TaskMinSize = 0,
        TaskMaxSize = 30,
        TaskDesiredCapacity = 1,
        TaskLifecycle = "SPOT",
        TaskEbsOptimized = false,
        TaskUnit = "instance",
        TaskEbsBlockDevices = new[]
        {
            new SpotInst.Aws.Inputs.MrScalarTaskEbsBlockDeviceArgs
            {
                VolumesPerInstance = 2,
                VolumeType = "gp2",
                SizeInGb = 40,
            },
        },
        Tags = new[]
        {
            new SpotInst.Aws.Inputs.MrScalarTagArgs
            {
                Key = "Creator",
                Value = "Pulumi",
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.spotinst.aws.MrScalar;
import com.pulumi.spotinst.aws.MrScalarArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarProvisioningTimeoutArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarApplicationArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarInstanceWeightArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarStepsFileArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarConfigurationsFileArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarBootstrapActionsFileArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarMasterEbsBlockDeviceArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarCoreEbsBlockDeviceArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarTaskEbsBlockDeviceArgs;
import com.pulumi.spotinst.aws.inputs.MrScalarTagArgs;
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) {
        // Create a Mr Scaler with New strategy
        var sample_MrScaler_01 = new MrScalar("sample-MrScaler-01", MrScalarArgs.builder()
            .name("sample-MrScaler-01")
            .description("Testing MrScaler creation")
            .region("us-west-2")
            .strategy("new")
            .releaseLabel("emr-5.17.0")
            .retries(2)
            .availabilityZones("us-west-2a:subnet-123456")
            .provisioningTimeout(MrScalarProvisioningTimeoutArgs.builder()
                .timeout(15)
                .timeoutAction("terminateAndRetry")
                .build())
            .logUri("s3://example-logs")
            .additionalInfo("{'test':'more information'}")
            .jobFlowRole("EMR_EC2_ExampleRole")
            .securityConfig("example-config")
            .serviceRole("example-role")
            .terminationProtected(false)
            .keepJobFlowAlive(true)
            .customAmiId("ami-123456")
            .repoUpgradeOnBoot("NONE")
            .ec2KeyName("test-key")
            .managedPrimarySecurityGroup("sg-123456")
            .managedReplicaSecurityGroup("sg-987654")
            .serviceAccessSecurityGroup("access-example")
            .additionalPrimarySecurityGroups("sg-456321")
            .additionalReplicaSecurityGroups("sg-123654")
            .applications(            
                MrScalarApplicationArgs.builder()
                    .name("Ganglia")
                    .version("1.0")
                    .build(),
                MrScalarApplicationArgs.builder()
                    .name("Hadoop")
                    .build(),
                MrScalarApplicationArgs.builder()
                    .name("Pig")
                    .args(                    
                        "fake",
                        "args")
                    .build())
            .instanceWeights(            
                MrScalarInstanceWeightArgs.builder()
                    .instanceType("t2.small")
                    .weightedCapacity(10)
                    .build(),
                MrScalarInstanceWeightArgs.builder()
                    .instanceType("t2.medium")
                    .weightedCapacity(90)
                    .build())
            .stepsFiles(MrScalarStepsFileArgs.builder()
                .bucket("example-bucket")
                .key("steps.json")
                .build())
            .configurationsFiles(MrScalarConfigurationsFileArgs.builder()
                .bucket("example-bucket")
                .key("configurations.json")
                .build())
            .bootstrapActionsFiles(MrScalarBootstrapActionsFileArgs.builder()
                .bucket("sample-emr-test")
                .key("bootstrap-actions.json")
                .build())
            .masterInstanceTypes("c3.xlarge")
            .masterLifecycle("SPOT")
            .masterEbsOptimized(true)
            .masterTarget(1)
            .masterEbsBlockDevices(MrScalarMasterEbsBlockDeviceArgs.builder()
                .volumesPerInstance(1)
                .volumeType("gp2")
                .sizeInGb(30)
                .build())
            .coreInstanceTypes(            
                "c3.xlarge",
                "c4.xlarge")
            .coreMinSize(1)
            .coreMaxSize(1)
            .coreDesiredCapacity(1)
            .coreLifecycle("ON_DEMAND")
            .coreEbsOptimized(false)
            .coreUnit("instance")
            .coreEbsBlockDevices(MrScalarCoreEbsBlockDeviceArgs.builder()
                .volumesPerInstance(2)
                .volumeType("gp2")
                .sizeInGb(40)
                .build())
            .taskInstanceTypes(            
                "c3.xlarge",
                "c4.xlarge")
            .taskMinSize(0)
            .taskMaxSize(30)
            .taskDesiredCapacity(1)
            .taskLifecycle("SPOT")
            .taskEbsOptimized(false)
            .taskUnit("instance")
            .taskEbsBlockDevices(MrScalarTaskEbsBlockDeviceArgs.builder()
                .volumesPerInstance(2)
                .volumeType("gp2")
                .sizeInGb(40)
                .build())
            .tags(MrScalarTagArgs.builder()
                .key("Creator")
                .value("Pulumi")
                .build())
            .build());
    }
}
resources:
  # Create a Mr Scaler with New strategy
  sample-MrScaler-01:
    type: spotinst:aws:MrScalar
    properties:
      name: sample-MrScaler-01
      description: Testing MrScaler creation
      region: us-west-2
      strategy: new
      releaseLabel: emr-5.17.0
      retries: 2
      availabilityZones:
        - us-west-2a:subnet-123456
      provisioningTimeout:
        timeout: 15
        timeoutAction: terminateAndRetry
      logUri: s3://example-logs
      additionalInfo: '{''test'':''more information''}'
      jobFlowRole: EMR_EC2_ExampleRole
      securityConfig: example-config
      serviceRole: example-role
      terminationProtected: false
      keepJobFlowAlive: true # --- OPTONAL COMPUTE -----
      customAmiId: ami-123456
      repoUpgradeOnBoot: NONE
      ec2KeyName: test-key
      managedPrimarySecurityGroup: sg-123456
      managedReplicaSecurityGroup: sg-987654
      serviceAccessSecurityGroup: access-example
      additionalPrimarySecurityGroups:
        - sg-456321
      additionalReplicaSecurityGroups:
        - sg-123654
      applications:
        - name: Ganglia
          version: '1.0'
        - name: Hadoop
        - name: Pig
          args:
            - fake
            - args
      instanceWeights:
        - instanceType: t2.small
          weightedCapacity: 10
        - instanceType: t2.medium
          weightedCapacity: 90
      stepsFiles:
        - bucket: example-bucket
          key: steps.json
      configurationsFiles:
        - bucket: example-bucket
          key: configurations.json
      bootstrapActionsFiles:
        - bucket: sample-emr-test
          key: bootstrap-actions.json
      masterInstanceTypes:
        - c3.xlarge
      masterLifecycle: SPOT
      masterEbsOptimized: true
      masterTarget: 1
      masterEbsBlockDevices:
        - volumesPerInstance: 1
          volumeType: gp2
          sizeInGb: 30
      coreInstanceTypes:
        - c3.xlarge
        - c4.xlarge
      coreMinSize: 1
      coreMaxSize: 1
      coreDesiredCapacity: 1
      coreLifecycle: ON_DEMAND
      coreEbsOptimized: false
      coreUnit: instance
      coreEbsBlockDevices:
        - volumesPerInstance: 2
          volumeType: gp2
          sizeInGb: 40
      taskInstanceTypes:
        - c3.xlarge
        - c4.xlarge
      taskMinSize: 0
      taskMaxSize: 30
      taskDesiredCapacity: 1
      taskLifecycle: SPOT
      taskEbsOptimized: false
      taskUnit: instance
      taskEbsBlockDevices:
        - volumesPerInstance: 2
          volumeType: gp2
          sizeInGb: 40
      tags:
        - key: Creator
          value: Pulumi
Create MrScalar Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new MrScalar(name: string, args: MrScalarArgs, opts?: CustomResourceOptions);@overload
def MrScalar(resource_name: str,
             args: MrScalarArgs,
             opts: Optional[ResourceOptions] = None)
@overload
def MrScalar(resource_name: str,
             opts: Optional[ResourceOptions] = None,
             strategy: Optional[str] = None,
             master_ebs_optimized: Optional[bool] = None,
             configurations_files: Optional[Sequence[MrScalarConfigurationsFileArgs]] = None,
             applications: Optional[Sequence[MrScalarApplicationArgs]] = None,
             availability_zones: Optional[Sequence[str]] = None,
             bootstrap_actions_files: Optional[Sequence[MrScalarBootstrapActionsFileArgs]] = None,
             cluster_id: Optional[str] = None,
             additional_info: Optional[str] = None,
             core_desired_capacity: Optional[int] = None,
             core_ebs_block_devices: Optional[Sequence[MrScalarCoreEbsBlockDeviceArgs]] = None,
             core_ebs_optimized: Optional[bool] = None,
             core_instance_types: Optional[Sequence[str]] = None,
             core_lifecycle: Optional[str] = None,
             core_max_size: Optional[int] = None,
             core_min_size: Optional[int] = None,
             core_scaling_down_policies: Optional[Sequence[MrScalarCoreScalingDownPolicyArgs]] = None,
             core_scaling_up_policies: Optional[Sequence[MrScalarCoreScalingUpPolicyArgs]] = None,
             core_unit: Optional[str] = None,
             custom_ami_id: Optional[str] = None,
             description: Optional[str] = None,
             ebs_root_volume_size: Optional[int] = None,
             ec2_key_name: Optional[str] = None,
             expose_cluster_id: Optional[bool] = None,
             instance_weights: Optional[Sequence[MrScalarInstanceWeightArgs]] = None,
             job_flow_role: Optional[str] = None,
             keep_job_flow_alive: Optional[bool] = None,
             master_instance_types: Optional[Sequence[str]] = None,
             master_ebs_block_devices: Optional[Sequence[MrScalarMasterEbsBlockDeviceArgs]] = None,
             managed_replica_security_group: Optional[str] = None,
             managed_primary_security_group: Optional[str] = None,
             additional_replica_security_groups: Optional[Sequence[str]] = None,
             log_uri: Optional[str] = None,
             master_lifecycle: Optional[str] = None,
             master_target: Optional[int] = None,
             name: Optional[str] = None,
             provisioning_timeout: Optional[MrScalarProvisioningTimeoutArgs] = None,
             region: Optional[str] = None,
             release_label: Optional[str] = None,
             repo_upgrade_on_boot: Optional[str] = None,
             retries: Optional[int] = None,
             scheduled_tasks: Optional[Sequence[MrScalarScheduledTaskArgs]] = None,
             security_config: Optional[str] = None,
             service_access_security_group: Optional[str] = None,
             service_role: Optional[str] = None,
             steps_files: Optional[Sequence[MrScalarStepsFileArgs]] = None,
             additional_primary_security_groups: Optional[Sequence[str]] = None,
             tags: Optional[Sequence[MrScalarTagArgs]] = None,
             task_desired_capacity: Optional[int] = None,
             task_ebs_block_devices: Optional[Sequence[MrScalarTaskEbsBlockDeviceArgs]] = None,
             task_ebs_optimized: Optional[bool] = None,
             task_instance_types: Optional[Sequence[str]] = None,
             task_lifecycle: Optional[str] = None,
             task_max_size: Optional[int] = None,
             task_min_size: Optional[int] = None,
             task_scaling_down_policies: Optional[Sequence[MrScalarTaskScalingDownPolicyArgs]] = None,
             task_scaling_up_policies: Optional[Sequence[MrScalarTaskScalingUpPolicyArgs]] = None,
             task_unit: Optional[str] = None,
             termination_policies: Optional[Sequence[MrScalarTerminationPolicyArgs]] = None,
             termination_protected: Optional[bool] = None,
             visible_to_all_users: Optional[bool] = None)func NewMrScalar(ctx *Context, name string, args MrScalarArgs, opts ...ResourceOption) (*MrScalar, error)public MrScalar(string name, MrScalarArgs args, CustomResourceOptions? opts = null)
public MrScalar(String name, MrScalarArgs args)
public MrScalar(String name, MrScalarArgs args, CustomResourceOptions options)
type: spotinst:aws:MrScalar
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
 - The unique name of the resource.
 - args MrScalarArgs
 - The arguments to resource properties.
 - opts CustomResourceOptions
 - Bag of options to control resource's behavior.
 
- resource_name str
 - The unique name of the resource.
 - args MrScalarArgs
 - The arguments to resource properties.
 - opts ResourceOptions
 - Bag of options to control resource's behavior.
 
- ctx Context
 - Context object for the current deployment.
 - name string
 - The unique name of the resource.
 - args MrScalarArgs
 - The arguments to resource properties.
 - opts ResourceOption
 - Bag of options to control resource's behavior.
 
- name string
 - The unique name of the resource.
 - args MrScalarArgs
 - The arguments to resource properties.
 - opts CustomResourceOptions
 - Bag of options to control resource's behavior.
 
- name String
 - The unique name of the resource.
 - args MrScalarArgs
 - The arguments to resource properties.
 - options CustomResourceOptions
 - Bag of options to control resource's behavior.
 
Constructor example
The following reference example uses placeholder values for all input properties.
var mrScalarResource = new SpotInst.Aws.MrScalar("mrScalarResource", new()
{
    Strategy = "string",
    MasterEbsOptimized = false,
    ConfigurationsFiles = new[]
    {
        new SpotInst.Aws.Inputs.MrScalarConfigurationsFileArgs
        {
            Bucket = "string",
            Key = "string",
        },
    },
    Applications = new[]
    {
        new SpotInst.Aws.Inputs.MrScalarApplicationArgs
        {
            Name = "string",
            Args = new[]
            {
                "string",
            },
            Version = "string",
        },
    },
    AvailabilityZones = new[]
    {
        "string",
    },
    BootstrapActionsFiles = new[]
    {
        new SpotInst.Aws.Inputs.MrScalarBootstrapActionsFileArgs
        {
            Bucket = "string",
            Key = "string",
        },
    },
    ClusterId = "string",
    AdditionalInfo = "string",
    CoreDesiredCapacity = 0,
    CoreEbsBlockDevices = new[]
    {
        new SpotInst.Aws.Inputs.MrScalarCoreEbsBlockDeviceArgs
        {
            SizeInGb = 0,
            VolumeType = "string",
            Iops = 0,
            VolumesPerInstance = 0,
        },
    },
    CoreEbsOptimized = false,
    CoreInstanceTypes = new[]
    {
        "string",
    },
    CoreLifecycle = "string",
    CoreMaxSize = 0,
    CoreMinSize = 0,
    CoreScalingDownPolicies = new[]
    {
        new SpotInst.Aws.Inputs.MrScalarCoreScalingDownPolicyArgs
        {
            MetricName = "string",
            Unit = "string",
            Threshold = 0,
            PolicyName = "string",
            Namespace = "string",
            MinTargetCapacity = "string",
            Maximum = "string",
            MaxTargetCapacity = "string",
            ActionType = "string",
            Minimum = "string",
            EvaluationPeriods = 0,
            Operator = "string",
            Period = 0,
            Dimensions = 
            {
                { "string", "string" },
            },
            Statistic = "string",
            Target = "string",
            Cooldown = 0,
            Adjustment = "string",
        },
    },
    CoreScalingUpPolicies = new[]
    {
        new SpotInst.Aws.Inputs.MrScalarCoreScalingUpPolicyArgs
        {
            MetricName = "string",
            Unit = "string",
            Threshold = 0,
            PolicyName = "string",
            Namespace = "string",
            MinTargetCapacity = "string",
            Maximum = "string",
            MaxTargetCapacity = "string",
            ActionType = "string",
            Minimum = "string",
            EvaluationPeriods = 0,
            Operator = "string",
            Period = 0,
            Dimensions = 
            {
                { "string", "string" },
            },
            Statistic = "string",
            Target = "string",
            Cooldown = 0,
            Adjustment = "string",
        },
    },
    CoreUnit = "string",
    CustomAmiId = "string",
    Description = "string",
    EbsRootVolumeSize = 0,
    Ec2KeyName = "string",
    ExposeClusterId = false,
    InstanceWeights = new[]
    {
        new SpotInst.Aws.Inputs.MrScalarInstanceWeightArgs
        {
            InstanceType = "string",
            WeightedCapacity = 0,
        },
    },
    JobFlowRole = "string",
    KeepJobFlowAlive = false,
    MasterInstanceTypes = new[]
    {
        "string",
    },
    MasterEbsBlockDevices = new[]
    {
        new SpotInst.Aws.Inputs.MrScalarMasterEbsBlockDeviceArgs
        {
            SizeInGb = 0,
            VolumeType = "string",
            Iops = 0,
            VolumesPerInstance = 0,
        },
    },
    ManagedReplicaSecurityGroup = "string",
    ManagedPrimarySecurityGroup = "string",
    AdditionalReplicaSecurityGroups = new[]
    {
        "string",
    },
    LogUri = "string",
    MasterLifecycle = "string",
    MasterTarget = 0,
    Name = "string",
    ProvisioningTimeout = new SpotInst.Aws.Inputs.MrScalarProvisioningTimeoutArgs
    {
        Timeout = 0,
        TimeoutAction = "string",
    },
    Region = "string",
    ReleaseLabel = "string",
    RepoUpgradeOnBoot = "string",
    Retries = 0,
    ScheduledTasks = new[]
    {
        new SpotInst.Aws.Inputs.MrScalarScheduledTaskArgs
        {
            Cron = "string",
            InstanceGroupType = "string",
            TaskType = "string",
            DesiredCapacity = "string",
            IsEnabled = false,
            MaxCapacity = "string",
            MinCapacity = "string",
        },
    },
    SecurityConfig = "string",
    ServiceAccessSecurityGroup = "string",
    ServiceRole = "string",
    StepsFiles = new[]
    {
        new SpotInst.Aws.Inputs.MrScalarStepsFileArgs
        {
            Bucket = "string",
            Key = "string",
        },
    },
    AdditionalPrimarySecurityGroups = new[]
    {
        "string",
    },
    Tags = new[]
    {
        new SpotInst.Aws.Inputs.MrScalarTagArgs
        {
            Key = "string",
            Value = "string",
        },
    },
    TaskDesiredCapacity = 0,
    TaskEbsBlockDevices = new[]
    {
        new SpotInst.Aws.Inputs.MrScalarTaskEbsBlockDeviceArgs
        {
            SizeInGb = 0,
            VolumeType = "string",
            Iops = 0,
            VolumesPerInstance = 0,
        },
    },
    TaskEbsOptimized = false,
    TaskInstanceTypes = new[]
    {
        "string",
    },
    TaskLifecycle = "string",
    TaskMaxSize = 0,
    TaskMinSize = 0,
    TaskScalingDownPolicies = new[]
    {
        new SpotInst.Aws.Inputs.MrScalarTaskScalingDownPolicyArgs
        {
            MetricName = "string",
            Unit = "string",
            Threshold = 0,
            PolicyName = "string",
            Namespace = "string",
            MinTargetCapacity = "string",
            Maximum = "string",
            MaxTargetCapacity = "string",
            ActionType = "string",
            Minimum = "string",
            EvaluationPeriods = 0,
            Operator = "string",
            Period = 0,
            Dimensions = 
            {
                { "string", "string" },
            },
            Statistic = "string",
            Target = "string",
            Cooldown = 0,
            Adjustment = "string",
        },
    },
    TaskScalingUpPolicies = new[]
    {
        new SpotInst.Aws.Inputs.MrScalarTaskScalingUpPolicyArgs
        {
            MetricName = "string",
            Unit = "string",
            Threshold = 0,
            PolicyName = "string",
            Namespace = "string",
            MinTargetCapacity = "string",
            Maximum = "string",
            MaxTargetCapacity = "string",
            ActionType = "string",
            Minimum = "string",
            EvaluationPeriods = 0,
            Operator = "string",
            Period = 0,
            Dimensions = 
            {
                { "string", "string" },
            },
            Statistic = "string",
            Target = "string",
            Cooldown = 0,
            Adjustment = "string",
        },
    },
    TaskUnit = "string",
    TerminationPolicies = new[]
    {
        new SpotInst.Aws.Inputs.MrScalarTerminationPolicyArgs
        {
            Statements = new[]
            {
                new SpotInst.Aws.Inputs.MrScalarTerminationPolicyStatementArgs
                {
                    MetricName = "string",
                    Namespace = "string",
                    Threshold = 0,
                    EvaluationPeriods = 0,
                    Operator = "string",
                    Period = 0,
                    Statistic = "string",
                    Unit = "string",
                },
            },
        },
    },
    TerminationProtected = false,
});
example, err := aws.NewMrScalar(ctx, "mrScalarResource", &aws.MrScalarArgs{
	Strategy:           pulumi.String("string"),
	MasterEbsOptimized: pulumi.Bool(false),
	ConfigurationsFiles: aws.MrScalarConfigurationsFileArray{
		&aws.MrScalarConfigurationsFileArgs{
			Bucket: pulumi.String("string"),
			Key:    pulumi.String("string"),
		},
	},
	Applications: aws.MrScalarApplicationArray{
		&aws.MrScalarApplicationArgs{
			Name: pulumi.String("string"),
			Args: pulumi.StringArray{
				pulumi.String("string"),
			},
			Version: pulumi.String("string"),
		},
	},
	AvailabilityZones: pulumi.StringArray{
		pulumi.String("string"),
	},
	BootstrapActionsFiles: aws.MrScalarBootstrapActionsFileArray{
		&aws.MrScalarBootstrapActionsFileArgs{
			Bucket: pulumi.String("string"),
			Key:    pulumi.String("string"),
		},
	},
	ClusterId:           pulumi.String("string"),
	AdditionalInfo:      pulumi.String("string"),
	CoreDesiredCapacity: pulumi.Int(0),
	CoreEbsBlockDevices: aws.MrScalarCoreEbsBlockDeviceArray{
		&aws.MrScalarCoreEbsBlockDeviceArgs{
			SizeInGb:           pulumi.Int(0),
			VolumeType:         pulumi.String("string"),
			Iops:               pulumi.Int(0),
			VolumesPerInstance: pulumi.Int(0),
		},
	},
	CoreEbsOptimized: pulumi.Bool(false),
	CoreInstanceTypes: pulumi.StringArray{
		pulumi.String("string"),
	},
	CoreLifecycle: pulumi.String("string"),
	CoreMaxSize:   pulumi.Int(0),
	CoreMinSize:   pulumi.Int(0),
	CoreScalingDownPolicies: aws.MrScalarCoreScalingDownPolicyArray{
		&aws.MrScalarCoreScalingDownPolicyArgs{
			MetricName:        pulumi.String("string"),
			Unit:              pulumi.String("string"),
			Threshold:         pulumi.Float64(0),
			PolicyName:        pulumi.String("string"),
			Namespace:         pulumi.String("string"),
			MinTargetCapacity: pulumi.String("string"),
			Maximum:           pulumi.String("string"),
			MaxTargetCapacity: pulumi.String("string"),
			ActionType:        pulumi.String("string"),
			Minimum:           pulumi.String("string"),
			EvaluationPeriods: pulumi.Int(0),
			Operator:          pulumi.String("string"),
			Period:            pulumi.Int(0),
			Dimensions: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			Statistic:  pulumi.String("string"),
			Target:     pulumi.String("string"),
			Cooldown:   pulumi.Int(0),
			Adjustment: pulumi.String("string"),
		},
	},
	CoreScalingUpPolicies: aws.MrScalarCoreScalingUpPolicyArray{
		&aws.MrScalarCoreScalingUpPolicyArgs{
			MetricName:        pulumi.String("string"),
			Unit:              pulumi.String("string"),
			Threshold:         pulumi.Float64(0),
			PolicyName:        pulumi.String("string"),
			Namespace:         pulumi.String("string"),
			MinTargetCapacity: pulumi.String("string"),
			Maximum:           pulumi.String("string"),
			MaxTargetCapacity: pulumi.String("string"),
			ActionType:        pulumi.String("string"),
			Minimum:           pulumi.String("string"),
			EvaluationPeriods: pulumi.Int(0),
			Operator:          pulumi.String("string"),
			Period:            pulumi.Int(0),
			Dimensions: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			Statistic:  pulumi.String("string"),
			Target:     pulumi.String("string"),
			Cooldown:   pulumi.Int(0),
			Adjustment: pulumi.String("string"),
		},
	},
	CoreUnit:          pulumi.String("string"),
	CustomAmiId:       pulumi.String("string"),
	Description:       pulumi.String("string"),
	EbsRootVolumeSize: pulumi.Int(0),
	Ec2KeyName:        pulumi.String("string"),
	ExposeClusterId:   pulumi.Bool(false),
	InstanceWeights: aws.MrScalarInstanceWeightArray{
		&aws.MrScalarInstanceWeightArgs{
			InstanceType:     pulumi.String("string"),
			WeightedCapacity: pulumi.Int(0),
		},
	},
	JobFlowRole:      pulumi.String("string"),
	KeepJobFlowAlive: pulumi.Bool(false),
	MasterInstanceTypes: pulumi.StringArray{
		pulumi.String("string"),
	},
	MasterEbsBlockDevices: aws.MrScalarMasterEbsBlockDeviceArray{
		&aws.MrScalarMasterEbsBlockDeviceArgs{
			SizeInGb:           pulumi.Int(0),
			VolumeType:         pulumi.String("string"),
			Iops:               pulumi.Int(0),
			VolumesPerInstance: pulumi.Int(0),
		},
	},
	ManagedReplicaSecurityGroup: pulumi.String("string"),
	ManagedPrimarySecurityGroup: pulumi.String("string"),
	AdditionalReplicaSecurityGroups: pulumi.StringArray{
		pulumi.String("string"),
	},
	LogUri:          pulumi.String("string"),
	MasterLifecycle: pulumi.String("string"),
	MasterTarget:    pulumi.Int(0),
	Name:            pulumi.String("string"),
	ProvisioningTimeout: &aws.MrScalarProvisioningTimeoutArgs{
		Timeout:       pulumi.Int(0),
		TimeoutAction: pulumi.String("string"),
	},
	Region:            pulumi.String("string"),
	ReleaseLabel:      pulumi.String("string"),
	RepoUpgradeOnBoot: pulumi.String("string"),
	Retries:           pulumi.Int(0),
	ScheduledTasks: aws.MrScalarScheduledTaskArray{
		&aws.MrScalarScheduledTaskArgs{
			Cron:              pulumi.String("string"),
			InstanceGroupType: pulumi.String("string"),
			TaskType:          pulumi.String("string"),
			DesiredCapacity:   pulumi.String("string"),
			IsEnabled:         pulumi.Bool(false),
			MaxCapacity:       pulumi.String("string"),
			MinCapacity:       pulumi.String("string"),
		},
	},
	SecurityConfig:             pulumi.String("string"),
	ServiceAccessSecurityGroup: pulumi.String("string"),
	ServiceRole:                pulumi.String("string"),
	StepsFiles: aws.MrScalarStepsFileArray{
		&aws.MrScalarStepsFileArgs{
			Bucket: pulumi.String("string"),
			Key:    pulumi.String("string"),
		},
	},
	AdditionalPrimarySecurityGroups: pulumi.StringArray{
		pulumi.String("string"),
	},
	Tags: aws.MrScalarTagArray{
		&aws.MrScalarTagArgs{
			Key:   pulumi.String("string"),
			Value: pulumi.String("string"),
		},
	},
	TaskDesiredCapacity: pulumi.Int(0),
	TaskEbsBlockDevices: aws.MrScalarTaskEbsBlockDeviceArray{
		&aws.MrScalarTaskEbsBlockDeviceArgs{
			SizeInGb:           pulumi.Int(0),
			VolumeType:         pulumi.String("string"),
			Iops:               pulumi.Int(0),
			VolumesPerInstance: pulumi.Int(0),
		},
	},
	TaskEbsOptimized: pulumi.Bool(false),
	TaskInstanceTypes: pulumi.StringArray{
		pulumi.String("string"),
	},
	TaskLifecycle: pulumi.String("string"),
	TaskMaxSize:   pulumi.Int(0),
	TaskMinSize:   pulumi.Int(0),
	TaskScalingDownPolicies: aws.MrScalarTaskScalingDownPolicyArray{
		&aws.MrScalarTaskScalingDownPolicyArgs{
			MetricName:        pulumi.String("string"),
			Unit:              pulumi.String("string"),
			Threshold:         pulumi.Float64(0),
			PolicyName:        pulumi.String("string"),
			Namespace:         pulumi.String("string"),
			MinTargetCapacity: pulumi.String("string"),
			Maximum:           pulumi.String("string"),
			MaxTargetCapacity: pulumi.String("string"),
			ActionType:        pulumi.String("string"),
			Minimum:           pulumi.String("string"),
			EvaluationPeriods: pulumi.Int(0),
			Operator:          pulumi.String("string"),
			Period:            pulumi.Int(0),
			Dimensions: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			Statistic:  pulumi.String("string"),
			Target:     pulumi.String("string"),
			Cooldown:   pulumi.Int(0),
			Adjustment: pulumi.String("string"),
		},
	},
	TaskScalingUpPolicies: aws.MrScalarTaskScalingUpPolicyArray{
		&aws.MrScalarTaskScalingUpPolicyArgs{
			MetricName:        pulumi.String("string"),
			Unit:              pulumi.String("string"),
			Threshold:         pulumi.Float64(0),
			PolicyName:        pulumi.String("string"),
			Namespace:         pulumi.String("string"),
			MinTargetCapacity: pulumi.String("string"),
			Maximum:           pulumi.String("string"),
			MaxTargetCapacity: pulumi.String("string"),
			ActionType:        pulumi.String("string"),
			Minimum:           pulumi.String("string"),
			EvaluationPeriods: pulumi.Int(0),
			Operator:          pulumi.String("string"),
			Period:            pulumi.Int(0),
			Dimensions: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			Statistic:  pulumi.String("string"),
			Target:     pulumi.String("string"),
			Cooldown:   pulumi.Int(0),
			Adjustment: pulumi.String("string"),
		},
	},
	TaskUnit: pulumi.String("string"),
	TerminationPolicies: aws.MrScalarTerminationPolicyArray{
		&aws.MrScalarTerminationPolicyArgs{
			Statements: aws.MrScalarTerminationPolicyStatementArray{
				&aws.MrScalarTerminationPolicyStatementArgs{
					MetricName:        pulumi.String("string"),
					Namespace:         pulumi.String("string"),
					Threshold:         pulumi.Float64(0),
					EvaluationPeriods: pulumi.Int(0),
					Operator:          pulumi.String("string"),
					Period:            pulumi.Int(0),
					Statistic:         pulumi.String("string"),
					Unit:              pulumi.String("string"),
				},
			},
		},
	},
	TerminationProtected: pulumi.Bool(false),
})
var mrScalarResource = new MrScalar("mrScalarResource", MrScalarArgs.builder()
    .strategy("string")
    .masterEbsOptimized(false)
    .configurationsFiles(MrScalarConfigurationsFileArgs.builder()
        .bucket("string")
        .key("string")
        .build())
    .applications(MrScalarApplicationArgs.builder()
        .name("string")
        .args("string")
        .version("string")
        .build())
    .availabilityZones("string")
    .bootstrapActionsFiles(MrScalarBootstrapActionsFileArgs.builder()
        .bucket("string")
        .key("string")
        .build())
    .clusterId("string")
    .additionalInfo("string")
    .coreDesiredCapacity(0)
    .coreEbsBlockDevices(MrScalarCoreEbsBlockDeviceArgs.builder()
        .sizeInGb(0)
        .volumeType("string")
        .iops(0)
        .volumesPerInstance(0)
        .build())
    .coreEbsOptimized(false)
    .coreInstanceTypes("string")
    .coreLifecycle("string")
    .coreMaxSize(0)
    .coreMinSize(0)
    .coreScalingDownPolicies(MrScalarCoreScalingDownPolicyArgs.builder()
        .metricName("string")
        .unit("string")
        .threshold(0)
        .policyName("string")
        .namespace("string")
        .minTargetCapacity("string")
        .maximum("string")
        .maxTargetCapacity("string")
        .actionType("string")
        .minimum("string")
        .evaluationPeriods(0)
        .operator("string")
        .period(0)
        .dimensions(Map.of("string", "string"))
        .statistic("string")
        .target("string")
        .cooldown(0)
        .adjustment("string")
        .build())
    .coreScalingUpPolicies(MrScalarCoreScalingUpPolicyArgs.builder()
        .metricName("string")
        .unit("string")
        .threshold(0)
        .policyName("string")
        .namespace("string")
        .minTargetCapacity("string")
        .maximum("string")
        .maxTargetCapacity("string")
        .actionType("string")
        .minimum("string")
        .evaluationPeriods(0)
        .operator("string")
        .period(0)
        .dimensions(Map.of("string", "string"))
        .statistic("string")
        .target("string")
        .cooldown(0)
        .adjustment("string")
        .build())
    .coreUnit("string")
    .customAmiId("string")
    .description("string")
    .ebsRootVolumeSize(0)
    .ec2KeyName("string")
    .exposeClusterId(false)
    .instanceWeights(MrScalarInstanceWeightArgs.builder()
        .instanceType("string")
        .weightedCapacity(0)
        .build())
    .jobFlowRole("string")
    .keepJobFlowAlive(false)
    .masterInstanceTypes("string")
    .masterEbsBlockDevices(MrScalarMasterEbsBlockDeviceArgs.builder()
        .sizeInGb(0)
        .volumeType("string")
        .iops(0)
        .volumesPerInstance(0)
        .build())
    .managedReplicaSecurityGroup("string")
    .managedPrimarySecurityGroup("string")
    .additionalReplicaSecurityGroups("string")
    .logUri("string")
    .masterLifecycle("string")
    .masterTarget(0)
    .name("string")
    .provisioningTimeout(MrScalarProvisioningTimeoutArgs.builder()
        .timeout(0)
        .timeoutAction("string")
        .build())
    .region("string")
    .releaseLabel("string")
    .repoUpgradeOnBoot("string")
    .retries(0)
    .scheduledTasks(MrScalarScheduledTaskArgs.builder()
        .cron("string")
        .instanceGroupType("string")
        .taskType("string")
        .desiredCapacity("string")
        .isEnabled(false)
        .maxCapacity("string")
        .minCapacity("string")
        .build())
    .securityConfig("string")
    .serviceAccessSecurityGroup("string")
    .serviceRole("string")
    .stepsFiles(MrScalarStepsFileArgs.builder()
        .bucket("string")
        .key("string")
        .build())
    .additionalPrimarySecurityGroups("string")
    .tags(MrScalarTagArgs.builder()
        .key("string")
        .value("string")
        .build())
    .taskDesiredCapacity(0)
    .taskEbsBlockDevices(MrScalarTaskEbsBlockDeviceArgs.builder()
        .sizeInGb(0)
        .volumeType("string")
        .iops(0)
        .volumesPerInstance(0)
        .build())
    .taskEbsOptimized(false)
    .taskInstanceTypes("string")
    .taskLifecycle("string")
    .taskMaxSize(0)
    .taskMinSize(0)
    .taskScalingDownPolicies(MrScalarTaskScalingDownPolicyArgs.builder()
        .metricName("string")
        .unit("string")
        .threshold(0)
        .policyName("string")
        .namespace("string")
        .minTargetCapacity("string")
        .maximum("string")
        .maxTargetCapacity("string")
        .actionType("string")
        .minimum("string")
        .evaluationPeriods(0)
        .operator("string")
        .period(0)
        .dimensions(Map.of("string", "string"))
        .statistic("string")
        .target("string")
        .cooldown(0)
        .adjustment("string")
        .build())
    .taskScalingUpPolicies(MrScalarTaskScalingUpPolicyArgs.builder()
        .metricName("string")
        .unit("string")
        .threshold(0)
        .policyName("string")
        .namespace("string")
        .minTargetCapacity("string")
        .maximum("string")
        .maxTargetCapacity("string")
        .actionType("string")
        .minimum("string")
        .evaluationPeriods(0)
        .operator("string")
        .period(0)
        .dimensions(Map.of("string", "string"))
        .statistic("string")
        .target("string")
        .cooldown(0)
        .adjustment("string")
        .build())
    .taskUnit("string")
    .terminationPolicies(MrScalarTerminationPolicyArgs.builder()
        .statements(MrScalarTerminationPolicyStatementArgs.builder()
            .metricName("string")
            .namespace("string")
            .threshold(0)
            .evaluationPeriods(0)
            .operator("string")
            .period(0)
            .statistic("string")
            .unit("string")
            .build())
        .build())
    .terminationProtected(false)
    .build());
mr_scalar_resource = spotinst.aws.MrScalar("mrScalarResource",
    strategy="string",
    master_ebs_optimized=False,
    configurations_files=[{
        "bucket": "string",
        "key": "string",
    }],
    applications=[{
        "name": "string",
        "args": ["string"],
        "version": "string",
    }],
    availability_zones=["string"],
    bootstrap_actions_files=[{
        "bucket": "string",
        "key": "string",
    }],
    cluster_id="string",
    additional_info="string",
    core_desired_capacity=0,
    core_ebs_block_devices=[{
        "size_in_gb": 0,
        "volume_type": "string",
        "iops": 0,
        "volumes_per_instance": 0,
    }],
    core_ebs_optimized=False,
    core_instance_types=["string"],
    core_lifecycle="string",
    core_max_size=0,
    core_min_size=0,
    core_scaling_down_policies=[{
        "metric_name": "string",
        "unit": "string",
        "threshold": 0,
        "policy_name": "string",
        "namespace": "string",
        "min_target_capacity": "string",
        "maximum": "string",
        "max_target_capacity": "string",
        "action_type": "string",
        "minimum": "string",
        "evaluation_periods": 0,
        "operator": "string",
        "period": 0,
        "dimensions": {
            "string": "string",
        },
        "statistic": "string",
        "target": "string",
        "cooldown": 0,
        "adjustment": "string",
    }],
    core_scaling_up_policies=[{
        "metric_name": "string",
        "unit": "string",
        "threshold": 0,
        "policy_name": "string",
        "namespace": "string",
        "min_target_capacity": "string",
        "maximum": "string",
        "max_target_capacity": "string",
        "action_type": "string",
        "minimum": "string",
        "evaluation_periods": 0,
        "operator": "string",
        "period": 0,
        "dimensions": {
            "string": "string",
        },
        "statistic": "string",
        "target": "string",
        "cooldown": 0,
        "adjustment": "string",
    }],
    core_unit="string",
    custom_ami_id="string",
    description="string",
    ebs_root_volume_size=0,
    ec2_key_name="string",
    expose_cluster_id=False,
    instance_weights=[{
        "instance_type": "string",
        "weighted_capacity": 0,
    }],
    job_flow_role="string",
    keep_job_flow_alive=False,
    master_instance_types=["string"],
    master_ebs_block_devices=[{
        "size_in_gb": 0,
        "volume_type": "string",
        "iops": 0,
        "volumes_per_instance": 0,
    }],
    managed_replica_security_group="string",
    managed_primary_security_group="string",
    additional_replica_security_groups=["string"],
    log_uri="string",
    master_lifecycle="string",
    master_target=0,
    name="string",
    provisioning_timeout={
        "timeout": 0,
        "timeout_action": "string",
    },
    region="string",
    release_label="string",
    repo_upgrade_on_boot="string",
    retries=0,
    scheduled_tasks=[{
        "cron": "string",
        "instance_group_type": "string",
        "task_type": "string",
        "desired_capacity": "string",
        "is_enabled": False,
        "max_capacity": "string",
        "min_capacity": "string",
    }],
    security_config="string",
    service_access_security_group="string",
    service_role="string",
    steps_files=[{
        "bucket": "string",
        "key": "string",
    }],
    additional_primary_security_groups=["string"],
    tags=[{
        "key": "string",
        "value": "string",
    }],
    task_desired_capacity=0,
    task_ebs_block_devices=[{
        "size_in_gb": 0,
        "volume_type": "string",
        "iops": 0,
        "volumes_per_instance": 0,
    }],
    task_ebs_optimized=False,
    task_instance_types=["string"],
    task_lifecycle="string",
    task_max_size=0,
    task_min_size=0,
    task_scaling_down_policies=[{
        "metric_name": "string",
        "unit": "string",
        "threshold": 0,
        "policy_name": "string",
        "namespace": "string",
        "min_target_capacity": "string",
        "maximum": "string",
        "max_target_capacity": "string",
        "action_type": "string",
        "minimum": "string",
        "evaluation_periods": 0,
        "operator": "string",
        "period": 0,
        "dimensions": {
            "string": "string",
        },
        "statistic": "string",
        "target": "string",
        "cooldown": 0,
        "adjustment": "string",
    }],
    task_scaling_up_policies=[{
        "metric_name": "string",
        "unit": "string",
        "threshold": 0,
        "policy_name": "string",
        "namespace": "string",
        "min_target_capacity": "string",
        "maximum": "string",
        "max_target_capacity": "string",
        "action_type": "string",
        "minimum": "string",
        "evaluation_periods": 0,
        "operator": "string",
        "period": 0,
        "dimensions": {
            "string": "string",
        },
        "statistic": "string",
        "target": "string",
        "cooldown": 0,
        "adjustment": "string",
    }],
    task_unit="string",
    termination_policies=[{
        "statements": [{
            "metric_name": "string",
            "namespace": "string",
            "threshold": 0,
            "evaluation_periods": 0,
            "operator": "string",
            "period": 0,
            "statistic": "string",
            "unit": "string",
        }],
    }],
    termination_protected=False)
const mrScalarResource = new spotinst.aws.MrScalar("mrScalarResource", {
    strategy: "string",
    masterEbsOptimized: false,
    configurationsFiles: [{
        bucket: "string",
        key: "string",
    }],
    applications: [{
        name: "string",
        args: ["string"],
        version: "string",
    }],
    availabilityZones: ["string"],
    bootstrapActionsFiles: [{
        bucket: "string",
        key: "string",
    }],
    clusterId: "string",
    additionalInfo: "string",
    coreDesiredCapacity: 0,
    coreEbsBlockDevices: [{
        sizeInGb: 0,
        volumeType: "string",
        iops: 0,
        volumesPerInstance: 0,
    }],
    coreEbsOptimized: false,
    coreInstanceTypes: ["string"],
    coreLifecycle: "string",
    coreMaxSize: 0,
    coreMinSize: 0,
    coreScalingDownPolicies: [{
        metricName: "string",
        unit: "string",
        threshold: 0,
        policyName: "string",
        namespace: "string",
        minTargetCapacity: "string",
        maximum: "string",
        maxTargetCapacity: "string",
        actionType: "string",
        minimum: "string",
        evaluationPeriods: 0,
        operator: "string",
        period: 0,
        dimensions: {
            string: "string",
        },
        statistic: "string",
        target: "string",
        cooldown: 0,
        adjustment: "string",
    }],
    coreScalingUpPolicies: [{
        metricName: "string",
        unit: "string",
        threshold: 0,
        policyName: "string",
        namespace: "string",
        minTargetCapacity: "string",
        maximum: "string",
        maxTargetCapacity: "string",
        actionType: "string",
        minimum: "string",
        evaluationPeriods: 0,
        operator: "string",
        period: 0,
        dimensions: {
            string: "string",
        },
        statistic: "string",
        target: "string",
        cooldown: 0,
        adjustment: "string",
    }],
    coreUnit: "string",
    customAmiId: "string",
    description: "string",
    ebsRootVolumeSize: 0,
    ec2KeyName: "string",
    exposeClusterId: false,
    instanceWeights: [{
        instanceType: "string",
        weightedCapacity: 0,
    }],
    jobFlowRole: "string",
    keepJobFlowAlive: false,
    masterInstanceTypes: ["string"],
    masterEbsBlockDevices: [{
        sizeInGb: 0,
        volumeType: "string",
        iops: 0,
        volumesPerInstance: 0,
    }],
    managedReplicaSecurityGroup: "string",
    managedPrimarySecurityGroup: "string",
    additionalReplicaSecurityGroups: ["string"],
    logUri: "string",
    masterLifecycle: "string",
    masterTarget: 0,
    name: "string",
    provisioningTimeout: {
        timeout: 0,
        timeoutAction: "string",
    },
    region: "string",
    releaseLabel: "string",
    repoUpgradeOnBoot: "string",
    retries: 0,
    scheduledTasks: [{
        cron: "string",
        instanceGroupType: "string",
        taskType: "string",
        desiredCapacity: "string",
        isEnabled: false,
        maxCapacity: "string",
        minCapacity: "string",
    }],
    securityConfig: "string",
    serviceAccessSecurityGroup: "string",
    serviceRole: "string",
    stepsFiles: [{
        bucket: "string",
        key: "string",
    }],
    additionalPrimarySecurityGroups: ["string"],
    tags: [{
        key: "string",
        value: "string",
    }],
    taskDesiredCapacity: 0,
    taskEbsBlockDevices: [{
        sizeInGb: 0,
        volumeType: "string",
        iops: 0,
        volumesPerInstance: 0,
    }],
    taskEbsOptimized: false,
    taskInstanceTypes: ["string"],
    taskLifecycle: "string",
    taskMaxSize: 0,
    taskMinSize: 0,
    taskScalingDownPolicies: [{
        metricName: "string",
        unit: "string",
        threshold: 0,
        policyName: "string",
        namespace: "string",
        minTargetCapacity: "string",
        maximum: "string",
        maxTargetCapacity: "string",
        actionType: "string",
        minimum: "string",
        evaluationPeriods: 0,
        operator: "string",
        period: 0,
        dimensions: {
            string: "string",
        },
        statistic: "string",
        target: "string",
        cooldown: 0,
        adjustment: "string",
    }],
    taskScalingUpPolicies: [{
        metricName: "string",
        unit: "string",
        threshold: 0,
        policyName: "string",
        namespace: "string",
        minTargetCapacity: "string",
        maximum: "string",
        maxTargetCapacity: "string",
        actionType: "string",
        minimum: "string",
        evaluationPeriods: 0,
        operator: "string",
        period: 0,
        dimensions: {
            string: "string",
        },
        statistic: "string",
        target: "string",
        cooldown: 0,
        adjustment: "string",
    }],
    taskUnit: "string",
    terminationPolicies: [{
        statements: [{
            metricName: "string",
            namespace: "string",
            threshold: 0,
            evaluationPeriods: 0,
            operator: "string",
            period: 0,
            statistic: "string",
            unit: "string",
        }],
    }],
    terminationProtected: false,
});
type: spotinst:aws:MrScalar
properties:
    additionalInfo: string
    additionalPrimarySecurityGroups:
        - string
    additionalReplicaSecurityGroups:
        - string
    applications:
        - args:
            - string
          name: string
          version: string
    availabilityZones:
        - string
    bootstrapActionsFiles:
        - bucket: string
          key: string
    clusterId: string
    configurationsFiles:
        - bucket: string
          key: string
    coreDesiredCapacity: 0
    coreEbsBlockDevices:
        - iops: 0
          sizeInGb: 0
          volumeType: string
          volumesPerInstance: 0
    coreEbsOptimized: false
    coreInstanceTypes:
        - string
    coreLifecycle: string
    coreMaxSize: 0
    coreMinSize: 0
    coreScalingDownPolicies:
        - actionType: string
          adjustment: string
          cooldown: 0
          dimensions:
            string: string
          evaluationPeriods: 0
          maxTargetCapacity: string
          maximum: string
          metricName: string
          minTargetCapacity: string
          minimum: string
          namespace: string
          operator: string
          period: 0
          policyName: string
          statistic: string
          target: string
          threshold: 0
          unit: string
    coreScalingUpPolicies:
        - actionType: string
          adjustment: string
          cooldown: 0
          dimensions:
            string: string
          evaluationPeriods: 0
          maxTargetCapacity: string
          maximum: string
          metricName: string
          minTargetCapacity: string
          minimum: string
          namespace: string
          operator: string
          period: 0
          policyName: string
          statistic: string
          target: string
          threshold: 0
          unit: string
    coreUnit: string
    customAmiId: string
    description: string
    ebsRootVolumeSize: 0
    ec2KeyName: string
    exposeClusterId: false
    instanceWeights:
        - instanceType: string
          weightedCapacity: 0
    jobFlowRole: string
    keepJobFlowAlive: false
    logUri: string
    managedPrimarySecurityGroup: string
    managedReplicaSecurityGroup: string
    masterEbsBlockDevices:
        - iops: 0
          sizeInGb: 0
          volumeType: string
          volumesPerInstance: 0
    masterEbsOptimized: false
    masterInstanceTypes:
        - string
    masterLifecycle: string
    masterTarget: 0
    name: string
    provisioningTimeout:
        timeout: 0
        timeoutAction: string
    region: string
    releaseLabel: string
    repoUpgradeOnBoot: string
    retries: 0
    scheduledTasks:
        - cron: string
          desiredCapacity: string
          instanceGroupType: string
          isEnabled: false
          maxCapacity: string
          minCapacity: string
          taskType: string
    securityConfig: string
    serviceAccessSecurityGroup: string
    serviceRole: string
    stepsFiles:
        - bucket: string
          key: string
    strategy: string
    tags:
        - key: string
          value: string
    taskDesiredCapacity: 0
    taskEbsBlockDevices:
        - iops: 0
          sizeInGb: 0
          volumeType: string
          volumesPerInstance: 0
    taskEbsOptimized: false
    taskInstanceTypes:
        - string
    taskLifecycle: string
    taskMaxSize: 0
    taskMinSize: 0
    taskScalingDownPolicies:
        - actionType: string
          adjustment: string
          cooldown: 0
          dimensions:
            string: string
          evaluationPeriods: 0
          maxTargetCapacity: string
          maximum: string
          metricName: string
          minTargetCapacity: string
          minimum: string
          namespace: string
          operator: string
          period: 0
          policyName: string
          statistic: string
          target: string
          threshold: 0
          unit: string
    taskScalingUpPolicies:
        - actionType: string
          adjustment: string
          cooldown: 0
          dimensions:
            string: string
          evaluationPeriods: 0
          maxTargetCapacity: string
          maximum: string
          metricName: string
          minTargetCapacity: string
          minimum: string
          namespace: string
          operator: string
          period: 0
          policyName: string
          statistic: string
          target: string
          threshold: 0
          unit: string
    taskUnit: string
    terminationPolicies:
        - statements:
            - evaluationPeriods: 0
              metricName: string
              namespace: string
              operator: string
              period: 0
              statistic: string
              threshold: 0
              unit: string
    terminationProtected: false
MrScalar Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The MrScalar resource accepts the following input properties:
- Strategy string
 - The MrScaler strategy. Allowed values are 
newcloneandwrap. - Additional
Info string - Additional
Primary List<string>Security Groups  - Additional
Replica List<string>Security Groups  - Applications
List<Pulumi.
Spot Inst. Aws. Inputs. Mr Scalar Application>  - Availability
Zones List<string> - Bootstrap
Actions List<Pulumi.Files Spot Inst. Aws. Inputs. Mr Scalar Bootstrap Actions File>  - Cluster
Id string - The MrScaler cluster id.
 - Configurations
Files List<Pulumi.Spot Inst. Aws. Inputs. Mr Scalar Configurations File>  - Core
Desired intCapacity  - Core
Ebs List<Pulumi.Block Devices Spot Inst. Aws. Inputs. Mr Scalar Core Ebs Block Device>  - Core
Ebs boolOptimized  - Core
Instance List<string>Types  - Core
Lifecycle string - Core
Max intSize  - Core
Min intSize  - Core
Scaling List<Pulumi.Down Policies Spot Inst. Aws. Inputs. Mr Scalar Core Scaling Down Policy>  - Core
Scaling List<Pulumi.Up Policies Spot Inst. Aws. Inputs. Mr Scalar Core Scaling Up Policy>  - Core
Unit string - Custom
Ami stringId  - Description string
 - The MrScaler description.
 - Ebs
Root intVolume Size  - Ec2Key
Name string - Expose
Cluster boolId  - Allow the 
cluster_idto set a provider output variable. - Instance
Weights List<Pulumi.Spot Inst. Aws. Inputs. Mr Scalar Instance Weight>  - Job
Flow stringRole  - Keep
Job boolFlow Alive  - Log
Uri string - Managed
Primary stringSecurity Group  - Managed
Replica stringSecurity Group  - Master
Ebs List<Pulumi.Block Devices Spot Inst. Aws. Inputs. Mr Scalar Master Ebs Block Device>  - Master
Ebs boolOptimized  - Master
Instance List<string>Types  - Master
Lifecycle string - Master
Target int - Name string
 - The MrScaler name.
 - Provisioning
Timeout Pulumi.Spot Inst. Aws. Inputs. Mr Scalar Provisioning Timeout  - Region string
 - The MrScaler region.
 - Release
Label string - Repo
Upgrade stringOn Boot  - Retries int
 - Scheduled
Tasks List<Pulumi.Spot Inst. Aws. Inputs. Mr Scalar Scheduled Task>  - Security
Config string - Service
Access stringSecurity Group  - Service
Role string - Steps
Files List<Pulumi.Spot Inst. Aws. Inputs. Mr Scalar Steps File>  - 
List<Pulumi.
Spot Inst. Aws. Inputs. Mr Scalar Tag>  - Task
Desired intCapacity  - Task
Ebs List<Pulumi.Block Devices Spot Inst. Aws. Inputs. Mr Scalar Task Ebs Block Device>  - Task
Ebs boolOptimized  - Task
Instance List<string>Types  - Task
Lifecycle string - Task
Max intSize  - Task
Min intSize  - Task
Scaling List<Pulumi.Down Policies Spot Inst. Aws. Inputs. Mr Scalar Task Scaling Down Policy>  - Task
Scaling List<Pulumi.Up Policies Spot Inst. Aws. Inputs. Mr Scalar Task Scaling Up Policy>  - Task
Unit string - Termination
Policies List<Pulumi.Spot Inst. Aws. Inputs. Mr Scalar Termination Policy>  - Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
 - Termination
Protected bool - Visible
To boolAll Users  
- Strategy string
 - The MrScaler strategy. Allowed values are 
newcloneandwrap. - Additional
Info string - Additional
Primary []stringSecurity Groups  - Additional
Replica []stringSecurity Groups  - Applications
[]Mr
Scalar Application Args  - Availability
Zones []string - Bootstrap
Actions []MrFiles Scalar Bootstrap Actions File Args  - Cluster
Id string - The MrScaler cluster id.
 - Configurations
Files []MrScalar Configurations File Args  - Core
Desired intCapacity  - Core
Ebs []MrBlock Devices Scalar Core Ebs Block Device Args  - Core
Ebs boolOptimized  - Core
Instance []stringTypes  - Core
Lifecycle string - Core
Max intSize  - Core
Min intSize  - Core
Scaling []MrDown Policies Scalar Core Scaling Down Policy Args  - Core
Scaling []MrUp Policies Scalar Core Scaling Up Policy Args  - Core
Unit string - Custom
Ami stringId  - Description string
 - The MrScaler description.
 - Ebs
Root intVolume Size  - Ec2Key
Name string - Expose
Cluster boolId  - Allow the 
cluster_idto set a provider output variable. - Instance
Weights []MrScalar Instance Weight Args  - Job
Flow stringRole  - Keep
Job boolFlow Alive  - Log
Uri string - Managed
Primary stringSecurity Group  - Managed
Replica stringSecurity Group  - Master
Ebs []MrBlock Devices Scalar Master Ebs Block Device Args  - Master
Ebs boolOptimized  - Master
Instance []stringTypes  - Master
Lifecycle string - Master
Target int - Name string
 - The MrScaler name.
 - Provisioning
Timeout MrScalar Provisioning Timeout Args  - Region string
 - The MrScaler region.
 - Release
Label string - Repo
Upgrade stringOn Boot  - Retries int
 - Scheduled
Tasks []MrScalar Scheduled Task Args  - Security
Config string - Service
Access stringSecurity Group  - Service
Role string - Steps
Files []MrScalar Steps File Args  - 
[]Mr
Scalar Tag Args  - Task
Desired intCapacity  - Task
Ebs []MrBlock Devices Scalar Task Ebs Block Device Args  - Task
Ebs boolOptimized  - Task
Instance []stringTypes  - Task
Lifecycle string - Task
Max intSize  - Task
Min intSize  - Task
Scaling []MrDown Policies Scalar Task Scaling Down Policy Args  - Task
Scaling []MrUp Policies Scalar Task Scaling Up Policy Args  - Task
Unit string - Termination
Policies []MrScalar Termination Policy Args  - Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
 - Termination
Protected bool - Visible
To boolAll Users  
- strategy String
 - The MrScaler strategy. Allowed values are 
newcloneandwrap. - additional
Info String - additional
Primary List<String>Security Groups  - additional
Replica List<String>Security Groups  - applications
List<Mr
Scalar Application>  - availability
Zones List<String> - bootstrap
Actions List<MrFiles Scalar Bootstrap Actions File>  - cluster
Id String - The MrScaler cluster id.
 - configurations
Files List<MrScalar Configurations File>  - core
Desired IntegerCapacity  - core
Ebs List<MrBlock Devices Scalar Core Ebs Block Device>  - core
Ebs BooleanOptimized  - core
Instance List<String>Types  - core
Lifecycle String - core
Max IntegerSize  - core
Min IntegerSize  - core
Scaling List<MrDown Policies Scalar Core Scaling Down Policy>  - core
Scaling List<MrUp Policies Scalar Core Scaling Up Policy>  - core
Unit String - custom
Ami StringId  - description String
 - The MrScaler description.
 - ebs
Root IntegerVolume Size  - ec2Key
Name String - expose
Cluster BooleanId  - Allow the 
cluster_idto set a provider output variable. - instance
Weights List<MrScalar Instance Weight>  - job
Flow StringRole  - keep
Job BooleanFlow Alive  - log
Uri String - managed
Primary StringSecurity Group  - managed
Replica StringSecurity Group  - master
Ebs List<MrBlock Devices Scalar Master Ebs Block Device>  - master
Ebs BooleanOptimized  - master
Instance List<String>Types  - master
Lifecycle String - master
Target Integer - name String
 - The MrScaler name.
 - provisioning
Timeout MrScalar Provisioning Timeout  - region String
 - The MrScaler region.
 - release
Label String - repo
Upgrade StringOn Boot  - retries Integer
 - scheduled
Tasks List<MrScalar Scheduled Task>  - security
Config String - service
Access StringSecurity Group  - service
Role String - steps
Files List<MrScalar Steps File>  - 
List<Mr
Scalar Tag>  - task
Desired IntegerCapacity  - task
Ebs List<MrBlock Devices Scalar Task Ebs Block Device>  - task
Ebs BooleanOptimized  - task
Instance List<String>Types  - task
Lifecycle String - task
Max IntegerSize  - task
Min IntegerSize  - task
Scaling List<MrDown Policies Scalar Task Scaling Down Policy>  - task
Scaling List<MrUp Policies Scalar Task Scaling Up Policy>  - task
Unit String - termination
Policies List<MrScalar Termination Policy>  - Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
 - termination
Protected Boolean - visible
To BooleanAll Users  
- strategy string
 - The MrScaler strategy. Allowed values are 
newcloneandwrap. - additional
Info string - additional
Primary string[]Security Groups  - additional
Replica string[]Security Groups  - applications
Mr
Scalar Application[]  - availability
Zones string[] - bootstrap
Actions MrFiles Scalar Bootstrap Actions File[]  - cluster
Id string - The MrScaler cluster id.
 - configurations
Files MrScalar Configurations File[]  - core
Desired numberCapacity  - core
Ebs MrBlock Devices Scalar Core Ebs Block Device[]  - core
Ebs booleanOptimized  - core
Instance string[]Types  - core
Lifecycle string - core
Max numberSize  - core
Min numberSize  - core
Scaling MrDown Policies Scalar Core Scaling Down Policy[]  - core
Scaling MrUp Policies Scalar Core Scaling Up Policy[]  - core
Unit string - custom
Ami stringId  - description string
 - The MrScaler description.
 - ebs
Root numberVolume Size  - ec2Key
Name string - expose
Cluster booleanId  - Allow the 
cluster_idto set a provider output variable. - instance
Weights MrScalar Instance Weight[]  - job
Flow stringRole  - keep
Job booleanFlow Alive  - log
Uri string - managed
Primary stringSecurity Group  - managed
Replica stringSecurity Group  - master
Ebs MrBlock Devices Scalar Master Ebs Block Device[]  - master
Ebs booleanOptimized  - master
Instance string[]Types  - master
Lifecycle string - master
Target number - name string
 - The MrScaler name.
 - provisioning
Timeout MrScalar Provisioning Timeout  - region string
 - The MrScaler region.
 - release
Label string - repo
Upgrade stringOn Boot  - retries number
 - scheduled
Tasks MrScalar Scheduled Task[]  - security
Config string - service
Access stringSecurity Group  - service
Role string - steps
Files MrScalar Steps File[]  - 
Mr
Scalar Tag[]  - task
Desired numberCapacity  - task
Ebs MrBlock Devices Scalar Task Ebs Block Device[]  - task
Ebs booleanOptimized  - task
Instance string[]Types  - task
Lifecycle string - task
Max numberSize  - task
Min numberSize  - task
Scaling MrDown Policies Scalar Task Scaling Down Policy[]  - task
Scaling MrUp Policies Scalar Task Scaling Up Policy[]  - task
Unit string - termination
Policies MrScalar Termination Policy[]  - Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
 - termination
Protected boolean - visible
To booleanAll Users  
- strategy str
 - The MrScaler strategy. Allowed values are 
newcloneandwrap. - additional_
info str - additional_
primary_ Sequence[str]security_ groups  - additional_
replica_ Sequence[str]security_ groups  - applications
Sequence[Mr
Scalar Application Args]  - availability_
zones Sequence[str] - bootstrap_
actions_ Sequence[Mrfiles Scalar Bootstrap Actions File Args]  - cluster_
id str - The MrScaler cluster id.
 - configurations_
files Sequence[MrScalar Configurations File Args]  - core_
desired_ intcapacity  - core_
ebs_ Sequence[Mrblock_ devices Scalar Core Ebs Block Device Args]  - core_
ebs_ booloptimized  - core_
instance_ Sequence[str]types  - core_
lifecycle str - core_
max_ intsize  - core_
min_ intsize  - core_
scaling_ Sequence[Mrdown_ policies Scalar Core Scaling Down Policy Args]  - core_
scaling_ Sequence[Mrup_ policies Scalar Core Scaling Up Policy Args]  - core_
unit str - custom_
ami_ strid  - description str
 - The MrScaler description.
 - ebs_
root_ intvolume_ size  - ec2_
key_ strname  - expose_
cluster_ boolid  - Allow the 
cluster_idto set a provider output variable. - instance_
weights Sequence[MrScalar Instance Weight Args]  - job_
flow_ strrole  - keep_
job_ boolflow_ alive  - log_
uri str - managed_
primary_ strsecurity_ group  - managed_
replica_ strsecurity_ group  - master_
ebs_ Sequence[Mrblock_ devices Scalar Master Ebs Block Device Args]  - master_
ebs_ booloptimized  - master_
instance_ Sequence[str]types  - master_
lifecycle str - master_
target int - name str
 - The MrScaler name.
 - provisioning_
timeout MrScalar Provisioning Timeout Args  - region str
 - The MrScaler region.
 - release_
label str - repo_
upgrade_ stron_ boot  - retries int
 - scheduled_
tasks Sequence[MrScalar Scheduled Task Args]  - security_
config str - service_
access_ strsecurity_ group  - service_
role str - steps_
files Sequence[MrScalar Steps File Args]  - 
Sequence[Mr
Scalar Tag Args]  - task_
desired_ intcapacity  - task_
ebs_ Sequence[Mrblock_ devices Scalar Task Ebs Block Device Args]  - task_
ebs_ booloptimized  - task_
instance_ Sequence[str]types  - task_
lifecycle str - task_
max_ intsize  - task_
min_ intsize  - task_
scaling_ Sequence[Mrdown_ policies Scalar Task Scaling Down Policy Args]  - task_
scaling_ Sequence[Mrup_ policies Scalar Task Scaling Up Policy Args]  - task_
unit str - termination_
policies Sequence[MrScalar Termination Policy Args]  - Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
 - termination_
protected bool - visible_
to_ boolall_ users  
- strategy String
 - The MrScaler strategy. Allowed values are 
newcloneandwrap. - additional
Info String - additional
Primary List<String>Security Groups  - additional
Replica List<String>Security Groups  - applications List<Property Map>
 - availability
Zones List<String> - bootstrap
Actions List<Property Map>Files  - cluster
Id String - The MrScaler cluster id.
 - configurations
Files List<Property Map> - core
Desired NumberCapacity  - core
Ebs List<Property Map>Block Devices  - core
Ebs BooleanOptimized  - core
Instance List<String>Types  - core
Lifecycle String - core
Max NumberSize  - core
Min NumberSize  - core
Scaling List<Property Map>Down Policies  - core
Scaling List<Property Map>Up Policies  - core
Unit String - custom
Ami StringId  - description String
 - The MrScaler description.
 - ebs
Root NumberVolume Size  - ec2Key
Name String - expose
Cluster BooleanId  - Allow the 
cluster_idto set a provider output variable. - instance
Weights List<Property Map> - job
Flow StringRole  - keep
Job BooleanFlow Alive  - log
Uri String - managed
Primary StringSecurity Group  - managed
Replica StringSecurity Group  - master
Ebs List<Property Map>Block Devices  - master
Ebs BooleanOptimized  - master
Instance List<String>Types  - master
Lifecycle String - master
Target Number - name String
 - The MrScaler name.
 - provisioning
Timeout Property Map - region String
 - The MrScaler region.
 - release
Label String - repo
Upgrade StringOn Boot  - retries Number
 - scheduled
Tasks List<Property Map> - security
Config String - service
Access StringSecurity Group  - service
Role String - steps
Files List<Property Map> - List<Property Map>
 - task
Desired NumberCapacity  - task
Ebs List<Property Map>Block Devices  - task
Ebs BooleanOptimized  - task
Instance List<String>Types  - task
Lifecycle String - task
Max NumberSize  - task
Min NumberSize  - task
Scaling List<Property Map>Down Policies  - task
Scaling List<Property Map>Up Policies  - task
Unit String - termination
Policies List<Property Map> - Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
 - termination
Protected Boolean - visible
To BooleanAll Users  
Outputs
All input properties are implicitly available as output properties. Additionally, the MrScalar resource produces the following output properties:
- Id string
 - The provider-assigned unique ID for this managed resource.
 - Output
Cluster stringId  
- Id string
 - The provider-assigned unique ID for this managed resource.
 - Output
Cluster stringId  
- id String
 - The provider-assigned unique ID for this managed resource.
 - output
Cluster StringId  
- id string
 - The provider-assigned unique ID for this managed resource.
 - output
Cluster stringId  
- id str
 - The provider-assigned unique ID for this managed resource.
 - output_
cluster_ strid  
- id String
 - The provider-assigned unique ID for this managed resource.
 - output
Cluster StringId  
Look up Existing MrScalar Resource
Get an existing MrScalar resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: MrScalarState, opts?: CustomResourceOptions): MrScalar@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        additional_info: Optional[str] = None,
        additional_primary_security_groups: Optional[Sequence[str]] = None,
        additional_replica_security_groups: Optional[Sequence[str]] = None,
        applications: Optional[Sequence[MrScalarApplicationArgs]] = None,
        availability_zones: Optional[Sequence[str]] = None,
        bootstrap_actions_files: Optional[Sequence[MrScalarBootstrapActionsFileArgs]] = None,
        cluster_id: Optional[str] = None,
        configurations_files: Optional[Sequence[MrScalarConfigurationsFileArgs]] = None,
        core_desired_capacity: Optional[int] = None,
        core_ebs_block_devices: Optional[Sequence[MrScalarCoreEbsBlockDeviceArgs]] = None,
        core_ebs_optimized: Optional[bool] = None,
        core_instance_types: Optional[Sequence[str]] = None,
        core_lifecycle: Optional[str] = None,
        core_max_size: Optional[int] = None,
        core_min_size: Optional[int] = None,
        core_scaling_down_policies: Optional[Sequence[MrScalarCoreScalingDownPolicyArgs]] = None,
        core_scaling_up_policies: Optional[Sequence[MrScalarCoreScalingUpPolicyArgs]] = None,
        core_unit: Optional[str] = None,
        custom_ami_id: Optional[str] = None,
        description: Optional[str] = None,
        ebs_root_volume_size: Optional[int] = None,
        ec2_key_name: Optional[str] = None,
        expose_cluster_id: Optional[bool] = None,
        instance_weights: Optional[Sequence[MrScalarInstanceWeightArgs]] = None,
        job_flow_role: Optional[str] = None,
        keep_job_flow_alive: Optional[bool] = None,
        log_uri: Optional[str] = None,
        managed_primary_security_group: Optional[str] = None,
        managed_replica_security_group: Optional[str] = None,
        master_ebs_block_devices: Optional[Sequence[MrScalarMasterEbsBlockDeviceArgs]] = None,
        master_ebs_optimized: Optional[bool] = None,
        master_instance_types: Optional[Sequence[str]] = None,
        master_lifecycle: Optional[str] = None,
        master_target: Optional[int] = None,
        name: Optional[str] = None,
        output_cluster_id: Optional[str] = None,
        provisioning_timeout: Optional[MrScalarProvisioningTimeoutArgs] = None,
        region: Optional[str] = None,
        release_label: Optional[str] = None,
        repo_upgrade_on_boot: Optional[str] = None,
        retries: Optional[int] = None,
        scheduled_tasks: Optional[Sequence[MrScalarScheduledTaskArgs]] = None,
        security_config: Optional[str] = None,
        service_access_security_group: Optional[str] = None,
        service_role: Optional[str] = None,
        steps_files: Optional[Sequence[MrScalarStepsFileArgs]] = None,
        strategy: Optional[str] = None,
        tags: Optional[Sequence[MrScalarTagArgs]] = None,
        task_desired_capacity: Optional[int] = None,
        task_ebs_block_devices: Optional[Sequence[MrScalarTaskEbsBlockDeviceArgs]] = None,
        task_ebs_optimized: Optional[bool] = None,
        task_instance_types: Optional[Sequence[str]] = None,
        task_lifecycle: Optional[str] = None,
        task_max_size: Optional[int] = None,
        task_min_size: Optional[int] = None,
        task_scaling_down_policies: Optional[Sequence[MrScalarTaskScalingDownPolicyArgs]] = None,
        task_scaling_up_policies: Optional[Sequence[MrScalarTaskScalingUpPolicyArgs]] = None,
        task_unit: Optional[str] = None,
        termination_policies: Optional[Sequence[MrScalarTerminationPolicyArgs]] = None,
        termination_protected: Optional[bool] = None,
        visible_to_all_users: Optional[bool] = None) -> MrScalarfunc GetMrScalar(ctx *Context, name string, id IDInput, state *MrScalarState, opts ...ResourceOption) (*MrScalar, error)public static MrScalar Get(string name, Input<string> id, MrScalarState? state, CustomResourceOptions? opts = null)public static MrScalar get(String name, Output<String> id, MrScalarState state, CustomResourceOptions options)resources:  _:    type: spotinst:aws:MrScalar    get:      id: ${id}- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- resource_name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 
- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- Additional
Info string - Additional
Primary List<string>Security Groups  - Additional
Replica List<string>Security Groups  - Applications
List<Pulumi.
Spot Inst. Aws. Inputs. Mr Scalar Application>  - Availability
Zones List<string> - Bootstrap
Actions List<Pulumi.Files Spot Inst. Aws. Inputs. Mr Scalar Bootstrap Actions File>  - Cluster
Id string - The MrScaler cluster id.
 - Configurations
Files List<Pulumi.Spot Inst. Aws. Inputs. Mr Scalar Configurations File>  - Core
Desired intCapacity  - Core
Ebs List<Pulumi.Block Devices Spot Inst. Aws. Inputs. Mr Scalar Core Ebs Block Device>  - Core
Ebs boolOptimized  - Core
Instance List<string>Types  - Core
Lifecycle string - Core
Max intSize  - Core
Min intSize  - Core
Scaling List<Pulumi.Down Policies Spot Inst. Aws. Inputs. Mr Scalar Core Scaling Down Policy>  - Core
Scaling List<Pulumi.Up Policies Spot Inst. Aws. Inputs. Mr Scalar Core Scaling Up Policy>  - Core
Unit string - Custom
Ami stringId  - Description string
 - The MrScaler description.
 - Ebs
Root intVolume Size  - Ec2Key
Name string - Expose
Cluster boolId  - Allow the 
cluster_idto set a provider output variable. - Instance
Weights List<Pulumi.Spot Inst. Aws. Inputs. Mr Scalar Instance Weight>  - Job
Flow stringRole  - Keep
Job boolFlow Alive  - Log
Uri string - Managed
Primary stringSecurity Group  - Managed
Replica stringSecurity Group  - Master
Ebs List<Pulumi.Block Devices Spot Inst. Aws. Inputs. Mr Scalar Master Ebs Block Device>  - Master
Ebs boolOptimized  - Master
Instance List<string>Types  - Master
Lifecycle string - Master
Target int - Name string
 - The MrScaler name.
 - Output
Cluster stringId  - Provisioning
Timeout Pulumi.Spot Inst. Aws. Inputs. Mr Scalar Provisioning Timeout  - Region string
 - The MrScaler region.
 - Release
Label string - Repo
Upgrade stringOn Boot  - Retries int
 - Scheduled
Tasks List<Pulumi.Spot Inst. Aws. Inputs. Mr Scalar Scheduled Task>  - Security
Config string - Service
Access stringSecurity Group  - Service
Role string - Steps
Files List<Pulumi.Spot Inst. Aws. Inputs. Mr Scalar Steps File>  - Strategy string
 - The MrScaler strategy. Allowed values are 
newcloneandwrap. - 
List<Pulumi.
Spot Inst. Aws. Inputs. Mr Scalar Tag>  - Task
Desired intCapacity  - Task
Ebs List<Pulumi.Block Devices Spot Inst. Aws. Inputs. Mr Scalar Task Ebs Block Device>  - Task
Ebs boolOptimized  - Task
Instance List<string>Types  - Task
Lifecycle string - Task
Max intSize  - Task
Min intSize  - Task
Scaling List<Pulumi.Down Policies Spot Inst. Aws. Inputs. Mr Scalar Task Scaling Down Policy>  - Task
Scaling List<Pulumi.Up Policies Spot Inst. Aws. Inputs. Mr Scalar Task Scaling Up Policy>  - Task
Unit string - Termination
Policies List<Pulumi.Spot Inst. Aws. Inputs. Mr Scalar Termination Policy>  - Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
 - Termination
Protected bool - Visible
To boolAll Users  
- Additional
Info string - Additional
Primary []stringSecurity Groups  - Additional
Replica []stringSecurity Groups  - Applications
[]Mr
Scalar Application Args  - Availability
Zones []string - Bootstrap
Actions []MrFiles Scalar Bootstrap Actions File Args  - Cluster
Id string - The MrScaler cluster id.
 - Configurations
Files []MrScalar Configurations File Args  - Core
Desired intCapacity  - Core
Ebs []MrBlock Devices Scalar Core Ebs Block Device Args  - Core
Ebs boolOptimized  - Core
Instance []stringTypes  - Core
Lifecycle string - Core
Max intSize  - Core
Min intSize  - Core
Scaling []MrDown Policies Scalar Core Scaling Down Policy Args  - Core
Scaling []MrUp Policies Scalar Core Scaling Up Policy Args  - Core
Unit string - Custom
Ami stringId  - Description string
 - The MrScaler description.
 - Ebs
Root intVolume Size  - Ec2Key
Name string - Expose
Cluster boolId  - Allow the 
cluster_idto set a provider output variable. - Instance
Weights []MrScalar Instance Weight Args  - Job
Flow stringRole  - Keep
Job boolFlow Alive  - Log
Uri string - Managed
Primary stringSecurity Group  - Managed
Replica stringSecurity Group  - Master
Ebs []MrBlock Devices Scalar Master Ebs Block Device Args  - Master
Ebs boolOptimized  - Master
Instance []stringTypes  - Master
Lifecycle string - Master
Target int - Name string
 - The MrScaler name.
 - Output
Cluster stringId  - Provisioning
Timeout MrScalar Provisioning Timeout Args  - Region string
 - The MrScaler region.
 - Release
Label string - Repo
Upgrade stringOn Boot  - Retries int
 - Scheduled
Tasks []MrScalar Scheduled Task Args  - Security
Config string - Service
Access stringSecurity Group  - Service
Role string - Steps
Files []MrScalar Steps File Args  - Strategy string
 - The MrScaler strategy. Allowed values are 
newcloneandwrap. - 
[]Mr
Scalar Tag Args  - Task
Desired intCapacity  - Task
Ebs []MrBlock Devices Scalar Task Ebs Block Device Args  - Task
Ebs boolOptimized  - Task
Instance []stringTypes  - Task
Lifecycle string - Task
Max intSize  - Task
Min intSize  - Task
Scaling []MrDown Policies Scalar Task Scaling Down Policy Args  - Task
Scaling []MrUp Policies Scalar Task Scaling Up Policy Args  - Task
Unit string - Termination
Policies []MrScalar Termination Policy Args  - Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
 - Termination
Protected bool - Visible
To boolAll Users  
- additional
Info String - additional
Primary List<String>Security Groups  - additional
Replica List<String>Security Groups  - applications
List<Mr
Scalar Application>  - availability
Zones List<String> - bootstrap
Actions List<MrFiles Scalar Bootstrap Actions File>  - cluster
Id String - The MrScaler cluster id.
 - configurations
Files List<MrScalar Configurations File>  - core
Desired IntegerCapacity  - core
Ebs List<MrBlock Devices Scalar Core Ebs Block Device>  - core
Ebs BooleanOptimized  - core
Instance List<String>Types  - core
Lifecycle String - core
Max IntegerSize  - core
Min IntegerSize  - core
Scaling List<MrDown Policies Scalar Core Scaling Down Policy>  - core
Scaling List<MrUp Policies Scalar Core Scaling Up Policy>  - core
Unit String - custom
Ami StringId  - description String
 - The MrScaler description.
 - ebs
Root IntegerVolume Size  - ec2Key
Name String - expose
Cluster BooleanId  - Allow the 
cluster_idto set a provider output variable. - instance
Weights List<MrScalar Instance Weight>  - job
Flow StringRole  - keep
Job BooleanFlow Alive  - log
Uri String - managed
Primary StringSecurity Group  - managed
Replica StringSecurity Group  - master
Ebs List<MrBlock Devices Scalar Master Ebs Block Device>  - master
Ebs BooleanOptimized  - master
Instance List<String>Types  - master
Lifecycle String - master
Target Integer - name String
 - The MrScaler name.
 - output
Cluster StringId  - provisioning
Timeout MrScalar Provisioning Timeout  - region String
 - The MrScaler region.
 - release
Label String - repo
Upgrade StringOn Boot  - retries Integer
 - scheduled
Tasks List<MrScalar Scheduled Task>  - security
Config String - service
Access StringSecurity Group  - service
Role String - steps
Files List<MrScalar Steps File>  - strategy String
 - The MrScaler strategy. Allowed values are 
newcloneandwrap. - 
List<Mr
Scalar Tag>  - task
Desired IntegerCapacity  - task
Ebs List<MrBlock Devices Scalar Task Ebs Block Device>  - task
Ebs BooleanOptimized  - task
Instance List<String>Types  - task
Lifecycle String - task
Max IntegerSize  - task
Min IntegerSize  - task
Scaling List<MrDown Policies Scalar Task Scaling Down Policy>  - task
Scaling List<MrUp Policies Scalar Task Scaling Up Policy>  - task
Unit String - termination
Policies List<MrScalar Termination Policy>  - Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
 - termination
Protected Boolean - visible
To BooleanAll Users  
- additional
Info string - additional
Primary string[]Security Groups  - additional
Replica string[]Security Groups  - applications
Mr
Scalar Application[]  - availability
Zones string[] - bootstrap
Actions MrFiles Scalar Bootstrap Actions File[]  - cluster
Id string - The MrScaler cluster id.
 - configurations
Files MrScalar Configurations File[]  - core
Desired numberCapacity  - core
Ebs MrBlock Devices Scalar Core Ebs Block Device[]  - core
Ebs booleanOptimized  - core
Instance string[]Types  - core
Lifecycle string - core
Max numberSize  - core
Min numberSize  - core
Scaling MrDown Policies Scalar Core Scaling Down Policy[]  - core
Scaling MrUp Policies Scalar Core Scaling Up Policy[]  - core
Unit string - custom
Ami stringId  - description string
 - The MrScaler description.
 - ebs
Root numberVolume Size  - ec2Key
Name string - expose
Cluster booleanId  - Allow the 
cluster_idto set a provider output variable. - instance
Weights MrScalar Instance Weight[]  - job
Flow stringRole  - keep
Job booleanFlow Alive  - log
Uri string - managed
Primary stringSecurity Group  - managed
Replica stringSecurity Group  - master
Ebs MrBlock Devices Scalar Master Ebs Block Device[]  - master
Ebs booleanOptimized  - master
Instance string[]Types  - master
Lifecycle string - master
Target number - name string
 - The MrScaler name.
 - output
Cluster stringId  - provisioning
Timeout MrScalar Provisioning Timeout  - region string
 - The MrScaler region.
 - release
Label string - repo
Upgrade stringOn Boot  - retries number
 - scheduled
Tasks MrScalar Scheduled Task[]  - security
Config string - service
Access stringSecurity Group  - service
Role string - steps
Files MrScalar Steps File[]  - strategy string
 - The MrScaler strategy. Allowed values are 
newcloneandwrap. - 
Mr
Scalar Tag[]  - task
Desired numberCapacity  - task
Ebs MrBlock Devices Scalar Task Ebs Block Device[]  - task
Ebs booleanOptimized  - task
Instance string[]Types  - task
Lifecycle string - task
Max numberSize  - task
Min numberSize  - task
Scaling MrDown Policies Scalar Task Scaling Down Policy[]  - task
Scaling MrUp Policies Scalar Task Scaling Up Policy[]  - task
Unit string - termination
Policies MrScalar Termination Policy[]  - Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
 - termination
Protected boolean - visible
To booleanAll Users  
- additional_
info str - additional_
primary_ Sequence[str]security_ groups  - additional_
replica_ Sequence[str]security_ groups  - applications
Sequence[Mr
Scalar Application Args]  - availability_
zones Sequence[str] - bootstrap_
actions_ Sequence[Mrfiles Scalar Bootstrap Actions File Args]  - cluster_
id str - The MrScaler cluster id.
 - configurations_
files Sequence[MrScalar Configurations File Args]  - core_
desired_ intcapacity  - core_
ebs_ Sequence[Mrblock_ devices Scalar Core Ebs Block Device Args]  - core_
ebs_ booloptimized  - core_
instance_ Sequence[str]types  - core_
lifecycle str - core_
max_ intsize  - core_
min_ intsize  - core_
scaling_ Sequence[Mrdown_ policies Scalar Core Scaling Down Policy Args]  - core_
scaling_ Sequence[Mrup_ policies Scalar Core Scaling Up Policy Args]  - core_
unit str - custom_
ami_ strid  - description str
 - The MrScaler description.
 - ebs_
root_ intvolume_ size  - ec2_
key_ strname  - expose_
cluster_ boolid  - Allow the 
cluster_idto set a provider output variable. - instance_
weights Sequence[MrScalar Instance Weight Args]  - job_
flow_ strrole  - keep_
job_ boolflow_ alive  - log_
uri str - managed_
primary_ strsecurity_ group  - managed_
replica_ strsecurity_ group  - master_
ebs_ Sequence[Mrblock_ devices Scalar Master Ebs Block Device Args]  - master_
ebs_ booloptimized  - master_
instance_ Sequence[str]types  - master_
lifecycle str - master_
target int - name str
 - The MrScaler name.
 - output_
cluster_ strid  - provisioning_
timeout MrScalar Provisioning Timeout Args  - region str
 - The MrScaler region.
 - release_
label str - repo_
upgrade_ stron_ boot  - retries int
 - scheduled_
tasks Sequence[MrScalar Scheduled Task Args]  - security_
config str - service_
access_ strsecurity_ group  - service_
role str - steps_
files Sequence[MrScalar Steps File Args]  - strategy str
 - The MrScaler strategy. Allowed values are 
newcloneandwrap. - 
Sequence[Mr
Scalar Tag Args]  - task_
desired_ intcapacity  - task_
ebs_ Sequence[Mrblock_ devices Scalar Task Ebs Block Device Args]  - task_
ebs_ booloptimized  - task_
instance_ Sequence[str]types  - task_
lifecycle str - task_
max_ intsize  - task_
min_ intsize  - task_
scaling_ Sequence[Mrdown_ policies Scalar Task Scaling Down Policy Args]  - task_
scaling_ Sequence[Mrup_ policies Scalar Task Scaling Up Policy Args]  - task_
unit str - termination_
policies Sequence[MrScalar Termination Policy Args]  - Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
 - termination_
protected bool - visible_
to_ boolall_ users  
- additional
Info String - additional
Primary List<String>Security Groups  - additional
Replica List<String>Security Groups  - applications List<Property Map>
 - availability
Zones List<String> - bootstrap
Actions List<Property Map>Files  - cluster
Id String - The MrScaler cluster id.
 - configurations
Files List<Property Map> - core
Desired NumberCapacity  - core
Ebs List<Property Map>Block Devices  - core
Ebs BooleanOptimized  - core
Instance List<String>Types  - core
Lifecycle String - core
Max NumberSize  - core
Min NumberSize  - core
Scaling List<Property Map>Down Policies  - core
Scaling List<Property Map>Up Policies  - core
Unit String - custom
Ami StringId  - description String
 - The MrScaler description.
 - ebs
Root NumberVolume Size  - ec2Key
Name String - expose
Cluster BooleanId  - Allow the 
cluster_idto set a provider output variable. - instance
Weights List<Property Map> - job
Flow StringRole  - keep
Job BooleanFlow Alive  - log
Uri String - managed
Primary StringSecurity Group  - managed
Replica StringSecurity Group  - master
Ebs List<Property Map>Block Devices  - master
Ebs BooleanOptimized  - master
Instance List<String>Types  - master
Lifecycle String - master
Target Number - name String
 - The MrScaler name.
 - output
Cluster StringId  - provisioning
Timeout Property Map - region String
 - The MrScaler region.
 - release
Label String - repo
Upgrade StringOn Boot  - retries Number
 - scheduled
Tasks List<Property Map> - security
Config String - service
Access StringSecurity Group  - service
Role String - steps
Files List<Property Map> - strategy String
 - The MrScaler strategy. Allowed values are 
newcloneandwrap. - List<Property Map>
 - task
Desired NumberCapacity  - task
Ebs List<Property Map>Block Devices  - task
Ebs BooleanOptimized  - task
Instance List<String>Types  - task
Lifecycle String - task
Max NumberSize  - task
Min NumberSize  - task
Scaling List<Property Map>Down Policies  - task
Scaling List<Property Map>Up Policies  - task
Unit String - termination
Policies List<Property Map> - Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
 - termination
Protected Boolean - visible
To BooleanAll Users  
Supporting Types
MrScalarApplication, MrScalarApplicationArgs      
MrScalarBootstrapActionsFile, MrScalarBootstrapActionsFileArgs          
MrScalarConfigurationsFile, MrScalarConfigurationsFileArgs        
MrScalarCoreEbsBlockDevice, MrScalarCoreEbsBlockDeviceArgs            
- Size
In intGb  - Volume
Type string - Iops int
 - Volumes
Per intInstance  
- Size
In intGb  - Volume
Type string - Iops int
 - Volumes
Per intInstance  
- size
In IntegerGb  - volume
Type String - iops Integer
 - volumes
Per IntegerInstance  
- size
In numberGb  - volume
Type string - iops number
 - volumes
Per numberInstance  
- size_
in_ intgb  - volume_
type str - iops int
 - volumes_
per_ intinstance  
- size
In NumberGb  - volume
Type String - iops Number
 - volumes
Per NumberInstance  
MrScalarCoreScalingDownPolicy, MrScalarCoreScalingDownPolicyArgs            
- Metric
Name string - Namespace string
 - Policy
Name string - The name of the policy.
 - Threshold double
 - Unit string
 - Action
Type string - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - Adjustment string
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - Cooldown int
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - Dimensions Dictionary<string, string>
 - A mapping of dimensions describing qualities of the metric.
 - Evaluation
Periods int - Max
Target stringCapacity  - Max target capacity for scale down.
 - Maximum string
 - The maximum to set when scale is needed.
 - Min
Target stringCapacity  - Min target capacity for scale up.
 - Minimum string
 - The minimum to set when scale is needed.
 - Operator string
 - Period int
 - Statistic string
 - Target string
 - The number of instances to set when scale is needed.
 
- Metric
Name string - Namespace string
 - Policy
Name string - The name of the policy.
 - Threshold float64
 - Unit string
 - Action
Type string - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - Adjustment string
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - Cooldown int
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - Dimensions map[string]string
 - A mapping of dimensions describing qualities of the metric.
 - Evaluation
Periods int - Max
Target stringCapacity  - Max target capacity for scale down.
 - Maximum string
 - The maximum to set when scale is needed.
 - Min
Target stringCapacity  - Min target capacity for scale up.
 - Minimum string
 - The minimum to set when scale is needed.
 - Operator string
 - Period int
 - Statistic string
 - Target string
 - The number of instances to set when scale is needed.
 
- metric
Name String - namespace String
 - policy
Name String - The name of the policy.
 - threshold Double
 - unit String
 - action
Type String - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment String
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown Integer
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions Map<String,String>
 - A mapping of dimensions describing qualities of the metric.
 - evaluation
Periods Integer - max
Target StringCapacity  - Max target capacity for scale down.
 - maximum String
 - The maximum to set when scale is needed.
 - min
Target StringCapacity  - Min target capacity for scale up.
 - minimum String
 - The minimum to set when scale is needed.
 - operator String
 - period Integer
 - statistic String
 - target String
 - The number of instances to set when scale is needed.
 
- metric
Name string - namespace string
 - policy
Name string - The name of the policy.
 - threshold number
 - unit string
 - action
Type string - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment string
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown number
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions {[key: string]: string}
 - A mapping of dimensions describing qualities of the metric.
 - evaluation
Periods number - max
Target stringCapacity  - Max target capacity for scale down.
 - maximum string
 - The maximum to set when scale is needed.
 - min
Target stringCapacity  - Min target capacity for scale up.
 - minimum string
 - The minimum to set when scale is needed.
 - operator string
 - period number
 - statistic string
 - target string
 - The number of instances to set when scale is needed.
 
- metric_
name str - namespace str
 - policy_
name str - The name of the policy.
 - threshold float
 - unit str
 - action_
type str - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment str
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown int
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions Mapping[str, str]
 - A mapping of dimensions describing qualities of the metric.
 - evaluation_
periods int - max_
target_ strcapacity  - Max target capacity for scale down.
 - maximum str
 - The maximum to set when scale is needed.
 - min_
target_ strcapacity  - Min target capacity for scale up.
 - minimum str
 - The minimum to set when scale is needed.
 - operator str
 - period int
 - statistic str
 - target str
 - The number of instances to set when scale is needed.
 
- metric
Name String - namespace String
 - policy
Name String - The name of the policy.
 - threshold Number
 - unit String
 - action
Type String - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment String
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown Number
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions Map<String>
 - A mapping of dimensions describing qualities of the metric.
 - evaluation
Periods Number - max
Target StringCapacity  - Max target capacity for scale down.
 - maximum String
 - The maximum to set when scale is needed.
 - min
Target StringCapacity  - Min target capacity for scale up.
 - minimum String
 - The minimum to set when scale is needed.
 - operator String
 - period Number
 - statistic String
 - target String
 - The number of instances to set when scale is needed.
 
MrScalarCoreScalingUpPolicy, MrScalarCoreScalingUpPolicyArgs            
- Metric
Name string - Namespace string
 - Policy
Name string - The name of the policy.
 - Threshold double
 - Unit string
 - Action
Type string - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - Adjustment string
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - Cooldown int
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - Dimensions Dictionary<string, string>
 - A mapping of dimensions describing qualities of the metric.
 - Evaluation
Periods int - Max
Target stringCapacity  - Max target capacity for scale down.
 - Maximum string
 - The maximum to set when scale is needed.
 - Min
Target stringCapacity  - Min target capacity for scale up.
 - Minimum string
 - The minimum to set when scale is needed.
 - Operator string
 - Period int
 - Statistic string
 - Target string
 - The number of instances to set when scale is needed.
 
- Metric
Name string - Namespace string
 - Policy
Name string - The name of the policy.
 - Threshold float64
 - Unit string
 - Action
Type string - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - Adjustment string
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - Cooldown int
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - Dimensions map[string]string
 - A mapping of dimensions describing qualities of the metric.
 - Evaluation
Periods int - Max
Target stringCapacity  - Max target capacity for scale down.
 - Maximum string
 - The maximum to set when scale is needed.
 - Min
Target stringCapacity  - Min target capacity for scale up.
 - Minimum string
 - The minimum to set when scale is needed.
 - Operator string
 - Period int
 - Statistic string
 - Target string
 - The number of instances to set when scale is needed.
 
- metric
Name String - namespace String
 - policy
Name String - The name of the policy.
 - threshold Double
 - unit String
 - action
Type String - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment String
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown Integer
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions Map<String,String>
 - A mapping of dimensions describing qualities of the metric.
 - evaluation
Periods Integer - max
Target StringCapacity  - Max target capacity for scale down.
 - maximum String
 - The maximum to set when scale is needed.
 - min
Target StringCapacity  - Min target capacity for scale up.
 - minimum String
 - The minimum to set when scale is needed.
 - operator String
 - period Integer
 - statistic String
 - target String
 - The number of instances to set when scale is needed.
 
- metric
Name string - namespace string
 - policy
Name string - The name of the policy.
 - threshold number
 - unit string
 - action
Type string - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment string
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown number
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions {[key: string]: string}
 - A mapping of dimensions describing qualities of the metric.
 - evaluation
Periods number - max
Target stringCapacity  - Max target capacity for scale down.
 - maximum string
 - The maximum to set when scale is needed.
 - min
Target stringCapacity  - Min target capacity for scale up.
 - minimum string
 - The minimum to set when scale is needed.
 - operator string
 - period number
 - statistic string
 - target string
 - The number of instances to set when scale is needed.
 
- metric_
name str - namespace str
 - policy_
name str - The name of the policy.
 - threshold float
 - unit str
 - action_
type str - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment str
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown int
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions Mapping[str, str]
 - A mapping of dimensions describing qualities of the metric.
 - evaluation_
periods int - max_
target_ strcapacity  - Max target capacity for scale down.
 - maximum str
 - The maximum to set when scale is needed.
 - min_
target_ strcapacity  - Min target capacity for scale up.
 - minimum str
 - The minimum to set when scale is needed.
 - operator str
 - period int
 - statistic str
 - target str
 - The number of instances to set when scale is needed.
 
- metric
Name String - namespace String
 - policy
Name String - The name of the policy.
 - threshold Number
 - unit String
 - action
Type String - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment String
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown Number
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions Map<String>
 - A mapping of dimensions describing qualities of the metric.
 - evaluation
Periods Number - max
Target StringCapacity  - Max target capacity for scale down.
 - maximum String
 - The maximum to set when scale is needed.
 - min
Target StringCapacity  - Min target capacity for scale up.
 - minimum String
 - The minimum to set when scale is needed.
 - operator String
 - period Number
 - statistic String
 - target String
 - The number of instances to set when scale is needed.
 
MrScalarInstanceWeight, MrScalarInstanceWeightArgs        
- Instance
Type string - The type of the instance.
 - Weighted
Capacity int - The weight given to the associated instance type.
 
- Instance
Type string - The type of the instance.
 - Weighted
Capacity int - The weight given to the associated instance type.
 
- instance
Type String - The type of the instance.
 - weighted
Capacity Integer - The weight given to the associated instance type.
 
- instance
Type string - The type of the instance.
 - weighted
Capacity number - The weight given to the associated instance type.
 
- instance_
type str - The type of the instance.
 - weighted_
capacity int - The weight given to the associated instance type.
 
- instance
Type String - The type of the instance.
 - weighted
Capacity Number - The weight given to the associated instance type.
 
MrScalarMasterEbsBlockDevice, MrScalarMasterEbsBlockDeviceArgs            
- Size
In intGb  - Volume
Type string - Iops int
 - Volumes
Per intInstance  
- Size
In intGb  - Volume
Type string - Iops int
 - Volumes
Per intInstance  
- size
In IntegerGb  - volume
Type String - iops Integer
 - volumes
Per IntegerInstance  
- size
In numberGb  - volume
Type string - iops number
 - volumes
Per numberInstance  
- size_
in_ intgb  - volume_
type str - iops int
 - volumes_
per_ intinstance  
- size
In NumberGb  - volume
Type String - iops Number
 - volumes
Per NumberInstance  
MrScalarProvisioningTimeout, MrScalarProvisioningTimeoutArgs        
- Timeout int
 - The amount of time (minutes) after which the cluster is automatically terminated if it's still in provisioning status. Minimum: '15'.
 - Timeout
Action string - The action to take if the timeout is exceeded. Valid values: 
terminate,terminateAndRetry. 
- Timeout int
 - The amount of time (minutes) after which the cluster is automatically terminated if it's still in provisioning status. Minimum: '15'.
 - Timeout
Action string - The action to take if the timeout is exceeded. Valid values: 
terminate,terminateAndRetry. 
- timeout Integer
 - The amount of time (minutes) after which the cluster is automatically terminated if it's still in provisioning status. Minimum: '15'.
 - timeout
Action String - The action to take if the timeout is exceeded. Valid values: 
terminate,terminateAndRetry. 
- timeout number
 - The amount of time (minutes) after which the cluster is automatically terminated if it's still in provisioning status. Minimum: '15'.
 - timeout
Action string - The action to take if the timeout is exceeded. Valid values: 
terminate,terminateAndRetry. 
- timeout int
 - The amount of time (minutes) after which the cluster is automatically terminated if it's still in provisioning status. Minimum: '15'.
 - timeout_
action str - The action to take if the timeout is exceeded. Valid values: 
terminate,terminateAndRetry. 
- timeout Number
 - The amount of time (minutes) after which the cluster is automatically terminated if it's still in provisioning status. Minimum: '15'.
 - timeout
Action String - The action to take if the timeout is exceeded. Valid values: 
terminate,terminateAndRetry. 
MrScalarScheduledTask, MrScalarScheduledTaskArgs        
- Cron string
 - A cron expression representing the schedule for the task.
 - Instance
Group stringType  - Select the EMR instance groups to execute the scheduled task on. Valid values: 
task. - Task
Type string - The type of task to be scheduled. Valid values: 
setCapacity. - Desired
Capacity string - New desired capacity for the elastigroup.
 - Is
Enabled bool - Enable/Disable the specified scheduling task.
 - Max
Capacity string - New max capacity for the elastigroup.
 - Min
Capacity string - New min capacity for the elastigroup.
 
- Cron string
 - A cron expression representing the schedule for the task.
 - Instance
Group stringType  - Select the EMR instance groups to execute the scheduled task on. Valid values: 
task. - Task
Type string - The type of task to be scheduled. Valid values: 
setCapacity. - Desired
Capacity string - New desired capacity for the elastigroup.
 - Is
Enabled bool - Enable/Disable the specified scheduling task.
 - Max
Capacity string - New max capacity for the elastigroup.
 - Min
Capacity string - New min capacity for the elastigroup.
 
- cron String
 - A cron expression representing the schedule for the task.
 - instance
Group StringType  - Select the EMR instance groups to execute the scheduled task on. Valid values: 
task. - task
Type String - The type of task to be scheduled. Valid values: 
setCapacity. - desired
Capacity String - New desired capacity for the elastigroup.
 - is
Enabled Boolean - Enable/Disable the specified scheduling task.
 - max
Capacity String - New max capacity for the elastigroup.
 - min
Capacity String - New min capacity for the elastigroup.
 
- cron string
 - A cron expression representing the schedule for the task.
 - instance
Group stringType  - Select the EMR instance groups to execute the scheduled task on. Valid values: 
task. - task
Type string - The type of task to be scheduled. Valid values: 
setCapacity. - desired
Capacity string - New desired capacity for the elastigroup.
 - is
Enabled boolean - Enable/Disable the specified scheduling task.
 - max
Capacity string - New max capacity for the elastigroup.
 - min
Capacity string - New min capacity for the elastigroup.
 
- cron str
 - A cron expression representing the schedule for the task.
 - instance_
group_ strtype  - Select the EMR instance groups to execute the scheduled task on. Valid values: 
task. - task_
type str - The type of task to be scheduled. Valid values: 
setCapacity. - desired_
capacity str - New desired capacity for the elastigroup.
 - is_
enabled bool - Enable/Disable the specified scheduling task.
 - max_
capacity str - New max capacity for the elastigroup.
 - min_
capacity str - New min capacity for the elastigroup.
 
- cron String
 - A cron expression representing the schedule for the task.
 - instance
Group StringType  - Select the EMR instance groups to execute the scheduled task on. Valid values: 
task. - task
Type String - The type of task to be scheduled. Valid values: 
setCapacity. - desired
Capacity String - New desired capacity for the elastigroup.
 - is
Enabled Boolean - Enable/Disable the specified scheduling task.
 - max
Capacity String - New max capacity for the elastigroup.
 - min
Capacity String - New min capacity for the elastigroup.
 
MrScalarStepsFile, MrScalarStepsFileArgs        
MrScalarTag, MrScalarTagArgs      
MrScalarTaskEbsBlockDevice, MrScalarTaskEbsBlockDeviceArgs            
- Size
In intGb  - Volume
Type string - Iops int
 - Volumes
Per intInstance  
- Size
In intGb  - Volume
Type string - Iops int
 - Volumes
Per intInstance  
- size
In IntegerGb  - volume
Type String - iops Integer
 - volumes
Per IntegerInstance  
- size
In numberGb  - volume
Type string - iops number
 - volumes
Per numberInstance  
- size_
in_ intgb  - volume_
type str - iops int
 - volumes_
per_ intinstance  
- size
In NumberGb  - volume
Type String - iops Number
 - volumes
Per NumberInstance  
MrScalarTaskScalingDownPolicy, MrScalarTaskScalingDownPolicyArgs            
- Metric
Name string - Namespace string
 - Policy
Name string - The name of the policy.
 - Threshold double
 - Unit string
 - Action
Type string - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - Adjustment string
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - Cooldown int
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - Dimensions Dictionary<string, string>
 - A mapping of dimensions describing qualities of the metric.
 - Evaluation
Periods int - Max
Target stringCapacity  - Max target capacity for scale down.
 - Maximum string
 - The maximum to set when scale is needed.
 - Min
Target stringCapacity  - Min target capacity for scale up.
 - Minimum string
 - The minimum to set when scale is needed.
 - Operator string
 - Period int
 - Statistic string
 - Target string
 - The number of instances to set when scale is needed.
 
- Metric
Name string - Namespace string
 - Policy
Name string - The name of the policy.
 - Threshold float64
 - Unit string
 - Action
Type string - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - Adjustment string
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - Cooldown int
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - Dimensions map[string]string
 - A mapping of dimensions describing qualities of the metric.
 - Evaluation
Periods int - Max
Target stringCapacity  - Max target capacity for scale down.
 - Maximum string
 - The maximum to set when scale is needed.
 - Min
Target stringCapacity  - Min target capacity for scale up.
 - Minimum string
 - The minimum to set when scale is needed.
 - Operator string
 - Period int
 - Statistic string
 - Target string
 - The number of instances to set when scale is needed.
 
- metric
Name String - namespace String
 - policy
Name String - The name of the policy.
 - threshold Double
 - unit String
 - action
Type String - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment String
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown Integer
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions Map<String,String>
 - A mapping of dimensions describing qualities of the metric.
 - evaluation
Periods Integer - max
Target StringCapacity  - Max target capacity for scale down.
 - maximum String
 - The maximum to set when scale is needed.
 - min
Target StringCapacity  - Min target capacity for scale up.
 - minimum String
 - The minimum to set when scale is needed.
 - operator String
 - period Integer
 - statistic String
 - target String
 - The number of instances to set when scale is needed.
 
- metric
Name string - namespace string
 - policy
Name string - The name of the policy.
 - threshold number
 - unit string
 - action
Type string - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment string
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown number
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions {[key: string]: string}
 - A mapping of dimensions describing qualities of the metric.
 - evaluation
Periods number - max
Target stringCapacity  - Max target capacity for scale down.
 - maximum string
 - The maximum to set when scale is needed.
 - min
Target stringCapacity  - Min target capacity for scale up.
 - minimum string
 - The minimum to set when scale is needed.
 - operator string
 - period number
 - statistic string
 - target string
 - The number of instances to set when scale is needed.
 
- metric_
name str - namespace str
 - policy_
name str - The name of the policy.
 - threshold float
 - unit str
 - action_
type str - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment str
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown int
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions Mapping[str, str]
 - A mapping of dimensions describing qualities of the metric.
 - evaluation_
periods int - max_
target_ strcapacity  - Max target capacity for scale down.
 - maximum str
 - The maximum to set when scale is needed.
 - min_
target_ strcapacity  - Min target capacity for scale up.
 - minimum str
 - The minimum to set when scale is needed.
 - operator str
 - period int
 - statistic str
 - target str
 - The number of instances to set when scale is needed.
 
- metric
Name String - namespace String
 - policy
Name String - The name of the policy.
 - threshold Number
 - unit String
 - action
Type String - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment String
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown Number
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions Map<String>
 - A mapping of dimensions describing qualities of the metric.
 - evaluation
Periods Number - max
Target StringCapacity  - Max target capacity for scale down.
 - maximum String
 - The maximum to set when scale is needed.
 - min
Target StringCapacity  - Min target capacity for scale up.
 - minimum String
 - The minimum to set when scale is needed.
 - operator String
 - period Number
 - statistic String
 - target String
 - The number of instances to set when scale is needed.
 
MrScalarTaskScalingUpPolicy, MrScalarTaskScalingUpPolicyArgs            
- Metric
Name string - Namespace string
 - Policy
Name string - The name of the policy.
 - Threshold double
 - Unit string
 - Action
Type string - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - Adjustment string
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - Cooldown int
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - Dimensions Dictionary<string, string>
 - A mapping of dimensions describing qualities of the metric.
 - Evaluation
Periods int - Max
Target stringCapacity  - Max target capacity for scale down.
 - Maximum string
 - The maximum to set when scale is needed.
 - Min
Target stringCapacity  - Min target capacity for scale up.
 - Minimum string
 - The minimum to set when scale is needed.
 - Operator string
 - Period int
 - Statistic string
 - Target string
 - The number of instances to set when scale is needed.
 
- Metric
Name string - Namespace string
 - Policy
Name string - The name of the policy.
 - Threshold float64
 - Unit string
 - Action
Type string - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - Adjustment string
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - Cooldown int
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - Dimensions map[string]string
 - A mapping of dimensions describing qualities of the metric.
 - Evaluation
Periods int - Max
Target stringCapacity  - Max target capacity for scale down.
 - Maximum string
 - The maximum to set when scale is needed.
 - Min
Target stringCapacity  - Min target capacity for scale up.
 - Minimum string
 - The minimum to set when scale is needed.
 - Operator string
 - Period int
 - Statistic string
 - Target string
 - The number of instances to set when scale is needed.
 
- metric
Name String - namespace String
 - policy
Name String - The name of the policy.
 - threshold Double
 - unit String
 - action
Type String - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment String
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown Integer
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions Map<String,String>
 - A mapping of dimensions describing qualities of the metric.
 - evaluation
Periods Integer - max
Target StringCapacity  - Max target capacity for scale down.
 - maximum String
 - The maximum to set when scale is needed.
 - min
Target StringCapacity  - Min target capacity for scale up.
 - minimum String
 - The minimum to set when scale is needed.
 - operator String
 - period Integer
 - statistic String
 - target String
 - The number of instances to set when scale is needed.
 
- metric
Name string - namespace string
 - policy
Name string - The name of the policy.
 - threshold number
 - unit string
 - action
Type string - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment string
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown number
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions {[key: string]: string}
 - A mapping of dimensions describing qualities of the metric.
 - evaluation
Periods number - max
Target stringCapacity  - Max target capacity for scale down.
 - maximum string
 - The maximum to set when scale is needed.
 - min
Target stringCapacity  - Min target capacity for scale up.
 - minimum string
 - The minimum to set when scale is needed.
 - operator string
 - period number
 - statistic string
 - target string
 - The number of instances to set when scale is needed.
 
- metric_
name str - namespace str
 - policy_
name str - The name of the policy.
 - threshold float
 - unit str
 - action_
type str - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment str
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown int
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions Mapping[str, str]
 - A mapping of dimensions describing qualities of the metric.
 - evaluation_
periods int - max_
target_ strcapacity  - Max target capacity for scale down.
 - maximum str
 - The maximum to set when scale is needed.
 - min_
target_ strcapacity  - Min target capacity for scale up.
 - minimum str
 - The minimum to set when scale is needed.
 - operator str
 - period int
 - statistic str
 - target str
 - The number of instances to set when scale is needed.
 
- metric
Name String - namespace String
 - policy
Name String - The name of the policy.
 - threshold Number
 - unit String
 - action
Type String - The type of action to perform. Allowed values are : 'adjustment', 'setMinTarget', 'setMaxTarget', 'updateCapacity', 'percentageAdjustment'
 - adjustment String
 - The number of instances to add/remove to/from the target capacity when scale is needed.
 - cooldown Number
 - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - dimensions Map<String>
 - A mapping of dimensions describing qualities of the metric.
 - evaluation
Periods Number - max
Target StringCapacity  - Max target capacity for scale down.
 - maximum String
 - The maximum to set when scale is needed.
 - min
Target StringCapacity  - Min target capacity for scale up.
 - minimum String
 - The minimum to set when scale is needed.
 - operator String
 - period Number
 - statistic String
 - target String
 - The number of instances to set when scale is needed.
 
MrScalarTerminationPolicy, MrScalarTerminationPolicyArgs        
MrScalarTerminationPolicyStatement, MrScalarTerminationPolicyStatementArgs          
- Metric
Name string - The name of the metric in CloudWatch which the statement will be based on.
 - Namespace string
 - Must contain the value: 
AWS/ElasticMapReduce. - Threshold double
 - The value that the specified statistic is compared to.
 - Evaluation
Periods int - The number of periods over which data is compared to the specified threshold.
 - Operator string
 - The operator to use in order to determine if the policy is applicable. Valid values: 
gt|gte|lt|lte - Period int
 - The time window in seconds over which the statistic is applied.
 - Statistic string
 - The aggregation method of the given metric. Valid Values: 
average|sum|sampleCount|maximum|minimum - Unit string
 - The unit for a given metric. Valid Values: 
seconds|microseconds|milliseconds|bytes|kilobytes|megabytes|gigabytes|terabytes|bits|kilobits|megabits|gigabits|terabits|percent|count|bytes/second|kilobytes/second|megabytes/second|gigabytes/second|terabytes/second|bits/second|kilobits/second|megabits/second|gigabits/second|terabits/second|count/second|none 
- Metric
Name string - The name of the metric in CloudWatch which the statement will be based on.
 - Namespace string
 - Must contain the value: 
AWS/ElasticMapReduce. - Threshold float64
 - The value that the specified statistic is compared to.
 - Evaluation
Periods int - The number of periods over which data is compared to the specified threshold.
 - Operator string
 - The operator to use in order to determine if the policy is applicable. Valid values: 
gt|gte|lt|lte - Period int
 - The time window in seconds over which the statistic is applied.
 - Statistic string
 - The aggregation method of the given metric. Valid Values: 
average|sum|sampleCount|maximum|minimum - Unit string
 - The unit for a given metric. Valid Values: 
seconds|microseconds|milliseconds|bytes|kilobytes|megabytes|gigabytes|terabytes|bits|kilobits|megabits|gigabits|terabits|percent|count|bytes/second|kilobytes/second|megabytes/second|gigabytes/second|terabytes/second|bits/second|kilobits/second|megabits/second|gigabits/second|terabits/second|count/second|none 
- metric
Name String - The name of the metric in CloudWatch which the statement will be based on.
 - namespace String
 - Must contain the value: 
AWS/ElasticMapReduce. - threshold Double
 - The value that the specified statistic is compared to.
 - evaluation
Periods Integer - The number of periods over which data is compared to the specified threshold.
 - operator String
 - The operator to use in order to determine if the policy is applicable. Valid values: 
gt|gte|lt|lte - period Integer
 - The time window in seconds over which the statistic is applied.
 - statistic String
 - The aggregation method of the given metric. Valid Values: 
average|sum|sampleCount|maximum|minimum - unit String
 - The unit for a given metric. Valid Values: 
seconds|microseconds|milliseconds|bytes|kilobytes|megabytes|gigabytes|terabytes|bits|kilobits|megabits|gigabits|terabits|percent|count|bytes/second|kilobytes/second|megabytes/second|gigabytes/second|terabytes/second|bits/second|kilobits/second|megabits/second|gigabits/second|terabits/second|count/second|none 
- metric
Name string - The name of the metric in CloudWatch which the statement will be based on.
 - namespace string
 - Must contain the value: 
AWS/ElasticMapReduce. - threshold number
 - The value that the specified statistic is compared to.
 - evaluation
Periods number - The number of periods over which data is compared to the specified threshold.
 - operator string
 - The operator to use in order to determine if the policy is applicable. Valid values: 
gt|gte|lt|lte - period number
 - The time window in seconds over which the statistic is applied.
 - statistic string
 - The aggregation method of the given metric. Valid Values: 
average|sum|sampleCount|maximum|minimum - unit string
 - The unit for a given metric. Valid Values: 
seconds|microseconds|milliseconds|bytes|kilobytes|megabytes|gigabytes|terabytes|bits|kilobits|megabits|gigabits|terabits|percent|count|bytes/second|kilobytes/second|megabytes/second|gigabytes/second|terabytes/second|bits/second|kilobits/second|megabits/second|gigabits/second|terabits/second|count/second|none 
- metric_
name str - The name of the metric in CloudWatch which the statement will be based on.
 - namespace str
 - Must contain the value: 
AWS/ElasticMapReduce. - threshold float
 - The value that the specified statistic is compared to.
 - evaluation_
periods int - The number of periods over which data is compared to the specified threshold.
 - operator str
 - The operator to use in order to determine if the policy is applicable. Valid values: 
gt|gte|lt|lte - period int
 - The time window in seconds over which the statistic is applied.
 - statistic str
 - The aggregation method of the given metric. Valid Values: 
average|sum|sampleCount|maximum|minimum - unit str
 - The unit for a given metric. Valid Values: 
seconds|microseconds|milliseconds|bytes|kilobytes|megabytes|gigabytes|terabytes|bits|kilobits|megabits|gigabits|terabits|percent|count|bytes/second|kilobytes/second|megabytes/second|gigabytes/second|terabytes/second|bits/second|kilobits/second|megabits/second|gigabits/second|terabits/second|count/second|none 
- metric
Name String - The name of the metric in CloudWatch which the statement will be based on.
 - namespace String
 - Must contain the value: 
AWS/ElasticMapReduce. - threshold Number
 - The value that the specified statistic is compared to.
 - evaluation
Periods Number - The number of periods over which data is compared to the specified threshold.
 - operator String
 - The operator to use in order to determine if the policy is applicable. Valid values: 
gt|gte|lt|lte - period Number
 - The time window in seconds over which the statistic is applied.
 - statistic String
 - The aggregation method of the given metric. Valid Values: 
average|sum|sampleCount|maximum|minimum - unit String
 - The unit for a given metric. Valid Values: 
seconds|microseconds|milliseconds|bytes|kilobytes|megabytes|gigabytes|terabytes|bits|kilobits|megabits|gigabits|terabits|percent|count|bytes/second|kilobytes/second|megabytes/second|gigabytes/second|terabytes/second|bits/second|kilobits/second|megabits/second|gigabits/second|terabits/second|count/second|none 
Package Details
- Repository
 - Spotinst pulumi/pulumi-spotinst
 - License
 - Apache-2.0
 - Notes
 - This Pulumi package is based on the 
spotinstTerraform Provider.