1. Packages
  2. Spotinst
  3. API Docs
  4. aws
  5. MrScalar
Spotinst v3.75.0 published on Monday, Apr 22, 2024 by Pulumi

spotinst.aws.MrScalar

Explore with Pulumi AI

spotinst logo
Spotinst v3.75.0 published on Monday, Apr 22, 2024 by Pulumi

    Provides a Spotinst AWS MrScaler resource.

    Example Usage

    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=spotinst.aws.MrScalarProvisioningTimeoutArgs(
            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=[
            spotinst.aws.MrScalarApplicationArgs(
                name="Ganglia",
                version="1.0",
            ),
            spotinst.aws.MrScalarApplicationArgs(
                name="Hadoop",
            ),
            spotinst.aws.MrScalarApplicationArgs(
                name="Pig",
                args=[
                    "fake",
                    "args",
                ],
            ),
        ],
        instance_weights=[
            spotinst.aws.MrScalarInstanceWeightArgs(
                instance_type="t2.small",
                weighted_capacity=10,
            ),
            spotinst.aws.MrScalarInstanceWeightArgs(
                instance_type="t2.medium",
                weighted_capacity=90,
            ),
        ],
        steps_files=[spotinst.aws.MrScalarStepsFileArgs(
            bucket="example-bucket",
            key="steps.json",
        )],
        configurations_files=[spotinst.aws.MrScalarConfigurationsFileArgs(
            bucket="example-bucket",
            key="configurations.json",
        )],
        bootstrap_actions_files=[spotinst.aws.MrScalarBootstrapActionsFileArgs(
            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=[spotinst.aws.MrScalarMasterEbsBlockDeviceArgs(
            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=[spotinst.aws.MrScalarCoreEbsBlockDeviceArgs(
            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=[spotinst.aws.MrScalarTaskEbsBlockDeviceArgs(
            volumes_per_instance=2,
            volume_type="gp2",
            size_in_gb=40,
        )],
        tags=[spotinst.aws.MrScalarTagArgs(
            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
    

    Clone Strategy

    import * as pulumi from "@pulumi/pulumi";
    import * as spotinst from "@pulumi/spotinst";
    
    export = async () => {
        const sample_MrScaler_01 = new spotinst.aws.MrScalar("sample-MrScaler-01", {
            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",
            }],
        });
        return {
            "mrscaler-name": sample_MrScaler_01.name,
            "mrscaler-created-cluster-id": sample_MrScaler_01.outputClusterId,
        };
    }
    
    import pulumi
    import pulumi_spotinst as spotinst
    
    sample__mr_scaler_01 = spotinst.aws.MrScalar("sample-MrScaler-01",
        name="sample-MrScaler-01",
        description="Testing MrScaler creation",
        region="us-west-2",
        strategy="clone",
        cluster_id="j-123456789",
        expose_cluster_id=True,
        availability_zones=["us-west-2a:subnet-12345678"],
        master_instance_types=["c3.xlarge"],
        master_lifecycle="SPOT",
        master_ebs_optimized=True,
        master_target=1,
        master_ebs_block_devices=[spotinst.aws.MrScalarMasterEbsBlockDeviceArgs(
            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=[spotinst.aws.MrScalarCoreEbsBlockDeviceArgs(
            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=[spotinst.aws.MrScalarTaskEbsBlockDeviceArgs(
            volumes_per_instance=2,
            volume_type="gp2",
            size_in_gb=40,
        )],
        tags=[spotinst.aws.MrScalarTagArgs(
            key="Creator",
            value="Pulumi",
        )],
        task_scaling_down_policies=[spotinst.aws.MrScalarTaskScalingDownPolicyArgs(
            policy_name="policy-name",
            metric_name="CPUUtilization",
            namespace="AWS/EC2",
            statistic="average",
            unit="",
            threshold=10,
            adjustment="1",
            cooldown=60,
            dimensions=[{
                "name": "name-1",
                "value": "value-1",
            }],
            operator="gt",
            evaluation_periods=10,
            period=60,
            action_type="",
            minimum="0",
            maximum="10",
            target="5",
            max_target_capacity="1",
        )])
    pulumi.export("mrscaler-name", sample__mr_scaler_01.name)
    pulumi.export("mrscaler-created-cluster-id", sample__mr_scaler_01.output_cluster_id)
    
    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 {
    		_, 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("clone"),
    			ClusterId:       pulumi.String("j-123456789"),
    			ExposeClusterId: pulumi.Bool(true),
    			AvailabilityZones: pulumi.StringArray{
    				pulumi.String("us-west-2a:subnet-12345678"),
    			},
    			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"),
    				},
    			},
    			TaskScalingDownPolicies: aws.MrScalarTaskScalingDownPolicyArray{
    				&aws.MrScalarTaskScalingDownPolicyArgs{
    					PolicyName: pulumi.String("policy-name"),
    					MetricName: pulumi.String("CPUUtilization"),
    					Namespace:  pulumi.String("AWS/EC2"),
    					Statistic:  pulumi.String("average"),
    					Unit:       pulumi.String(""),
    					Threshold:  pulumi.Float64(10),
    					Adjustment: pulumi.String("1"),
    					Cooldown:   pulumi.Int(60),
    					Dimensions: pulumi.Map{
    						pulumi.Any(map[string]interface{}{
    							"name":  "name-1",
    							"value": "value-1",
    						}),
    					},
    					Operator:          pulumi.String("gt"),
    					EvaluationPeriods: pulumi.Int(10),
    					Period:            pulumi.Int(60),
    					ActionType:        pulumi.String(""),
    					Minimum:           pulumi.String("0"),
    					Maximum:           pulumi.String("10"),
    					Target:            pulumi.String("5"),
    					MaxTargetCapacity: pulumi.String("1"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		ctx.Export("mrscaler-name", sample_MrScaler_01.Name)
    		ctx.Export("mrscaler-created-cluster-id", sample_MrScaler_01.OutputClusterId)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using SpotInst = Pulumi.SpotInst;
    
    return await Deployment.RunAsync(() => 
    {
        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 = "clone",
            ClusterId = "j-123456789",
            ExposeClusterId = true,
            AvailabilityZones = new[]
            {
                "us-west-2a:subnet-12345678",
            },
            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",
                },
            },
            TaskScalingDownPolicies = new[]
            {
                new SpotInst.Aws.Inputs.MrScalarTaskScalingDownPolicyArgs
                {
                    PolicyName = "policy-name",
                    MetricName = "CPUUtilization",
                    Namespace = "AWS/EC2",
                    Statistic = "average",
                    Unit = "",
                    Threshold = 10,
                    Adjustment = "1",
                    Cooldown = 60,
                    Dimensions = new[]
                    {
                        new Dictionary<string, object?>
                        {
                            ["name"] = "name-1",
                            ["value"] = "value-1",
                        },
                    },
                    Operator = "gt",
                    EvaluationPeriods = 10,
                    Period = 60,
                    ActionType = "",
                    Minimum = "0",
                    Maximum = "10",
                    Target = "5",
                    MaxTargetCapacity = "1",
                },
            },
        });
    
        return new Dictionary<string, object?>
        {
            ["mrscaler-name"] = sample_MrScaler_01.Name,
            ["mrscaler-created-cluster-id"] = sample_MrScaler_01.OutputClusterId,
        };
    });
    
    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=[spotinst.aws.MrScalarTaskEbsBlockDeviceArgs(
            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
    

    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.

    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", "any" },
                },
                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", "any" },
                },
                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", "any" },
                },
                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", "any" },
                },
                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.Map{
    				"string": pulumi.Any("any"),
    			},
    			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.Map{
    				"string": pulumi.Any("any"),
    			},
    			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.Map{
    				"string": pulumi.Any("any"),
    			},
    			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.Map{
    				"string": pulumi.Any("any"),
    			},
    			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", "any"))
            .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", "any"))
            .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", "any"))
            .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", "any"))
            .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=[spotinst.aws.MrScalarConfigurationsFileArgs(
            bucket="string",
            key="string",
        )],
        applications=[spotinst.aws.MrScalarApplicationArgs(
            name="string",
            args=["string"],
            version="string",
        )],
        availability_zones=["string"],
        bootstrap_actions_files=[spotinst.aws.MrScalarBootstrapActionsFileArgs(
            bucket="string",
            key="string",
        )],
        cluster_id="string",
        additional_info="string",
        core_desired_capacity=0,
        core_ebs_block_devices=[spotinst.aws.MrScalarCoreEbsBlockDeviceArgs(
            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=[spotinst.aws.MrScalarCoreScalingDownPolicyArgs(
            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": "any",
            },
            statistic="string",
            target="string",
            cooldown=0,
            adjustment="string",
        )],
        core_scaling_up_policies=[spotinst.aws.MrScalarCoreScalingUpPolicyArgs(
            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": "any",
            },
            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=[spotinst.aws.MrScalarInstanceWeightArgs(
            instance_type="string",
            weighted_capacity=0,
        )],
        job_flow_role="string",
        keep_job_flow_alive=False,
        master_instance_types=["string"],
        master_ebs_block_devices=[spotinst.aws.MrScalarMasterEbsBlockDeviceArgs(
            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=spotinst.aws.MrScalarProvisioningTimeoutArgs(
            timeout=0,
            timeout_action="string",
        ),
        region="string",
        release_label="string",
        repo_upgrade_on_boot="string",
        retries=0,
        scheduled_tasks=[spotinst.aws.MrScalarScheduledTaskArgs(
            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=[spotinst.aws.MrScalarStepsFileArgs(
            bucket="string",
            key="string",
        )],
        additional_primary_security_groups=["string"],
        tags=[spotinst.aws.MrScalarTagArgs(
            key="string",
            value="string",
        )],
        task_desired_capacity=0,
        task_ebs_block_devices=[spotinst.aws.MrScalarTaskEbsBlockDeviceArgs(
            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=[spotinst.aws.MrScalarTaskScalingDownPolicyArgs(
            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": "any",
            },
            statistic="string",
            target="string",
            cooldown=0,
            adjustment="string",
        )],
        task_scaling_up_policies=[spotinst.aws.MrScalarTaskScalingUpPolicyArgs(
            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": "any",
            },
            statistic="string",
            target="string",
            cooldown=0,
            adjustment="string",
        )],
        task_unit="string",
        termination_policies=[spotinst.aws.MrScalarTerminationPolicyArgs(
            statements=[spotinst.aws.MrScalarTerminationPolicyStatementArgs(
                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: "any",
            },
            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: "any",
            },
            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: "any",
            },
            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: "any",
            },
            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: any
              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: any
              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: any
              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: any
              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

    The MrScalar resource accepts the following input properties:

    Strategy string
    The MrScaler strategy. Allowed values are new clone and wrap.
    AdditionalInfo string
    This is meta information about third-party applications that third-party vendors use for testing purposes.
    AdditionalPrimarySecurityGroups List<string>
    A list of additional Amazon EC2 security group IDs for the master node.
    AdditionalReplicaSecurityGroups List<string>
    A list of additional Amazon EC2 security group IDs for the core and task nodes.
    Applications List<Pulumi.SpotInst.Aws.Inputs.MrScalarApplication>
    A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster
    AvailabilityZones List<string>
    List of AZs and their subnet Ids. See example above for usage.
    BootstrapActionsFiles List<Pulumi.SpotInst.Aws.Inputs.MrScalarBootstrapActionsFile>
    Describes path to S3 file containing description of bootstrap actions. More Information
    ClusterId string
    The MrScaler cluster id.
    ConfigurationsFiles List<Pulumi.SpotInst.Aws.Inputs.MrScalarConfigurationsFile>
    Describes path to S3 file containing description of configurations. More Information
    CoreDesiredCapacity int
    amount of instances in core group.
    CoreEbsBlockDevices List<Pulumi.SpotInst.Aws.Inputs.MrScalarCoreEbsBlockDevice>
    This determines the ebs configuration for your core group instances. Only a single block is allowed.
    CoreEbsOptimized bool
    EBS Optimization setting for instances in group.
    CoreInstanceTypes List<string>
    The MrScaler instance types for the core nodes.
    CoreLifecycle string
    The MrScaler lifecycle for instances in core group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    CoreMaxSize int
    maximal amount of instances in core group.
    CoreMinSize int
    The minimal amount of instances in core group.
    CoreScalingDownPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarCoreScalingDownPolicy>
    Each *_scaling_*_policy supports the following:
    CoreScalingUpPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarCoreScalingUpPolicy>
    CoreUnit string
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    CustomAmiId string
    The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.
    Description string
    The MrScaler description.
    EbsRootVolumeSize int
    Ec2KeyName string
    The name of an Amazon EC2 key pair that can be used to ssh to the master node.
    ExposeClusterId bool
    Allow the cluster_id to set a provider output variable.
    InstanceWeights List<Pulumi.SpotInst.Aws.Inputs.MrScalarInstanceWeight>
    Describes the instance and weights. Check out Elastigroup Weighted Instances for more info.
    JobFlowRole string
    The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.
    KeepJobFlowAlive bool
    Specifies whether the cluster should remain available after completing all steps.
    LogUri string
    The path to the Amazon S3 location where logs for this cluster are stored.
    ManagedPrimarySecurityGroup string
    EMR Managed Security group that will be set to the primary instance group.
    ManagedReplicaSecurityGroup string
    EMR Managed Security group that will be set to the replica instance group.
    MasterEbsBlockDevices List<Pulumi.SpotInst.Aws.Inputs.MrScalarMasterEbsBlockDevice>
    This determines the ebs configuration for your master group instances. Only a single block is allowed.
    MasterEbsOptimized bool
    EBS Optimization setting for instances in group.
    MasterInstanceTypes List<string>
    The MrScaler instance types for the master nodes.
    MasterLifecycle string
    The MrScaler lifecycle for instances in master group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    MasterTarget int
    Number of instances in the master group.
    Name string
    The MrScaler name.
    ProvisioningTimeout Pulumi.SpotInst.Aws.Inputs.MrScalarProvisioningTimeout
    Region string
    The MrScaler region.
    ReleaseLabel string
    RepoUpgradeOnBoot string
    Applies only when custom_ami_id is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI. Possible values include: SECURITY, NONE.
    Retries int
    Specifies the maximum number of times a capacity provisioning should be retried if the provisioning timeout is exceeded. Valid values: 1-5.
    ScheduledTasks List<Pulumi.SpotInst.Aws.Inputs.MrScalarScheduledTask>
    An array of scheduled tasks.
    SecurityConfig string
    The name of the security configuration applied to the cluster.
    ServiceAccessSecurityGroup string
    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.
    ServiceRole string
    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
    StepsFiles List<Pulumi.SpotInst.Aws.Inputs.MrScalarStepsFile>
    Steps from S3.
    Tags List<Pulumi.SpotInst.Aws.Inputs.MrScalarTag>
    A list of tags to assign to the resource. You may define multiple tags.
    TaskDesiredCapacity int
    amount of instances in task group.
    TaskEbsBlockDevices List<Pulumi.SpotInst.Aws.Inputs.MrScalarTaskEbsBlockDevice>
    This determines the ebs configuration for your task group instances. Only a single block is allowed.
    TaskEbsOptimized bool
    EBS Optimization setting for instances in group.
    TaskInstanceTypes List<string>
    The MrScaler instance types for the task nodes.
    TaskLifecycle string
    The MrScaler lifecycle for instances in task group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    TaskMaxSize int
    maximal amount of instances in task group.
    TaskMinSize int
    The minimal amount of instances in task group.
    TaskScalingDownPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarTaskScalingDownPolicy>
    Possible core group scaling policies (Clone, New strategies):
    TaskScalingUpPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarTaskScalingUpPolicy>
    TaskUnit string
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    TerminationPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarTerminationPolicy>
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    TerminationProtected bool
    Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.
    VisibleToAllUsers bool

    Deprecated: This field has been removed from our API and is no longer functional.

    Strategy string
    The MrScaler strategy. Allowed values are new clone and wrap.
    AdditionalInfo string
    This is meta information about third-party applications that third-party vendors use for testing purposes.
    AdditionalPrimarySecurityGroups []string
    A list of additional Amazon EC2 security group IDs for the master node.
    AdditionalReplicaSecurityGroups []string
    A list of additional Amazon EC2 security group IDs for the core and task nodes.
    Applications []MrScalarApplicationArgs
    A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster
    AvailabilityZones []string
    List of AZs and their subnet Ids. See example above for usage.
    BootstrapActionsFiles []MrScalarBootstrapActionsFileArgs
    Describes path to S3 file containing description of bootstrap actions. More Information
    ClusterId string
    The MrScaler cluster id.
    ConfigurationsFiles []MrScalarConfigurationsFileArgs
    Describes path to S3 file containing description of configurations. More Information
    CoreDesiredCapacity int
    amount of instances in core group.
    CoreEbsBlockDevices []MrScalarCoreEbsBlockDeviceArgs
    This determines the ebs configuration for your core group instances. Only a single block is allowed.
    CoreEbsOptimized bool
    EBS Optimization setting for instances in group.
    CoreInstanceTypes []string
    The MrScaler instance types for the core nodes.
    CoreLifecycle string
    The MrScaler lifecycle for instances in core group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    CoreMaxSize int
    maximal amount of instances in core group.
    CoreMinSize int
    The minimal amount of instances in core group.
    CoreScalingDownPolicies []MrScalarCoreScalingDownPolicyArgs
    Each *_scaling_*_policy supports the following:
    CoreScalingUpPolicies []MrScalarCoreScalingUpPolicyArgs
    CoreUnit string
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    CustomAmiId string
    The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.
    Description string
    The MrScaler description.
    EbsRootVolumeSize int
    Ec2KeyName string
    The name of an Amazon EC2 key pair that can be used to ssh to the master node.
    ExposeClusterId bool
    Allow the cluster_id to set a provider output variable.
    InstanceWeights []MrScalarInstanceWeightArgs
    Describes the instance and weights. Check out Elastigroup Weighted Instances for more info.
    JobFlowRole string
    The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.
    KeepJobFlowAlive bool
    Specifies whether the cluster should remain available after completing all steps.
    LogUri string
    The path to the Amazon S3 location where logs for this cluster are stored.
    ManagedPrimarySecurityGroup string
    EMR Managed Security group that will be set to the primary instance group.
    ManagedReplicaSecurityGroup string
    EMR Managed Security group that will be set to the replica instance group.
    MasterEbsBlockDevices []MrScalarMasterEbsBlockDeviceArgs
    This determines the ebs configuration for your master group instances. Only a single block is allowed.
    MasterEbsOptimized bool
    EBS Optimization setting for instances in group.
    MasterInstanceTypes []string
    The MrScaler instance types for the master nodes.
    MasterLifecycle string
    The MrScaler lifecycle for instances in master group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    MasterTarget int
    Number of instances in the master group.
    Name string
    The MrScaler name.
    ProvisioningTimeout MrScalarProvisioningTimeoutArgs
    Region string
    The MrScaler region.
    ReleaseLabel string
    RepoUpgradeOnBoot string
    Applies only when custom_ami_id is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI. Possible values include: SECURITY, NONE.
    Retries int
    Specifies the maximum number of times a capacity provisioning should be retried if the provisioning timeout is exceeded. Valid values: 1-5.
    ScheduledTasks []MrScalarScheduledTaskArgs
    An array of scheduled tasks.
    SecurityConfig string
    The name of the security configuration applied to the cluster.
    ServiceAccessSecurityGroup string
    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.
    ServiceRole string
    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
    StepsFiles []MrScalarStepsFileArgs
    Steps from S3.
    Tags []MrScalarTagArgs
    A list of tags to assign to the resource. You may define multiple tags.
    TaskDesiredCapacity int
    amount of instances in task group.
    TaskEbsBlockDevices []MrScalarTaskEbsBlockDeviceArgs
    This determines the ebs configuration for your task group instances. Only a single block is allowed.
    TaskEbsOptimized bool
    EBS Optimization setting for instances in group.
    TaskInstanceTypes []string
    The MrScaler instance types for the task nodes.
    TaskLifecycle string
    The MrScaler lifecycle for instances in task group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    TaskMaxSize int
    maximal amount of instances in task group.
    TaskMinSize int
    The minimal amount of instances in task group.
    TaskScalingDownPolicies []MrScalarTaskScalingDownPolicyArgs
    Possible core group scaling policies (Clone, New strategies):
    TaskScalingUpPolicies []MrScalarTaskScalingUpPolicyArgs
    TaskUnit string
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    TerminationPolicies []MrScalarTerminationPolicyArgs
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    TerminationProtected bool
    Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.
    VisibleToAllUsers bool

    Deprecated: This field has been removed from our API and is no longer functional.

    strategy String
    The MrScaler strategy. Allowed values are new clone and wrap.
    additionalInfo String
    This is meta information about third-party applications that third-party vendors use for testing purposes.
    additionalPrimarySecurityGroups List<String>
    A list of additional Amazon EC2 security group IDs for the master node.
    additionalReplicaSecurityGroups List<String>
    A list of additional Amazon EC2 security group IDs for the core and task nodes.
    applications List<MrScalarApplication>
    A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster
    availabilityZones List<String>
    List of AZs and their subnet Ids. See example above for usage.
    bootstrapActionsFiles List<MrScalarBootstrapActionsFile>
    Describes path to S3 file containing description of bootstrap actions. More Information
    clusterId String
    The MrScaler cluster id.
    configurationsFiles List<MrScalarConfigurationsFile>
    Describes path to S3 file containing description of configurations. More Information
    coreDesiredCapacity Integer
    amount of instances in core group.
    coreEbsBlockDevices List<MrScalarCoreEbsBlockDevice>
    This determines the ebs configuration for your core group instances. Only a single block is allowed.
    coreEbsOptimized Boolean
    EBS Optimization setting for instances in group.
    coreInstanceTypes List<String>
    The MrScaler instance types for the core nodes.
    coreLifecycle String
    The MrScaler lifecycle for instances in core group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    coreMaxSize Integer
    maximal amount of instances in core group.
    coreMinSize Integer
    The minimal amount of instances in core group.
    coreScalingDownPolicies List<MrScalarCoreScalingDownPolicy>
    Each *_scaling_*_policy supports the following:
    coreScalingUpPolicies List<MrScalarCoreScalingUpPolicy>
    coreUnit String
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    customAmiId String
    The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.
    description String
    The MrScaler description.
    ebsRootVolumeSize Integer
    ec2KeyName String
    The name of an Amazon EC2 key pair that can be used to ssh to the master node.
    exposeClusterId Boolean
    Allow the cluster_id to set a provider output variable.
    instanceWeights List<MrScalarInstanceWeight>
    Describes the instance and weights. Check out Elastigroup Weighted Instances for more info.
    jobFlowRole String
    The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.
    keepJobFlowAlive Boolean
    Specifies whether the cluster should remain available after completing all steps.
    logUri String
    The path to the Amazon S3 location where logs for this cluster are stored.
    managedPrimarySecurityGroup String
    EMR Managed Security group that will be set to the primary instance group.
    managedReplicaSecurityGroup String
    EMR Managed Security group that will be set to the replica instance group.
    masterEbsBlockDevices List<MrScalarMasterEbsBlockDevice>
    This determines the ebs configuration for your master group instances. Only a single block is allowed.
    masterEbsOptimized Boolean
    EBS Optimization setting for instances in group.
    masterInstanceTypes List<String>
    The MrScaler instance types for the master nodes.
    masterLifecycle String
    The MrScaler lifecycle for instances in master group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    masterTarget Integer
    Number of instances in the master group.
    name String
    The MrScaler name.
    provisioningTimeout MrScalarProvisioningTimeout
    region String
    The MrScaler region.
    releaseLabel String
    repoUpgradeOnBoot String
    Applies only when custom_ami_id is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI. Possible values include: SECURITY, NONE.
    retries Integer
    Specifies the maximum number of times a capacity provisioning should be retried if the provisioning timeout is exceeded. Valid values: 1-5.
    scheduledTasks List<MrScalarScheduledTask>
    An array of scheduled tasks.
    securityConfig String
    The name of the security configuration applied to the cluster.
    serviceAccessSecurityGroup String
    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.
    serviceRole String
    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
    stepsFiles List<MrScalarStepsFile>
    Steps from S3.
    tags List<MrScalarTag>
    A list of tags to assign to the resource. You may define multiple tags.
    taskDesiredCapacity Integer
    amount of instances in task group.
    taskEbsBlockDevices List<MrScalarTaskEbsBlockDevice>
    This determines the ebs configuration for your task group instances. Only a single block is allowed.
    taskEbsOptimized Boolean
    EBS Optimization setting for instances in group.
    taskInstanceTypes List<String>
    The MrScaler instance types for the task nodes.
    taskLifecycle String
    The MrScaler lifecycle for instances in task group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    taskMaxSize Integer
    maximal amount of instances in task group.
    taskMinSize Integer
    The minimal amount of instances in task group.
    taskScalingDownPolicies List<MrScalarTaskScalingDownPolicy>
    Possible core group scaling policies (Clone, New strategies):
    taskScalingUpPolicies List<MrScalarTaskScalingUpPolicy>
    taskUnit String
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    terminationPolicies List<MrScalarTerminationPolicy>
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    terminationProtected Boolean
    Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.
    visibleToAllUsers Boolean

    Deprecated: This field has been removed from our API and is no longer functional.

    strategy string
    The MrScaler strategy. Allowed values are new clone and wrap.
    additionalInfo string
    This is meta information about third-party applications that third-party vendors use for testing purposes.
    additionalPrimarySecurityGroups string[]
    A list of additional Amazon EC2 security group IDs for the master node.
    additionalReplicaSecurityGroups string[]
    A list of additional Amazon EC2 security group IDs for the core and task nodes.
    applications MrScalarApplication[]
    A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster
    availabilityZones string[]
    List of AZs and their subnet Ids. See example above for usage.
    bootstrapActionsFiles MrScalarBootstrapActionsFile[]
    Describes path to S3 file containing description of bootstrap actions. More Information
    clusterId string
    The MrScaler cluster id.
    configurationsFiles MrScalarConfigurationsFile[]
    Describes path to S3 file containing description of configurations. More Information
    coreDesiredCapacity number
    amount of instances in core group.
    coreEbsBlockDevices MrScalarCoreEbsBlockDevice[]
    This determines the ebs configuration for your core group instances. Only a single block is allowed.
    coreEbsOptimized boolean
    EBS Optimization setting for instances in group.
    coreInstanceTypes string[]
    The MrScaler instance types for the core nodes.
    coreLifecycle string
    The MrScaler lifecycle for instances in core group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    coreMaxSize number
    maximal amount of instances in core group.
    coreMinSize number
    The minimal amount of instances in core group.
    coreScalingDownPolicies MrScalarCoreScalingDownPolicy[]
    Each *_scaling_*_policy supports the following:
    coreScalingUpPolicies MrScalarCoreScalingUpPolicy[]
    coreUnit string
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    customAmiId string
    The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.
    description string
    The MrScaler description.
    ebsRootVolumeSize number
    ec2KeyName string
    The name of an Amazon EC2 key pair that can be used to ssh to the master node.
    exposeClusterId boolean
    Allow the cluster_id to set a provider output variable.
    instanceWeights MrScalarInstanceWeight[]
    Describes the instance and weights. Check out Elastigroup Weighted Instances for more info.
    jobFlowRole string
    The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.
    keepJobFlowAlive boolean
    Specifies whether the cluster should remain available after completing all steps.
    logUri string
    The path to the Amazon S3 location where logs for this cluster are stored.
    managedPrimarySecurityGroup string
    EMR Managed Security group that will be set to the primary instance group.
    managedReplicaSecurityGroup string
    EMR Managed Security group that will be set to the replica instance group.
    masterEbsBlockDevices MrScalarMasterEbsBlockDevice[]
    This determines the ebs configuration for your master group instances. Only a single block is allowed.
    masterEbsOptimized boolean
    EBS Optimization setting for instances in group.
    masterInstanceTypes string[]
    The MrScaler instance types for the master nodes.
    masterLifecycle string
    The MrScaler lifecycle for instances in master group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    masterTarget number
    Number of instances in the master group.
    name string
    The MrScaler name.
    provisioningTimeout MrScalarProvisioningTimeout
    region string
    The MrScaler region.
    releaseLabel string
    repoUpgradeOnBoot string
    Applies only when custom_ami_id is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI. Possible values include: SECURITY, NONE.
    retries number
    Specifies the maximum number of times a capacity provisioning should be retried if the provisioning timeout is exceeded. Valid values: 1-5.
    scheduledTasks MrScalarScheduledTask[]
    An array of scheduled tasks.
    securityConfig string
    The name of the security configuration applied to the cluster.
    serviceAccessSecurityGroup string
    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.
    serviceRole string
    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
    stepsFiles MrScalarStepsFile[]
    Steps from S3.
    tags MrScalarTag[]
    A list of tags to assign to the resource. You may define multiple tags.
    taskDesiredCapacity number
    amount of instances in task group.
    taskEbsBlockDevices MrScalarTaskEbsBlockDevice[]
    This determines the ebs configuration for your task group instances. Only a single block is allowed.
    taskEbsOptimized boolean
    EBS Optimization setting for instances in group.
    taskInstanceTypes string[]
    The MrScaler instance types for the task nodes.
    taskLifecycle string
    The MrScaler lifecycle for instances in task group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    taskMaxSize number
    maximal amount of instances in task group.
    taskMinSize number
    The minimal amount of instances in task group.
    taskScalingDownPolicies MrScalarTaskScalingDownPolicy[]
    Possible core group scaling policies (Clone, New strategies):
    taskScalingUpPolicies MrScalarTaskScalingUpPolicy[]
    taskUnit string
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    terminationPolicies MrScalarTerminationPolicy[]
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    terminationProtected boolean
    Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.
    visibleToAllUsers boolean

    Deprecated: This field has been removed from our API and is no longer functional.

    strategy str
    The MrScaler strategy. Allowed values are new clone and wrap.
    additional_info str
    This is meta information about third-party applications that third-party vendors use for testing purposes.
    additional_primary_security_groups Sequence[str]
    A list of additional Amazon EC2 security group IDs for the master node.
    additional_replica_security_groups Sequence[str]
    A list of additional Amazon EC2 security group IDs for the core and task nodes.
    applications Sequence[MrScalarApplicationArgs]
    A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster
    availability_zones Sequence[str]
    List of AZs and their subnet Ids. See example above for usage.
    bootstrap_actions_files Sequence[MrScalarBootstrapActionsFileArgs]
    Describes path to S3 file containing description of bootstrap actions. More Information
    cluster_id str
    The MrScaler cluster id.
    configurations_files Sequence[MrScalarConfigurationsFileArgs]
    Describes path to S3 file containing description of configurations. More Information
    core_desired_capacity int
    amount of instances in core group.
    core_ebs_block_devices Sequence[MrScalarCoreEbsBlockDeviceArgs]
    This determines the ebs configuration for your core group instances. Only a single block is allowed.
    core_ebs_optimized bool
    EBS Optimization setting for instances in group.
    core_instance_types Sequence[str]
    The MrScaler instance types for the core nodes.
    core_lifecycle str
    The MrScaler lifecycle for instances in core group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    core_max_size int
    maximal amount of instances in core group.
    core_min_size int
    The minimal amount of instances in core group.
    core_scaling_down_policies Sequence[MrScalarCoreScalingDownPolicyArgs]
    Each *_scaling_*_policy supports the following:
    core_scaling_up_policies Sequence[MrScalarCoreScalingUpPolicyArgs]
    core_unit str
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    custom_ami_id str
    The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.
    description str
    The MrScaler description.
    ebs_root_volume_size int
    ec2_key_name str
    The name of an Amazon EC2 key pair that can be used to ssh to the master node.
    expose_cluster_id bool
    Allow the cluster_id to set a provider output variable.
    instance_weights Sequence[MrScalarInstanceWeightArgs]
    Describes the instance and weights. Check out Elastigroup Weighted Instances for more info.
    job_flow_role str
    The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.
    keep_job_flow_alive bool
    Specifies whether the cluster should remain available after completing all steps.
    log_uri str
    The path to the Amazon S3 location where logs for this cluster are stored.
    managed_primary_security_group str
    EMR Managed Security group that will be set to the primary instance group.
    managed_replica_security_group str
    EMR Managed Security group that will be set to the replica instance group.
    master_ebs_block_devices Sequence[MrScalarMasterEbsBlockDeviceArgs]
    This determines the ebs configuration for your master group instances. Only a single block is allowed.
    master_ebs_optimized bool
    EBS Optimization setting for instances in group.
    master_instance_types Sequence[str]
    The MrScaler instance types for the master nodes.
    master_lifecycle str
    The MrScaler lifecycle for instances in master group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    master_target int
    Number of instances in the master group.
    name str
    The MrScaler name.
    provisioning_timeout MrScalarProvisioningTimeoutArgs
    region str
    The MrScaler region.
    release_label str
    repo_upgrade_on_boot str
    Applies only when custom_ami_id is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI. Possible values include: SECURITY, NONE.
    retries int
    Specifies the maximum number of times a capacity provisioning should be retried if the provisioning timeout is exceeded. Valid values: 1-5.
    scheduled_tasks Sequence[MrScalarScheduledTaskArgs]
    An array of scheduled tasks.
    security_config str
    The name of the security configuration applied to the cluster.
    service_access_security_group str
    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.
    service_role str
    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
    steps_files Sequence[MrScalarStepsFileArgs]
    Steps from S3.
    tags Sequence[MrScalarTagArgs]
    A list of tags to assign to the resource. You may define multiple tags.
    task_desired_capacity int
    amount of instances in task group.
    task_ebs_block_devices Sequence[MrScalarTaskEbsBlockDeviceArgs]
    This determines the ebs configuration for your task group instances. Only a single block is allowed.
    task_ebs_optimized bool
    EBS Optimization setting for instances in group.
    task_instance_types Sequence[str]
    The MrScaler instance types for the task nodes.
    task_lifecycle str
    The MrScaler lifecycle for instances in task group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    task_max_size int
    maximal amount of instances in task group.
    task_min_size int
    The minimal amount of instances in task group.
    task_scaling_down_policies Sequence[MrScalarTaskScalingDownPolicyArgs]
    Possible core group scaling policies (Clone, New strategies):
    task_scaling_up_policies Sequence[MrScalarTaskScalingUpPolicyArgs]
    task_unit str
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    termination_policies Sequence[MrScalarTerminationPolicyArgs]
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    termination_protected bool
    Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.
    visible_to_all_users bool

    Deprecated: This field has been removed from our API and is no longer functional.

    strategy String
    The MrScaler strategy. Allowed values are new clone and wrap.
    additionalInfo String
    This is meta information about third-party applications that third-party vendors use for testing purposes.
    additionalPrimarySecurityGroups List<String>
    A list of additional Amazon EC2 security group IDs for the master node.
    additionalReplicaSecurityGroups List<String>
    A list of additional Amazon EC2 security group IDs for the core and task nodes.
    applications List<Property Map>
    A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster
    availabilityZones List<String>
    List of AZs and their subnet Ids. See example above for usage.
    bootstrapActionsFiles List<Property Map>
    Describes path to S3 file containing description of bootstrap actions. More Information
    clusterId String
    The MrScaler cluster id.
    configurationsFiles List<Property Map>
    Describes path to S3 file containing description of configurations. More Information
    coreDesiredCapacity Number
    amount of instances in core group.
    coreEbsBlockDevices List<Property Map>
    This determines the ebs configuration for your core group instances. Only a single block is allowed.
    coreEbsOptimized Boolean
    EBS Optimization setting for instances in group.
    coreInstanceTypes List<String>
    The MrScaler instance types for the core nodes.
    coreLifecycle String
    The MrScaler lifecycle for instances in core group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    coreMaxSize Number
    maximal amount of instances in core group.
    coreMinSize Number
    The minimal amount of instances in core group.
    coreScalingDownPolicies List<Property Map>
    Each *_scaling_*_policy supports the following:
    coreScalingUpPolicies List<Property Map>
    coreUnit String
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    customAmiId String
    The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.
    description String
    The MrScaler description.
    ebsRootVolumeSize Number
    ec2KeyName String
    The name of an Amazon EC2 key pair that can be used to ssh to the master node.
    exposeClusterId Boolean
    Allow the cluster_id to set a provider output variable.
    instanceWeights List<Property Map>
    Describes the instance and weights. Check out Elastigroup Weighted Instances for more info.
    jobFlowRole String
    The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.
    keepJobFlowAlive Boolean
    Specifies whether the cluster should remain available after completing all steps.
    logUri String
    The path to the Amazon S3 location where logs for this cluster are stored.
    managedPrimarySecurityGroup String
    EMR Managed Security group that will be set to the primary instance group.
    managedReplicaSecurityGroup String
    EMR Managed Security group that will be set to the replica instance group.
    masterEbsBlockDevices List<Property Map>
    This determines the ebs configuration for your master group instances. Only a single block is allowed.
    masterEbsOptimized Boolean
    EBS Optimization setting for instances in group.
    masterInstanceTypes List<String>
    The MrScaler instance types for the master nodes.
    masterLifecycle String
    The MrScaler lifecycle for instances in master group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    masterTarget Number
    Number of instances in the master group.
    name String
    The MrScaler name.
    provisioningTimeout Property Map
    region String
    The MrScaler region.
    releaseLabel String
    repoUpgradeOnBoot String
    Applies only when custom_ami_id is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI. Possible values include: SECURITY, NONE.
    retries Number
    Specifies the maximum number of times a capacity provisioning should be retried if the provisioning timeout is exceeded. Valid values: 1-5.
    scheduledTasks List<Property Map>
    An array of scheduled tasks.
    securityConfig String
    The name of the security configuration applied to the cluster.
    serviceAccessSecurityGroup String
    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.
    serviceRole String
    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
    stepsFiles List<Property Map>
    Steps from S3.
    tags List<Property Map>
    A list of tags to assign to the resource. You may define multiple tags.
    taskDesiredCapacity Number
    amount of instances in task group.
    taskEbsBlockDevices List<Property Map>
    This determines the ebs configuration for your task group instances. Only a single block is allowed.
    taskEbsOptimized Boolean
    EBS Optimization setting for instances in group.
    taskInstanceTypes List<String>
    The MrScaler instance types for the task nodes.
    taskLifecycle String
    The MrScaler lifecycle for instances in task group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    taskMaxSize Number
    maximal amount of instances in task group.
    taskMinSize Number
    The minimal amount of instances in task group.
    taskScalingDownPolicies List<Property Map>
    Possible core group scaling policies (Clone, New strategies):
    taskScalingUpPolicies List<Property Map>
    taskUnit String
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    terminationPolicies List<Property Map>
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    terminationProtected Boolean
    Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.
    visibleToAllUsers Boolean

    Deprecated: This field has been removed from our API and is no longer functional.

    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.
    OutputClusterId string
    Id string
    The provider-assigned unique ID for this managed resource.
    OutputClusterId string
    id String
    The provider-assigned unique ID for this managed resource.
    outputClusterId String
    id string
    The provider-assigned unique ID for this managed resource.
    outputClusterId string
    id str
    The provider-assigned unique ID for this managed resource.
    output_cluster_id str
    id String
    The provider-assigned unique ID for this managed resource.
    outputClusterId String

    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) -> MrScalar
    func 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)
    Resource lookup is not supported in YAML
    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.
    The following state arguments are supported:
    AdditionalInfo string
    This is meta information about third-party applications that third-party vendors use for testing purposes.
    AdditionalPrimarySecurityGroups List<string>
    A list of additional Amazon EC2 security group IDs for the master node.
    AdditionalReplicaSecurityGroups List<string>
    A list of additional Amazon EC2 security group IDs for the core and task nodes.
    Applications List<Pulumi.SpotInst.Aws.Inputs.MrScalarApplication>
    A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster
    AvailabilityZones List<string>
    List of AZs and their subnet Ids. See example above for usage.
    BootstrapActionsFiles List<Pulumi.SpotInst.Aws.Inputs.MrScalarBootstrapActionsFile>
    Describes path to S3 file containing description of bootstrap actions. More Information
    ClusterId string
    The MrScaler cluster id.
    ConfigurationsFiles List<Pulumi.SpotInst.Aws.Inputs.MrScalarConfigurationsFile>
    Describes path to S3 file containing description of configurations. More Information
    CoreDesiredCapacity int
    amount of instances in core group.
    CoreEbsBlockDevices List<Pulumi.SpotInst.Aws.Inputs.MrScalarCoreEbsBlockDevice>
    This determines the ebs configuration for your core group instances. Only a single block is allowed.
    CoreEbsOptimized bool
    EBS Optimization setting for instances in group.
    CoreInstanceTypes List<string>
    The MrScaler instance types for the core nodes.
    CoreLifecycle string
    The MrScaler lifecycle for instances in core group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    CoreMaxSize int
    maximal amount of instances in core group.
    CoreMinSize int
    The minimal amount of instances in core group.
    CoreScalingDownPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarCoreScalingDownPolicy>
    Each *_scaling_*_policy supports the following:
    CoreScalingUpPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarCoreScalingUpPolicy>
    CoreUnit string
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    CustomAmiId string
    The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.
    Description string
    The MrScaler description.
    EbsRootVolumeSize int
    Ec2KeyName string
    The name of an Amazon EC2 key pair that can be used to ssh to the master node.
    ExposeClusterId bool
    Allow the cluster_id to set a provider output variable.
    InstanceWeights List<Pulumi.SpotInst.Aws.Inputs.MrScalarInstanceWeight>
    Describes the instance and weights. Check out Elastigroup Weighted Instances for more info.
    JobFlowRole string
    The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.
    KeepJobFlowAlive bool
    Specifies whether the cluster should remain available after completing all steps.
    LogUri string
    The path to the Amazon S3 location where logs for this cluster are stored.
    ManagedPrimarySecurityGroup string
    EMR Managed Security group that will be set to the primary instance group.
    ManagedReplicaSecurityGroup string
    EMR Managed Security group that will be set to the replica instance group.
    MasterEbsBlockDevices List<Pulumi.SpotInst.Aws.Inputs.MrScalarMasterEbsBlockDevice>
    This determines the ebs configuration for your master group instances. Only a single block is allowed.
    MasterEbsOptimized bool
    EBS Optimization setting for instances in group.
    MasterInstanceTypes List<string>
    The MrScaler instance types for the master nodes.
    MasterLifecycle string
    The MrScaler lifecycle for instances in master group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    MasterTarget int
    Number of instances in the master group.
    Name string
    The MrScaler name.
    OutputClusterId string
    ProvisioningTimeout Pulumi.SpotInst.Aws.Inputs.MrScalarProvisioningTimeout
    Region string
    The MrScaler region.
    ReleaseLabel string
    RepoUpgradeOnBoot string
    Applies only when custom_ami_id is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI. Possible values include: SECURITY, NONE.
    Retries int
    Specifies the maximum number of times a capacity provisioning should be retried if the provisioning timeout is exceeded. Valid values: 1-5.
    ScheduledTasks List<Pulumi.SpotInst.Aws.Inputs.MrScalarScheduledTask>
    An array of scheduled tasks.
    SecurityConfig string
    The name of the security configuration applied to the cluster.
    ServiceAccessSecurityGroup string
    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.
    ServiceRole string
    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
    StepsFiles List<Pulumi.SpotInst.Aws.Inputs.MrScalarStepsFile>
    Steps from S3.
    Strategy string
    The MrScaler strategy. Allowed values are new clone and wrap.
    Tags List<Pulumi.SpotInst.Aws.Inputs.MrScalarTag>
    A list of tags to assign to the resource. You may define multiple tags.
    TaskDesiredCapacity int
    amount of instances in task group.
    TaskEbsBlockDevices List<Pulumi.SpotInst.Aws.Inputs.MrScalarTaskEbsBlockDevice>
    This determines the ebs configuration for your task group instances. Only a single block is allowed.
    TaskEbsOptimized bool
    EBS Optimization setting for instances in group.
    TaskInstanceTypes List<string>
    The MrScaler instance types for the task nodes.
    TaskLifecycle string
    The MrScaler lifecycle for instances in task group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    TaskMaxSize int
    maximal amount of instances in task group.
    TaskMinSize int
    The minimal amount of instances in task group.
    TaskScalingDownPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarTaskScalingDownPolicy>
    Possible core group scaling policies (Clone, New strategies):
    TaskScalingUpPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarTaskScalingUpPolicy>
    TaskUnit string
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    TerminationPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarTerminationPolicy>
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    TerminationProtected bool
    Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.
    VisibleToAllUsers bool

    Deprecated: This field has been removed from our API and is no longer functional.

    AdditionalInfo string
    This is meta information about third-party applications that third-party vendors use for testing purposes.
    AdditionalPrimarySecurityGroups []string
    A list of additional Amazon EC2 security group IDs for the master node.
    AdditionalReplicaSecurityGroups []string
    A list of additional Amazon EC2 security group IDs for the core and task nodes.
    Applications []MrScalarApplicationArgs
    A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster
    AvailabilityZones []string
    List of AZs and their subnet Ids. See example above for usage.
    BootstrapActionsFiles []MrScalarBootstrapActionsFileArgs
    Describes path to S3 file containing description of bootstrap actions. More Information
    ClusterId string
    The MrScaler cluster id.
    ConfigurationsFiles []MrScalarConfigurationsFileArgs
    Describes path to S3 file containing description of configurations. More Information
    CoreDesiredCapacity int
    amount of instances in core group.
    CoreEbsBlockDevices []MrScalarCoreEbsBlockDeviceArgs
    This determines the ebs configuration for your core group instances. Only a single block is allowed.
    CoreEbsOptimized bool
    EBS Optimization setting for instances in group.
    CoreInstanceTypes []string
    The MrScaler instance types for the core nodes.
    CoreLifecycle string
    The MrScaler lifecycle for instances in core group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    CoreMaxSize int
    maximal amount of instances in core group.
    CoreMinSize int
    The minimal amount of instances in core group.
    CoreScalingDownPolicies []MrScalarCoreScalingDownPolicyArgs
    Each *_scaling_*_policy supports the following:
    CoreScalingUpPolicies []MrScalarCoreScalingUpPolicyArgs
    CoreUnit string
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    CustomAmiId string
    The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.
    Description string
    The MrScaler description.
    EbsRootVolumeSize int
    Ec2KeyName string
    The name of an Amazon EC2 key pair that can be used to ssh to the master node.
    ExposeClusterId bool
    Allow the cluster_id to set a provider output variable.
    InstanceWeights []MrScalarInstanceWeightArgs
    Describes the instance and weights. Check out Elastigroup Weighted Instances for more info.
    JobFlowRole string
    The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.
    KeepJobFlowAlive bool
    Specifies whether the cluster should remain available after completing all steps.
    LogUri string
    The path to the Amazon S3 location where logs for this cluster are stored.
    ManagedPrimarySecurityGroup string
    EMR Managed Security group that will be set to the primary instance group.
    ManagedReplicaSecurityGroup string
    EMR Managed Security group that will be set to the replica instance group.
    MasterEbsBlockDevices []MrScalarMasterEbsBlockDeviceArgs
    This determines the ebs configuration for your master group instances. Only a single block is allowed.
    MasterEbsOptimized bool
    EBS Optimization setting for instances in group.
    MasterInstanceTypes []string
    The MrScaler instance types for the master nodes.
    MasterLifecycle string
    The MrScaler lifecycle for instances in master group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    MasterTarget int
    Number of instances in the master group.
    Name string
    The MrScaler name.
    OutputClusterId string
    ProvisioningTimeout MrScalarProvisioningTimeoutArgs
    Region string
    The MrScaler region.
    ReleaseLabel string
    RepoUpgradeOnBoot string
    Applies only when custom_ami_id is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI. Possible values include: SECURITY, NONE.
    Retries int
    Specifies the maximum number of times a capacity provisioning should be retried if the provisioning timeout is exceeded. Valid values: 1-5.
    ScheduledTasks []MrScalarScheduledTaskArgs
    An array of scheduled tasks.
    SecurityConfig string
    The name of the security configuration applied to the cluster.
    ServiceAccessSecurityGroup string
    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.
    ServiceRole string
    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
    StepsFiles []MrScalarStepsFileArgs
    Steps from S3.
    Strategy string
    The MrScaler strategy. Allowed values are new clone and wrap.
    Tags []MrScalarTagArgs
    A list of tags to assign to the resource. You may define multiple tags.
    TaskDesiredCapacity int
    amount of instances in task group.
    TaskEbsBlockDevices []MrScalarTaskEbsBlockDeviceArgs
    This determines the ebs configuration for your task group instances. Only a single block is allowed.
    TaskEbsOptimized bool
    EBS Optimization setting for instances in group.
    TaskInstanceTypes []string
    The MrScaler instance types for the task nodes.
    TaskLifecycle string
    The MrScaler lifecycle for instances in task group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    TaskMaxSize int
    maximal amount of instances in task group.
    TaskMinSize int
    The minimal amount of instances in task group.
    TaskScalingDownPolicies []MrScalarTaskScalingDownPolicyArgs
    Possible core group scaling policies (Clone, New strategies):
    TaskScalingUpPolicies []MrScalarTaskScalingUpPolicyArgs
    TaskUnit string
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    TerminationPolicies []MrScalarTerminationPolicyArgs
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    TerminationProtected bool
    Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.
    VisibleToAllUsers bool

    Deprecated: This field has been removed from our API and is no longer functional.

    additionalInfo String
    This is meta information about third-party applications that third-party vendors use for testing purposes.
    additionalPrimarySecurityGroups List<String>
    A list of additional Amazon EC2 security group IDs for the master node.
    additionalReplicaSecurityGroups List<String>
    A list of additional Amazon EC2 security group IDs for the core and task nodes.
    applications List<MrScalarApplication>
    A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster
    availabilityZones List<String>
    List of AZs and their subnet Ids. See example above for usage.
    bootstrapActionsFiles List<MrScalarBootstrapActionsFile>
    Describes path to S3 file containing description of bootstrap actions. More Information
    clusterId String
    The MrScaler cluster id.
    configurationsFiles List<MrScalarConfigurationsFile>
    Describes path to S3 file containing description of configurations. More Information
    coreDesiredCapacity Integer
    amount of instances in core group.
    coreEbsBlockDevices List<MrScalarCoreEbsBlockDevice>
    This determines the ebs configuration for your core group instances. Only a single block is allowed.
    coreEbsOptimized Boolean
    EBS Optimization setting for instances in group.
    coreInstanceTypes List<String>
    The MrScaler instance types for the core nodes.
    coreLifecycle String
    The MrScaler lifecycle for instances in core group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    coreMaxSize Integer
    maximal amount of instances in core group.
    coreMinSize Integer
    The minimal amount of instances in core group.
    coreScalingDownPolicies List<MrScalarCoreScalingDownPolicy>
    Each *_scaling_*_policy supports the following:
    coreScalingUpPolicies List<MrScalarCoreScalingUpPolicy>
    coreUnit String
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    customAmiId String
    The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.
    description String
    The MrScaler description.
    ebsRootVolumeSize Integer
    ec2KeyName String
    The name of an Amazon EC2 key pair that can be used to ssh to the master node.
    exposeClusterId Boolean
    Allow the cluster_id to set a provider output variable.
    instanceWeights List<MrScalarInstanceWeight>
    Describes the instance and weights. Check out Elastigroup Weighted Instances for more info.
    jobFlowRole String
    The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.
    keepJobFlowAlive Boolean
    Specifies whether the cluster should remain available after completing all steps.
    logUri String
    The path to the Amazon S3 location where logs for this cluster are stored.
    managedPrimarySecurityGroup String
    EMR Managed Security group that will be set to the primary instance group.
    managedReplicaSecurityGroup String
    EMR Managed Security group that will be set to the replica instance group.
    masterEbsBlockDevices List<MrScalarMasterEbsBlockDevice>
    This determines the ebs configuration for your master group instances. Only a single block is allowed.
    masterEbsOptimized Boolean
    EBS Optimization setting for instances in group.
    masterInstanceTypes List<String>
    The MrScaler instance types for the master nodes.
    masterLifecycle String
    The MrScaler lifecycle for instances in master group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    masterTarget Integer
    Number of instances in the master group.
    name String
    The MrScaler name.
    outputClusterId String
    provisioningTimeout MrScalarProvisioningTimeout
    region String
    The MrScaler region.
    releaseLabel String
    repoUpgradeOnBoot String
    Applies only when custom_ami_id is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI. Possible values include: SECURITY, NONE.
    retries Integer
    Specifies the maximum number of times a capacity provisioning should be retried if the provisioning timeout is exceeded. Valid values: 1-5.
    scheduledTasks List<MrScalarScheduledTask>
    An array of scheduled tasks.
    securityConfig String
    The name of the security configuration applied to the cluster.
    serviceAccessSecurityGroup String
    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.
    serviceRole String
    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
    stepsFiles List<MrScalarStepsFile>
    Steps from S3.
    strategy String
    The MrScaler strategy. Allowed values are new clone and wrap.
    tags List<MrScalarTag>
    A list of tags to assign to the resource. You may define multiple tags.
    taskDesiredCapacity Integer
    amount of instances in task group.
    taskEbsBlockDevices List<MrScalarTaskEbsBlockDevice>
    This determines the ebs configuration for your task group instances. Only a single block is allowed.
    taskEbsOptimized Boolean
    EBS Optimization setting for instances in group.
    taskInstanceTypes List<String>
    The MrScaler instance types for the task nodes.
    taskLifecycle String
    The MrScaler lifecycle for instances in task group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    taskMaxSize Integer
    maximal amount of instances in task group.
    taskMinSize Integer
    The minimal amount of instances in task group.
    taskScalingDownPolicies List<MrScalarTaskScalingDownPolicy>
    Possible core group scaling policies (Clone, New strategies):
    taskScalingUpPolicies List<MrScalarTaskScalingUpPolicy>
    taskUnit String
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    terminationPolicies List<MrScalarTerminationPolicy>
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    terminationProtected Boolean
    Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.
    visibleToAllUsers Boolean

    Deprecated: This field has been removed from our API and is no longer functional.

    additionalInfo string
    This is meta information about third-party applications that third-party vendors use for testing purposes.
    additionalPrimarySecurityGroups string[]
    A list of additional Amazon EC2 security group IDs for the master node.
    additionalReplicaSecurityGroups string[]
    A list of additional Amazon EC2 security group IDs for the core and task nodes.
    applications MrScalarApplication[]
    A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster
    availabilityZones string[]
    List of AZs and their subnet Ids. See example above for usage.
    bootstrapActionsFiles MrScalarBootstrapActionsFile[]
    Describes path to S3 file containing description of bootstrap actions. More Information
    clusterId string
    The MrScaler cluster id.
    configurationsFiles MrScalarConfigurationsFile[]
    Describes path to S3 file containing description of configurations. More Information
    coreDesiredCapacity number
    amount of instances in core group.
    coreEbsBlockDevices MrScalarCoreEbsBlockDevice[]
    This determines the ebs configuration for your core group instances. Only a single block is allowed.
    coreEbsOptimized boolean
    EBS Optimization setting for instances in group.
    coreInstanceTypes string[]
    The MrScaler instance types for the core nodes.
    coreLifecycle string
    The MrScaler lifecycle for instances in core group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    coreMaxSize number
    maximal amount of instances in core group.
    coreMinSize number
    The minimal amount of instances in core group.
    coreScalingDownPolicies MrScalarCoreScalingDownPolicy[]
    Each *_scaling_*_policy supports the following:
    coreScalingUpPolicies MrScalarCoreScalingUpPolicy[]
    coreUnit string
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    customAmiId string
    The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.
    description string
    The MrScaler description.
    ebsRootVolumeSize number
    ec2KeyName string
    The name of an Amazon EC2 key pair that can be used to ssh to the master node.
    exposeClusterId boolean
    Allow the cluster_id to set a provider output variable.
    instanceWeights MrScalarInstanceWeight[]
    Describes the instance and weights. Check out Elastigroup Weighted Instances for more info.
    jobFlowRole string
    The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.
    keepJobFlowAlive boolean
    Specifies whether the cluster should remain available after completing all steps.
    logUri string
    The path to the Amazon S3 location where logs for this cluster are stored.
    managedPrimarySecurityGroup string
    EMR Managed Security group that will be set to the primary instance group.
    managedReplicaSecurityGroup string
    EMR Managed Security group that will be set to the replica instance group.
    masterEbsBlockDevices MrScalarMasterEbsBlockDevice[]
    This determines the ebs configuration for your master group instances. Only a single block is allowed.
    masterEbsOptimized boolean
    EBS Optimization setting for instances in group.
    masterInstanceTypes string[]
    The MrScaler instance types for the master nodes.
    masterLifecycle string
    The MrScaler lifecycle for instances in master group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    masterTarget number
    Number of instances in the master group.
    name string
    The MrScaler name.
    outputClusterId string
    provisioningTimeout MrScalarProvisioningTimeout
    region string
    The MrScaler region.
    releaseLabel string
    repoUpgradeOnBoot string
    Applies only when custom_ami_id is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI. Possible values include: SECURITY, NONE.
    retries number
    Specifies the maximum number of times a capacity provisioning should be retried if the provisioning timeout is exceeded. Valid values: 1-5.
    scheduledTasks MrScalarScheduledTask[]
    An array of scheduled tasks.
    securityConfig string
    The name of the security configuration applied to the cluster.
    serviceAccessSecurityGroup string
    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.
    serviceRole string
    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
    stepsFiles MrScalarStepsFile[]
    Steps from S3.
    strategy string
    The MrScaler strategy. Allowed values are new clone and wrap.
    tags MrScalarTag[]
    A list of tags to assign to the resource. You may define multiple tags.
    taskDesiredCapacity number
    amount of instances in task group.
    taskEbsBlockDevices MrScalarTaskEbsBlockDevice[]
    This determines the ebs configuration for your task group instances. Only a single block is allowed.
    taskEbsOptimized boolean
    EBS Optimization setting for instances in group.
    taskInstanceTypes string[]
    The MrScaler instance types for the task nodes.
    taskLifecycle string
    The MrScaler lifecycle for instances in task group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    taskMaxSize number
    maximal amount of instances in task group.
    taskMinSize number
    The minimal amount of instances in task group.
    taskScalingDownPolicies MrScalarTaskScalingDownPolicy[]
    Possible core group scaling policies (Clone, New strategies):
    taskScalingUpPolicies MrScalarTaskScalingUpPolicy[]
    taskUnit string
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    terminationPolicies MrScalarTerminationPolicy[]
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    terminationProtected boolean
    Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.
    visibleToAllUsers boolean

    Deprecated: This field has been removed from our API and is no longer functional.

    additional_info str
    This is meta information about third-party applications that third-party vendors use for testing purposes.
    additional_primary_security_groups Sequence[str]
    A list of additional Amazon EC2 security group IDs for the master node.
    additional_replica_security_groups Sequence[str]
    A list of additional Amazon EC2 security group IDs for the core and task nodes.
    applications Sequence[MrScalarApplicationArgs]
    A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster
    availability_zones Sequence[str]
    List of AZs and their subnet Ids. See example above for usage.
    bootstrap_actions_files Sequence[MrScalarBootstrapActionsFileArgs]
    Describes path to S3 file containing description of bootstrap actions. More Information
    cluster_id str
    The MrScaler cluster id.
    configurations_files Sequence[MrScalarConfigurationsFileArgs]
    Describes path to S3 file containing description of configurations. More Information
    core_desired_capacity int
    amount of instances in core group.
    core_ebs_block_devices Sequence[MrScalarCoreEbsBlockDeviceArgs]
    This determines the ebs configuration for your core group instances. Only a single block is allowed.
    core_ebs_optimized bool
    EBS Optimization setting for instances in group.
    core_instance_types Sequence[str]
    The MrScaler instance types for the core nodes.
    core_lifecycle str
    The MrScaler lifecycle for instances in core group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    core_max_size int
    maximal amount of instances in core group.
    core_min_size int
    The minimal amount of instances in core group.
    core_scaling_down_policies Sequence[MrScalarCoreScalingDownPolicyArgs]
    Each *_scaling_*_policy supports the following:
    core_scaling_up_policies Sequence[MrScalarCoreScalingUpPolicyArgs]
    core_unit str
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    custom_ami_id str
    The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.
    description str
    The MrScaler description.
    ebs_root_volume_size int
    ec2_key_name str
    The name of an Amazon EC2 key pair that can be used to ssh to the master node.
    expose_cluster_id bool
    Allow the cluster_id to set a provider output variable.
    instance_weights Sequence[MrScalarInstanceWeightArgs]
    Describes the instance and weights. Check out Elastigroup Weighted Instances for more info.
    job_flow_role str
    The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.
    keep_job_flow_alive bool
    Specifies whether the cluster should remain available after completing all steps.
    log_uri str
    The path to the Amazon S3 location where logs for this cluster are stored.
    managed_primary_security_group str
    EMR Managed Security group that will be set to the primary instance group.
    managed_replica_security_group str
    EMR Managed Security group that will be set to the replica instance group.
    master_ebs_block_devices Sequence[MrScalarMasterEbsBlockDeviceArgs]
    This determines the ebs configuration for your master group instances. Only a single block is allowed.
    master_ebs_optimized bool
    EBS Optimization setting for instances in group.
    master_instance_types Sequence[str]
    The MrScaler instance types for the master nodes.
    master_lifecycle str
    The MrScaler lifecycle for instances in master group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    master_target int
    Number of instances in the master group.
    name str
    The MrScaler name.
    output_cluster_id str
    provisioning_timeout MrScalarProvisioningTimeoutArgs
    region str
    The MrScaler region.
    release_label str
    repo_upgrade_on_boot str
    Applies only when custom_ami_id is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI. Possible values include: SECURITY, NONE.
    retries int
    Specifies the maximum number of times a capacity provisioning should be retried if the provisioning timeout is exceeded. Valid values: 1-5.
    scheduled_tasks Sequence[MrScalarScheduledTaskArgs]
    An array of scheduled tasks.
    security_config str
    The name of the security configuration applied to the cluster.
    service_access_security_group str
    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.
    service_role str
    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
    steps_files Sequence[MrScalarStepsFileArgs]
    Steps from S3.
    strategy str
    The MrScaler strategy. Allowed values are new clone and wrap.
    tags Sequence[MrScalarTagArgs]
    A list of tags to assign to the resource. You may define multiple tags.
    task_desired_capacity int
    amount of instances in task group.
    task_ebs_block_devices Sequence[MrScalarTaskEbsBlockDeviceArgs]
    This determines the ebs configuration for your task group instances. Only a single block is allowed.
    task_ebs_optimized bool
    EBS Optimization setting for instances in group.
    task_instance_types Sequence[str]
    The MrScaler instance types for the task nodes.
    task_lifecycle str
    The MrScaler lifecycle for instances in task group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    task_max_size int
    maximal amount of instances in task group.
    task_min_size int
    The minimal amount of instances in task group.
    task_scaling_down_policies Sequence[MrScalarTaskScalingDownPolicyArgs]
    Possible core group scaling policies (Clone, New strategies):
    task_scaling_up_policies Sequence[MrScalarTaskScalingUpPolicyArgs]
    task_unit str
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    termination_policies Sequence[MrScalarTerminationPolicyArgs]
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    termination_protected bool
    Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.
    visible_to_all_users bool

    Deprecated: This field has been removed from our API and is no longer functional.

    additionalInfo String
    This is meta information about third-party applications that third-party vendors use for testing purposes.
    additionalPrimarySecurityGroups List<String>
    A list of additional Amazon EC2 security group IDs for the master node.
    additionalReplicaSecurityGroups List<String>
    A list of additional Amazon EC2 security group IDs for the core and task nodes.
    applications List<Property Map>
    A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster
    availabilityZones List<String>
    List of AZs and their subnet Ids. See example above for usage.
    bootstrapActionsFiles List<Property Map>
    Describes path to S3 file containing description of bootstrap actions. More Information
    clusterId String
    The MrScaler cluster id.
    configurationsFiles List<Property Map>
    Describes path to S3 file containing description of configurations. More Information
    coreDesiredCapacity Number
    amount of instances in core group.
    coreEbsBlockDevices List<Property Map>
    This determines the ebs configuration for your core group instances. Only a single block is allowed.
    coreEbsOptimized Boolean
    EBS Optimization setting for instances in group.
    coreInstanceTypes List<String>
    The MrScaler instance types for the core nodes.
    coreLifecycle String
    The MrScaler lifecycle for instances in core group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    coreMaxSize Number
    maximal amount of instances in core group.
    coreMinSize Number
    The minimal amount of instances in core group.
    coreScalingDownPolicies List<Property Map>
    Each *_scaling_*_policy supports the following:
    coreScalingUpPolicies List<Property Map>
    coreUnit String
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    customAmiId String
    The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.
    description String
    The MrScaler description.
    ebsRootVolumeSize Number
    ec2KeyName String
    The name of an Amazon EC2 key pair that can be used to ssh to the master node.
    exposeClusterId Boolean
    Allow the cluster_id to set a provider output variable.
    instanceWeights List<Property Map>
    Describes the instance and weights. Check out Elastigroup Weighted Instances for more info.
    jobFlowRole String
    The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.
    keepJobFlowAlive Boolean
    Specifies whether the cluster should remain available after completing all steps.
    logUri String
    The path to the Amazon S3 location where logs for this cluster are stored.
    managedPrimarySecurityGroup String
    EMR Managed Security group that will be set to the primary instance group.
    managedReplicaSecurityGroup String
    EMR Managed Security group that will be set to the replica instance group.
    masterEbsBlockDevices List<Property Map>
    This determines the ebs configuration for your master group instances. Only a single block is allowed.
    masterEbsOptimized Boolean
    EBS Optimization setting for instances in group.
    masterInstanceTypes List<String>
    The MrScaler instance types for the master nodes.
    masterLifecycle String
    The MrScaler lifecycle for instances in master group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    masterTarget Number
    Number of instances in the master group.
    name String
    The MrScaler name.
    outputClusterId String
    provisioningTimeout Property Map
    region String
    The MrScaler region.
    releaseLabel String
    repoUpgradeOnBoot String
    Applies only when custom_ami_id is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI. Possible values include: SECURITY, NONE.
    retries Number
    Specifies the maximum number of times a capacity provisioning should be retried if the provisioning timeout is exceeded. Valid values: 1-5.
    scheduledTasks List<Property Map>
    An array of scheduled tasks.
    securityConfig String
    The name of the security configuration applied to the cluster.
    serviceAccessSecurityGroup String
    The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.
    serviceRole String
    The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
    stepsFiles List<Property Map>
    Steps from S3.
    strategy String
    The MrScaler strategy. Allowed values are new clone and wrap.
    tags List<Property Map>
    A list of tags to assign to the resource. You may define multiple tags.
    taskDesiredCapacity Number
    amount of instances in task group.
    taskEbsBlockDevices List<Property Map>
    This determines the ebs configuration for your task group instances. Only a single block is allowed.
    taskEbsOptimized Boolean
    EBS Optimization setting for instances in group.
    taskInstanceTypes List<String>
    The MrScaler instance types for the task nodes.
    taskLifecycle String
    The MrScaler lifecycle for instances in task group. Allowed values are 'SPOT' and 'ON_DEMAND'.
    taskMaxSize Number
    maximal amount of instances in task group.
    taskMinSize Number
    The minimal amount of instances in task group.
    taskScalingDownPolicies List<Property Map>
    Possible core group scaling policies (Clone, New strategies):
    taskScalingUpPolicies List<Property Map>
    taskUnit String
    Unit of task group for target, min and max. The unit could be instance or weight. instance - amount of instances. weight - amount of vCPU.
    terminationPolicies List<Property Map>
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    terminationProtected Boolean
    Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.
    visibleToAllUsers Boolean

    Deprecated: This field has been removed from our API and is no longer functional.

    Supporting Types

    MrScalarApplication, MrScalarApplicationArgs

    Name string
    The MrScaler name.
    Args List<string>
    Arguments for EMR to pass to the application.
    Version string
    T he version of the application.
    Name string
    The MrScaler name.
    Args []string
    Arguments for EMR to pass to the application.
    Version string
    T he version of the application.
    name String
    The MrScaler name.
    args List<String>
    Arguments for EMR to pass to the application.
    version String
    T he version of the application.
    name string
    The MrScaler name.
    args string[]
    Arguments for EMR to pass to the application.
    version string
    T he version of the application.
    name str
    The MrScaler name.
    args Sequence[str]
    Arguments for EMR to pass to the application.
    version str
    T he version of the application.
    name String
    The MrScaler name.
    args List<String>
    Arguments for EMR to pass to the application.
    version String
    T he version of the application.

    MrScalarBootstrapActionsFile, MrScalarBootstrapActionsFileArgs

    Bucket string
    S3 Bucket name for bootstrap actions.
    Key string
    S3 key for bootstrap actions.
    Bucket string
    S3 Bucket name for bootstrap actions.
    Key string
    S3 key for bootstrap actions.
    bucket String
    S3 Bucket name for bootstrap actions.
    key String
    S3 key for bootstrap actions.
    bucket string
    S3 Bucket name for bootstrap actions.
    key string
    S3 key for bootstrap actions.
    bucket str
    S3 Bucket name for bootstrap actions.
    key str
    S3 key for bootstrap actions.
    bucket String
    S3 Bucket name for bootstrap actions.
    key String
    S3 key for bootstrap actions.

    MrScalarConfigurationsFile, MrScalarConfigurationsFileArgs

    Bucket string
    S3 Bucket name for bootstrap actions.
    Key string
    S3 key for bootstrap actions.
    Bucket string
    S3 Bucket name for bootstrap actions.
    Key string
    S3 key for bootstrap actions.
    bucket String
    S3 Bucket name for bootstrap actions.
    key String
    S3 key for bootstrap actions.
    bucket string
    S3 Bucket name for bootstrap actions.
    key string
    S3 key for bootstrap actions.
    bucket str
    S3 Bucket name for bootstrap actions.
    key str
    S3 key for bootstrap actions.
    bucket String
    S3 Bucket name for bootstrap actions.
    key String
    S3 key for bootstrap actions.

    MrScalarCoreEbsBlockDevice, MrScalarCoreEbsBlockDeviceArgs

    SizeInGb int
    Size of the volume, in GBs.
    VolumeType string
    volume type. Allowed values are 'gp2', 'io1' and others.
    Iops int
    IOPS for the volume. Required in some volume types, such as io1.
    VolumesPerInstance int
    Amount of volumes per instance in the core group.
    SizeInGb int
    Size of the volume, in GBs.
    VolumeType string
    volume type. Allowed values are 'gp2', 'io1' and others.
    Iops int
    IOPS for the volume. Required in some volume types, such as io1.
    VolumesPerInstance int
    Amount of volumes per instance in the core group.
    sizeInGb Integer
    Size of the volume, in GBs.
    volumeType String
    volume type. Allowed values are 'gp2', 'io1' and others.
    iops Integer
    IOPS for the volume. Required in some volume types, such as io1.
    volumesPerInstance Integer
    Amount of volumes per instance in the core group.
    sizeInGb number
    Size of the volume, in GBs.
    volumeType string
    volume type. Allowed values are 'gp2', 'io1' and others.
    iops number
    IOPS for the volume. Required in some volume types, such as io1.
    volumesPerInstance number
    Amount of volumes per instance in the core group.
    size_in_gb int
    Size of the volume, in GBs.
    volume_type str
    volume type. Allowed values are 'gp2', 'io1' and others.
    iops int
    IOPS for the volume. Required in some volume types, such as io1.
    volumes_per_instance int
    Amount of volumes per instance in the core group.
    sizeInGb Number
    Size of the volume, in GBs.
    volumeType String
    volume type. Allowed values are 'gp2', 'io1' and others.
    iops Number
    IOPS for the volume. Required in some volume types, such as io1.
    volumesPerInstance Number
    Amount of volumes per instance in the core group.

    MrScalarCoreScalingDownPolicy, MrScalarCoreScalingDownPolicyArgs

    MetricName string
    The name of the metric in CloudWatch which the statement will be based on.
    Namespace string
    Must contain the value: AWS/ElasticMapReduce.
    PolicyName string
    The name of the policy.
    Threshold double
    The value that the specified statistic is compared to.
    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
    ActionType 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, object>
    A mapping of dimensions describing qualities of the metric.
    EvaluationPeriods int
    The number of periods over which data is compared to the specified threshold.
    MaxTargetCapacity string
    Max target capacity for scale down.
    Maximum string
    The maximum to set when scale is needed.
    MinTargetCapacity string
    Min target capacity for scale up.
    Minimum string
    The minimum to set when scale is needed.
    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
    Target string
    The number of instances to set when scale is needed.
    MetricName string
    The name of the metric in CloudWatch which the statement will be based on.
    Namespace string
    Must contain the value: AWS/ElasticMapReduce.
    PolicyName string
    The name of the policy.
    Threshold float64
    The value that the specified statistic is compared to.
    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
    ActionType 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]interface{}
    A mapping of dimensions describing qualities of the metric.
    EvaluationPeriods int
    The number of periods over which data is compared to the specified threshold.
    MaxTargetCapacity string
    Max target capacity for scale down.
    Maximum string
    The maximum to set when scale is needed.
    MinTargetCapacity string
    Min target capacity for scale up.
    Minimum string
    The minimum to set when scale is needed.
    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
    Target string
    The number of instances to set when scale is needed.
    metricName String
    The name of the metric in CloudWatch which the statement will be based on.
    namespace String
    Must contain the value: AWS/ElasticMapReduce.
    policyName String
    The name of the policy.
    threshold Double
    The value that the specified statistic is compared to.
    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
    actionType 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,Object>
    A mapping of dimensions describing qualities of the metric.
    evaluationPeriods Integer
    The number of periods over which data is compared to the specified threshold.
    maxTargetCapacity String
    Max target capacity for scale down.
    maximum String
    The maximum to set when scale is needed.
    minTargetCapacity String
    Min target capacity for scale up.
    minimum String
    The minimum to set when scale is needed.
    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
    target String
    The number of instances to set when scale is needed.
    metricName string
    The name of the metric in CloudWatch which the statement will be based on.
    namespace string
    Must contain the value: AWS/ElasticMapReduce.
    policyName string
    The name of the policy.
    threshold number
    The value that the specified statistic is compared to.
    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
    actionType 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]: any}
    A mapping of dimensions describing qualities of the metric.
    evaluationPeriods number
    The number of periods over which data is compared to the specified threshold.
    maxTargetCapacity string
    Max target capacity for scale down.
    maximum string
    The maximum to set when scale is needed.
    minTargetCapacity string
    Min target capacity for scale up.
    minimum string
    The minimum to set when scale is needed.
    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
    target string
    The number of instances to set when scale is needed.
    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.
    policy_name str
    The name of the policy.
    threshold float
    The value that the specified statistic is compared to.
    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
    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, Any]
    A mapping of dimensions describing qualities of the metric.
    evaluation_periods int
    The number of periods over which data is compared to the specified threshold.
    max_target_capacity str
    Max target capacity for scale down.
    maximum str
    The maximum to set when scale is needed.
    min_target_capacity str
    Min target capacity for scale up.
    minimum str
    The minimum to set when scale is needed.
    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
    target str
    The number of instances to set when scale is needed.
    metricName String
    The name of the metric in CloudWatch which the statement will be based on.
    namespace String
    Must contain the value: AWS/ElasticMapReduce.
    policyName String
    The name of the policy.
    threshold Number
    The value that the specified statistic is compared to.
    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
    actionType 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<Any>
    A mapping of dimensions describing qualities of the metric.
    evaluationPeriods Number
    The number of periods over which data is compared to the specified threshold.
    maxTargetCapacity String
    Max target capacity for scale down.
    maximum String
    The maximum to set when scale is needed.
    minTargetCapacity String
    Min target capacity for scale up.
    minimum String
    The minimum to set when scale is needed.
    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
    target String
    The number of instances to set when scale is needed.

    MrScalarCoreScalingUpPolicy, MrScalarCoreScalingUpPolicyArgs

    MetricName string
    The name of the metric in CloudWatch which the statement will be based on.
    Namespace string
    Must contain the value: AWS/ElasticMapReduce.
    PolicyName string
    The name of the policy.
    Threshold double
    The value that the specified statistic is compared to.
    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
    ActionType 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, object>
    A mapping of dimensions describing qualities of the metric.
    EvaluationPeriods int
    The number of periods over which data is compared to the specified threshold.
    MaxTargetCapacity string
    Max target capacity for scale down.
    Maximum string
    The maximum to set when scale is needed.
    MinTargetCapacity string
    Min target capacity for scale up.
    Minimum string
    The minimum to set when scale is needed.
    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
    Target string
    The number of instances to set when scale is needed.
    MetricName string
    The name of the metric in CloudWatch which the statement will be based on.
    Namespace string
    Must contain the value: AWS/ElasticMapReduce.
    PolicyName string
    The name of the policy.
    Threshold float64
    The value that the specified statistic is compared to.
    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
    ActionType 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]interface{}
    A mapping of dimensions describing qualities of the metric.
    EvaluationPeriods int
    The number of periods over which data is compared to the specified threshold.
    MaxTargetCapacity string
    Max target capacity for scale down.
    Maximum string
    The maximum to set when scale is needed.
    MinTargetCapacity string
    Min target capacity for scale up.
    Minimum string
    The minimum to set when scale is needed.
    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
    Target string
    The number of instances to set when scale is needed.
    metricName String
    The name of the metric in CloudWatch which the statement will be based on.
    namespace String
    Must contain the value: AWS/ElasticMapReduce.
    policyName String
    The name of the policy.
    threshold Double
    The value that the specified statistic is compared to.
    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
    actionType 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,Object>
    A mapping of dimensions describing qualities of the metric.
    evaluationPeriods Integer
    The number of periods over which data is compared to the specified threshold.
    maxTargetCapacity String
    Max target capacity for scale down.
    maximum String
    The maximum to set when scale is needed.
    minTargetCapacity String
    Min target capacity for scale up.
    minimum String
    The minimum to set when scale is needed.
    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
    target String
    The number of instances to set when scale is needed.
    metricName string
    The name of the metric in CloudWatch which the statement will be based on.
    namespace string
    Must contain the value: AWS/ElasticMapReduce.
    policyName string
    The name of the policy.
    threshold number
    The value that the specified statistic is compared to.
    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
    actionType 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]: any}
    A mapping of dimensions describing qualities of the metric.
    evaluationPeriods number
    The number of periods over which data is compared to the specified threshold.
    maxTargetCapacity string
    Max target capacity for scale down.
    maximum string
    The maximum to set when scale is needed.
    minTargetCapacity string
    Min target capacity for scale up.
    minimum string
    The minimum to set when scale is needed.
    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
    target string
    The number of instances to set when scale is needed.
    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.
    policy_name str
    The name of the policy.
    threshold float
    The value that the specified statistic is compared to.
    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
    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, Any]
    A mapping of dimensions describing qualities of the metric.
    evaluation_periods int
    The number of periods over which data is compared to the specified threshold.
    max_target_capacity str
    Max target capacity for scale down.
    maximum str
    The maximum to set when scale is needed.
    min_target_capacity str
    Min target capacity for scale up.
    minimum str
    The minimum to set when scale is needed.
    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
    target str
    The number of instances to set when scale is needed.
    metricName String
    The name of the metric in CloudWatch which the statement will be based on.
    namespace String
    Must contain the value: AWS/ElasticMapReduce.
    policyName String
    The name of the policy.
    threshold Number
    The value that the specified statistic is compared to.
    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
    actionType 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<Any>
    A mapping of dimensions describing qualities of the metric.
    evaluationPeriods Number
    The number of periods over which data is compared to the specified threshold.
    maxTargetCapacity String
    Max target capacity for scale down.
    maximum String
    The maximum to set when scale is needed.
    minTargetCapacity String
    Min target capacity for scale up.
    minimum String
    The minimum to set when scale is needed.
    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
    target String
    The number of instances to set when scale is needed.

    MrScalarInstanceWeight, MrScalarInstanceWeightArgs

    InstanceType string
    The type of the instance.
    WeightedCapacity int
    The weight given to the associated instance type.
    InstanceType string
    The type of the instance.
    WeightedCapacity int
    The weight given to the associated instance type.
    instanceType String
    The type of the instance.
    weightedCapacity Integer
    The weight given to the associated instance type.
    instanceType string
    The type of the instance.
    weightedCapacity 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.
    instanceType String
    The type of the instance.
    weightedCapacity Number
    The weight given to the associated instance type.

    MrScalarMasterEbsBlockDevice, MrScalarMasterEbsBlockDeviceArgs

    SizeInGb int
    Size of the volume, in GBs.
    VolumeType string
    volume type. Allowed values are 'gp2', 'io1' and others.
    Iops int
    IOPS for the volume. Required in some volume types, such as io1.
    VolumesPerInstance int
    Amount of volumes per instance in the core group.
    SizeInGb int
    Size of the volume, in GBs.
    VolumeType string
    volume type. Allowed values are 'gp2', 'io1' and others.
    Iops int
    IOPS for the volume. Required in some volume types, such as io1.
    VolumesPerInstance int
    Amount of volumes per instance in the core group.
    sizeInGb Integer
    Size of the volume, in GBs.
    volumeType String
    volume type. Allowed values are 'gp2', 'io1' and others.
    iops Integer
    IOPS for the volume. Required in some volume types, such as io1.
    volumesPerInstance Integer
    Amount of volumes per instance in the core group.
    sizeInGb number
    Size of the volume, in GBs.
    volumeType string
    volume type. Allowed values are 'gp2', 'io1' and others.
    iops number
    IOPS for the volume. Required in some volume types, such as io1.
    volumesPerInstance number
    Amount of volumes per instance in the core group.
    size_in_gb int
    Size of the volume, in GBs.
    volume_type str
    volume type. Allowed values are 'gp2', 'io1' and others.
    iops int
    IOPS for the volume. Required in some volume types, such as io1.
    volumes_per_instance int
    Amount of volumes per instance in the core group.
    sizeInGb Number
    Size of the volume, in GBs.
    volumeType String
    volume type. Allowed values are 'gp2', 'io1' and others.
    iops Number
    IOPS for the volume. Required in some volume types, such as io1.
    volumesPerInstance Number
    Amount of volumes per instance in the core group.

    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'.
    TimeoutAction 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'.
    TimeoutAction 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'.
    timeoutAction 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'.
    timeoutAction 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'.
    timeoutAction 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.
    InstanceGroupType string
    Select the EMR instance groups to execute the scheduled task on. Valid values: task.
    TaskType string
    The type of task to be scheduled. Valid values: setCapacity.
    DesiredCapacity string
    New desired capacity for the elastigroup.
    IsEnabled bool
    Enable/Disable the specified scheduling task.
    MaxCapacity string
    New max capacity for the elastigroup.
    MinCapacity string
    New min capacity for the elastigroup.
    Cron string
    A cron expression representing the schedule for the task.
    InstanceGroupType string
    Select the EMR instance groups to execute the scheduled task on. Valid values: task.
    TaskType string
    The type of task to be scheduled. Valid values: setCapacity.
    DesiredCapacity string
    New desired capacity for the elastigroup.
    IsEnabled bool
    Enable/Disable the specified scheduling task.
    MaxCapacity string
    New max capacity for the elastigroup.
    MinCapacity string
    New min capacity for the elastigroup.
    cron String
    A cron expression representing the schedule for the task.
    instanceGroupType String
    Select the EMR instance groups to execute the scheduled task on. Valid values: task.
    taskType String
    The type of task to be scheduled. Valid values: setCapacity.
    desiredCapacity String
    New desired capacity for the elastigroup.
    isEnabled Boolean
    Enable/Disable the specified scheduling task.
    maxCapacity String
    New max capacity for the elastigroup.
    minCapacity String
    New min capacity for the elastigroup.
    cron string
    A cron expression representing the schedule for the task.
    instanceGroupType string
    Select the EMR instance groups to execute the scheduled task on. Valid values: task.
    taskType string
    The type of task to be scheduled. Valid values: setCapacity.
    desiredCapacity string
    New desired capacity for the elastigroup.
    isEnabled boolean
    Enable/Disable the specified scheduling task.
    maxCapacity string
    New max capacity for the elastigroup.
    minCapacity string
    New min capacity for the elastigroup.
    cron str
    A cron expression representing the schedule for the task.
    instance_group_type str
    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.
    instanceGroupType String
    Select the EMR instance groups to execute the scheduled task on. Valid values: task.
    taskType String
    The type of task to be scheduled. Valid values: setCapacity.
    desiredCapacity String
    New desired capacity for the elastigroup.
    isEnabled Boolean
    Enable/Disable the specified scheduling task.
    maxCapacity String
    New max capacity for the elastigroup.
    minCapacity String
    New min capacity for the elastigroup.

    MrScalarStepsFile, MrScalarStepsFileArgs

    Bucket string
    S3 Bucket name for bootstrap actions.
    Key string
    S3 key for bootstrap actions.
    Bucket string
    S3 Bucket name for bootstrap actions.
    Key string
    S3 key for bootstrap actions.
    bucket String
    S3 Bucket name for bootstrap actions.
    key String
    S3 key for bootstrap actions.
    bucket string
    S3 Bucket name for bootstrap actions.
    key string
    S3 key for bootstrap actions.
    bucket str
    S3 Bucket name for bootstrap actions.
    key str
    S3 key for bootstrap actions.
    bucket String
    S3 Bucket name for bootstrap actions.
    key String
    S3 key for bootstrap actions.

    MrScalarTag, MrScalarTagArgs

    Key string
    S3 key for bootstrap actions.
    Value string
    Tag value.
    Key string
    S3 key for bootstrap actions.
    Value string
    Tag value.
    key String
    S3 key for bootstrap actions.
    value String
    Tag value.
    key string
    S3 key for bootstrap actions.
    value string
    Tag value.
    key str
    S3 key for bootstrap actions.
    value str
    Tag value.
    key String
    S3 key for bootstrap actions.
    value String
    Tag value.

    MrScalarTaskEbsBlockDevice, MrScalarTaskEbsBlockDeviceArgs

    SizeInGb int
    Size of the volume, in GBs.
    VolumeType string
    volume type. Allowed values are 'gp2', 'io1' and others.
    Iops int
    IOPS for the volume. Required in some volume types, such as io1.
    VolumesPerInstance int
    Amount of volumes per instance in the core group.
    SizeInGb int
    Size of the volume, in GBs.
    VolumeType string
    volume type. Allowed values are 'gp2', 'io1' and others.
    Iops int
    IOPS for the volume. Required in some volume types, such as io1.
    VolumesPerInstance int
    Amount of volumes per instance in the core group.
    sizeInGb Integer
    Size of the volume, in GBs.
    volumeType String
    volume type. Allowed values are 'gp2', 'io1' and others.
    iops Integer
    IOPS for the volume. Required in some volume types, such as io1.
    volumesPerInstance Integer
    Amount of volumes per instance in the core group.
    sizeInGb number
    Size of the volume, in GBs.
    volumeType string
    volume type. Allowed values are 'gp2', 'io1' and others.
    iops number
    IOPS for the volume. Required in some volume types, such as io1.
    volumesPerInstance number
    Amount of volumes per instance in the core group.
    size_in_gb int
    Size of the volume, in GBs.
    volume_type str
    volume type. Allowed values are 'gp2', 'io1' and others.
    iops int
    IOPS for the volume. Required in some volume types, such as io1.
    volumes_per_instance int
    Amount of volumes per instance in the core group.
    sizeInGb Number
    Size of the volume, in GBs.
    volumeType String
    volume type. Allowed values are 'gp2', 'io1' and others.
    iops Number
    IOPS for the volume. Required in some volume types, such as io1.
    volumesPerInstance Number
    Amount of volumes per instance in the core group.

    MrScalarTaskScalingDownPolicy, MrScalarTaskScalingDownPolicyArgs

    MetricName string
    The name of the metric in CloudWatch which the statement will be based on.
    Namespace string
    Must contain the value: AWS/ElasticMapReduce.
    PolicyName string
    The name of the policy.
    Threshold double
    The value that the specified statistic is compared to.
    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
    ActionType 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, object>
    A mapping of dimensions describing qualities of the metric.
    EvaluationPeriods int
    The number of periods over which data is compared to the specified threshold.
    MaxTargetCapacity string
    Max target capacity for scale down.
    Maximum string
    The maximum to set when scale is needed.
    MinTargetCapacity string
    Min target capacity for scale up.
    Minimum string
    The minimum to set when scale is needed.
    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
    Target string
    The number of instances to set when scale is needed.
    MetricName string
    The name of the metric in CloudWatch which the statement will be based on.
    Namespace string
    Must contain the value: AWS/ElasticMapReduce.
    PolicyName string
    The name of the policy.
    Threshold float64
    The value that the specified statistic is compared to.
    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
    ActionType 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]interface{}
    A mapping of dimensions describing qualities of the metric.
    EvaluationPeriods int
    The number of periods over which data is compared to the specified threshold.
    MaxTargetCapacity string
    Max target capacity for scale down.
    Maximum string
    The maximum to set when scale is needed.
    MinTargetCapacity string
    Min target capacity for scale up.
    Minimum string
    The minimum to set when scale is needed.
    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
    Target string
    The number of instances to set when scale is needed.
    metricName String
    The name of the metric in CloudWatch which the statement will be based on.
    namespace String
    Must contain the value: AWS/ElasticMapReduce.
    policyName String
    The name of the policy.
    threshold Double
    The value that the specified statistic is compared to.
    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
    actionType 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,Object>
    A mapping of dimensions describing qualities of the metric.
    evaluationPeriods Integer
    The number of periods over which data is compared to the specified threshold.
    maxTargetCapacity String
    Max target capacity for scale down.
    maximum String
    The maximum to set when scale is needed.
    minTargetCapacity String
    Min target capacity for scale up.
    minimum String
    The minimum to set when scale is needed.
    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
    target String
    The number of instances to set when scale is needed.
    metricName string
    The name of the metric in CloudWatch which the statement will be based on.
    namespace string
    Must contain the value: AWS/ElasticMapReduce.
    policyName string
    The name of the policy.
    threshold number
    The value that the specified statistic is compared to.
    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
    actionType 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]: any}
    A mapping of dimensions describing qualities of the metric.
    evaluationPeriods number
    The number of periods over which data is compared to the specified threshold.
    maxTargetCapacity string
    Max target capacity for scale down.
    maximum string
    The maximum to set when scale is needed.
    minTargetCapacity string
    Min target capacity for scale up.
    minimum string
    The minimum to set when scale is needed.
    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
    target string
    The number of instances to set when scale is needed.
    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.
    policy_name str
    The name of the policy.
    threshold float
    The value that the specified statistic is compared to.
    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
    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, Any]
    A mapping of dimensions describing qualities of the metric.
    evaluation_periods int
    The number of periods over which data is compared to the specified threshold.
    max_target_capacity str
    Max target capacity for scale down.
    maximum str
    The maximum to set when scale is needed.
    min_target_capacity str
    Min target capacity for scale up.
    minimum str
    The minimum to set when scale is needed.
    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
    target str
    The number of instances to set when scale is needed.
    metricName String
    The name of the metric in CloudWatch which the statement will be based on.
    namespace String
    Must contain the value: AWS/ElasticMapReduce.
    policyName String
    The name of the policy.
    threshold Number
    The value that the specified statistic is compared to.
    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
    actionType 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<Any>
    A mapping of dimensions describing qualities of the metric.
    evaluationPeriods Number
    The number of periods over which data is compared to the specified threshold.
    maxTargetCapacity String
    Max target capacity for scale down.
    maximum String
    The maximum to set when scale is needed.
    minTargetCapacity String
    Min target capacity for scale up.
    minimum String
    The minimum to set when scale is needed.
    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
    target String
    The number of instances to set when scale is needed.

    MrScalarTaskScalingUpPolicy, MrScalarTaskScalingUpPolicyArgs

    MetricName string
    The name of the metric in CloudWatch which the statement will be based on.
    Namespace string
    Must contain the value: AWS/ElasticMapReduce.
    PolicyName string
    The name of the policy.
    Threshold double
    The value that the specified statistic is compared to.
    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
    ActionType 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, object>
    A mapping of dimensions describing qualities of the metric.
    EvaluationPeriods int
    The number of periods over which data is compared to the specified threshold.
    MaxTargetCapacity string
    Max target capacity for scale down.
    Maximum string
    The maximum to set when scale is needed.
    MinTargetCapacity string
    Min target capacity for scale up.
    Minimum string
    The minimum to set when scale is needed.
    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
    Target string
    The number of instances to set when scale is needed.
    MetricName string
    The name of the metric in CloudWatch which the statement will be based on.
    Namespace string
    Must contain the value: AWS/ElasticMapReduce.
    PolicyName string
    The name of the policy.
    Threshold float64
    The value that the specified statistic is compared to.
    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
    ActionType 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]interface{}
    A mapping of dimensions describing qualities of the metric.
    EvaluationPeriods int
    The number of periods over which data is compared to the specified threshold.
    MaxTargetCapacity string
    Max target capacity for scale down.
    Maximum string
    The maximum to set when scale is needed.
    MinTargetCapacity string
    Min target capacity for scale up.
    Minimum string
    The minimum to set when scale is needed.
    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
    Target string
    The number of instances to set when scale is needed.
    metricName String
    The name of the metric in CloudWatch which the statement will be based on.
    namespace String
    Must contain the value: AWS/ElasticMapReduce.
    policyName String
    The name of the policy.
    threshold Double
    The value that the specified statistic is compared to.
    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
    actionType 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,Object>
    A mapping of dimensions describing qualities of the metric.
    evaluationPeriods Integer
    The number of periods over which data is compared to the specified threshold.
    maxTargetCapacity String
    Max target capacity for scale down.
    maximum String
    The maximum to set when scale is needed.
    minTargetCapacity String
    Min target capacity for scale up.
    minimum String
    The minimum to set when scale is needed.
    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
    target String
    The number of instances to set when scale is needed.
    metricName string
    The name of the metric in CloudWatch which the statement will be based on.
    namespace string
    Must contain the value: AWS/ElasticMapReduce.
    policyName string
    The name of the policy.
    threshold number
    The value that the specified statistic is compared to.
    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
    actionType 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]: any}
    A mapping of dimensions describing qualities of the metric.
    evaluationPeriods number
    The number of periods over which data is compared to the specified threshold.
    maxTargetCapacity string
    Max target capacity for scale down.
    maximum string
    The maximum to set when scale is needed.
    minTargetCapacity string
    Min target capacity for scale up.
    minimum string
    The minimum to set when scale is needed.
    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
    target string
    The number of instances to set when scale is needed.
    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.
    policy_name str
    The name of the policy.
    threshold float
    The value that the specified statistic is compared to.
    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
    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, Any]
    A mapping of dimensions describing qualities of the metric.
    evaluation_periods int
    The number of periods over which data is compared to the specified threshold.
    max_target_capacity str
    Max target capacity for scale down.
    maximum str
    The maximum to set when scale is needed.
    min_target_capacity str
    Min target capacity for scale up.
    minimum str
    The minimum to set when scale is needed.
    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
    target str
    The number of instances to set when scale is needed.
    metricName String
    The name of the metric in CloudWatch which the statement will be based on.
    namespace String
    Must contain the value: AWS/ElasticMapReduce.
    policyName String
    The name of the policy.
    threshold Number
    The value that the specified statistic is compared to.
    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
    actionType 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<Any>
    A mapping of dimensions describing qualities of the metric.
    evaluationPeriods Number
    The number of periods over which data is compared to the specified threshold.
    maxTargetCapacity String
    Max target capacity for scale down.
    maximum String
    The maximum to set when scale is needed.
    minTargetCapacity String
    Min target capacity for scale up.
    minimum String
    The minimum to set when scale is needed.
    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
    target String
    The number of instances to set when scale is needed.

    MrScalarTerminationPolicy, MrScalarTerminationPolicyArgs

    MrScalarTerminationPolicyStatement, MrScalarTerminationPolicyStatementArgs

    MetricName 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.
    EvaluationPeriods 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
    MetricName 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.
    EvaluationPeriods 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
    metricName 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.
    evaluationPeriods 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
    metricName 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.
    evaluationPeriods 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
    metricName 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.
    evaluationPeriods 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 spotinst Terraform Provider.
    spotinst logo
    Spotinst v3.75.0 published on Monday, Apr 22, 2024 by Pulumi