1. Packages
  2. Spotinst
  3. API Docs
  4. aws
  5. MrScalar
Spotinst v3.77.1 published on Saturday, May 18, 2024 by Pulumi

spotinst.aws.MrScalar

Explore with Pulumi AI

spotinst logo
Spotinst v3.77.1 published on Saturday, May 18, 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
    AdditionalPrimarySecurityGroups List<string>
    AdditionalReplicaSecurityGroups List<string>
    Applications List<Pulumi.SpotInst.Aws.Inputs.MrScalarApplication>
    AvailabilityZones List<string>
    BootstrapActionsFiles List<Pulumi.SpotInst.Aws.Inputs.MrScalarBootstrapActionsFile>
    ClusterId string
    The MrScaler cluster id.
    ConfigurationsFiles List<Pulumi.SpotInst.Aws.Inputs.MrScalarConfigurationsFile>
    CoreDesiredCapacity int
    CoreEbsBlockDevices List<Pulumi.SpotInst.Aws.Inputs.MrScalarCoreEbsBlockDevice>
    CoreEbsOptimized bool
    CoreInstanceTypes List<string>
    CoreLifecycle string
    CoreMaxSize int
    CoreMinSize int
    CoreScalingDownPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarCoreScalingDownPolicy>
    CoreScalingUpPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarCoreScalingUpPolicy>
    CoreUnit string
    CustomAmiId string
    Description string
    The MrScaler description.
    EbsRootVolumeSize int
    Ec2KeyName string
    ExposeClusterId bool
    Allow the cluster_id to set a provider output variable.
    InstanceWeights List<Pulumi.SpotInst.Aws.Inputs.MrScalarInstanceWeight>
    JobFlowRole string
    KeepJobFlowAlive bool
    LogUri string
    ManagedPrimarySecurityGroup string
    ManagedReplicaSecurityGroup string
    MasterEbsBlockDevices List<Pulumi.SpotInst.Aws.Inputs.MrScalarMasterEbsBlockDevice>
    MasterEbsOptimized bool
    MasterInstanceTypes List<string>
    MasterLifecycle string
    MasterTarget int
    Name string
    The MrScaler name.
    ProvisioningTimeout Pulumi.SpotInst.Aws.Inputs.MrScalarProvisioningTimeout
    Region string
    The MrScaler region.
    ReleaseLabel string
    RepoUpgradeOnBoot string
    Retries int
    ScheduledTasks List<Pulumi.SpotInst.Aws.Inputs.MrScalarScheduledTask>
    SecurityConfig string
    ServiceAccessSecurityGroup string
    ServiceRole string
    StepsFiles List<Pulumi.SpotInst.Aws.Inputs.MrScalarStepsFile>
    Tags List<Pulumi.SpotInst.Aws.Inputs.MrScalarTag>
    TaskDesiredCapacity int
    TaskEbsBlockDevices List<Pulumi.SpotInst.Aws.Inputs.MrScalarTaskEbsBlockDevice>
    TaskEbsOptimized bool
    TaskInstanceTypes List<string>
    TaskLifecycle string
    TaskMaxSize int
    TaskMinSize int
    TaskScalingDownPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarTaskScalingDownPolicy>
    TaskScalingUpPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarTaskScalingUpPolicy>
    TaskUnit string
    TerminationPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarTerminationPolicy>
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    TerminationProtected bool
    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
    AdditionalPrimarySecurityGroups []string
    AdditionalReplicaSecurityGroups []string
    Applications []MrScalarApplicationArgs
    AvailabilityZones []string
    BootstrapActionsFiles []MrScalarBootstrapActionsFileArgs
    ClusterId string
    The MrScaler cluster id.
    ConfigurationsFiles []MrScalarConfigurationsFileArgs
    CoreDesiredCapacity int
    CoreEbsBlockDevices []MrScalarCoreEbsBlockDeviceArgs
    CoreEbsOptimized bool
    CoreInstanceTypes []string
    CoreLifecycle string
    CoreMaxSize int
    CoreMinSize int
    CoreScalingDownPolicies []MrScalarCoreScalingDownPolicyArgs
    CoreScalingUpPolicies []MrScalarCoreScalingUpPolicyArgs
    CoreUnit string
    CustomAmiId string
    Description string
    The MrScaler description.
    EbsRootVolumeSize int
    Ec2KeyName string
    ExposeClusterId bool
    Allow the cluster_id to set a provider output variable.
    InstanceWeights []MrScalarInstanceWeightArgs
    JobFlowRole string
    KeepJobFlowAlive bool
    LogUri string
    ManagedPrimarySecurityGroup string
    ManagedReplicaSecurityGroup string
    MasterEbsBlockDevices []MrScalarMasterEbsBlockDeviceArgs
    MasterEbsOptimized bool
    MasterInstanceTypes []string
    MasterLifecycle string
    MasterTarget int
    Name string
    The MrScaler name.
    ProvisioningTimeout MrScalarProvisioningTimeoutArgs
    Region string
    The MrScaler region.
    ReleaseLabel string
    RepoUpgradeOnBoot string
    Retries int
    ScheduledTasks []MrScalarScheduledTaskArgs
    SecurityConfig string
    ServiceAccessSecurityGroup string
    ServiceRole string
    StepsFiles []MrScalarStepsFileArgs
    Tags []MrScalarTagArgs
    TaskDesiredCapacity int
    TaskEbsBlockDevices []MrScalarTaskEbsBlockDeviceArgs
    TaskEbsOptimized bool
    TaskInstanceTypes []string
    TaskLifecycle string
    TaskMaxSize int
    TaskMinSize int
    TaskScalingDownPolicies []MrScalarTaskScalingDownPolicyArgs
    TaskScalingUpPolicies []MrScalarTaskScalingUpPolicyArgs
    TaskUnit string
    TerminationPolicies []MrScalarTerminationPolicyArgs
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    TerminationProtected bool
    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
    additionalPrimarySecurityGroups List<String>
    additionalReplicaSecurityGroups List<String>
    applications List<MrScalarApplication>
    availabilityZones List<String>
    bootstrapActionsFiles List<MrScalarBootstrapActionsFile>
    clusterId String
    The MrScaler cluster id.
    configurationsFiles List<MrScalarConfigurationsFile>
    coreDesiredCapacity Integer
    coreEbsBlockDevices List<MrScalarCoreEbsBlockDevice>
    coreEbsOptimized Boolean
    coreInstanceTypes List<String>
    coreLifecycle String
    coreMaxSize Integer
    coreMinSize Integer
    coreScalingDownPolicies List<MrScalarCoreScalingDownPolicy>
    coreScalingUpPolicies List<MrScalarCoreScalingUpPolicy>
    coreUnit String
    customAmiId String
    description String
    The MrScaler description.
    ebsRootVolumeSize Integer
    ec2KeyName String
    exposeClusterId Boolean
    Allow the cluster_id to set a provider output variable.
    instanceWeights List<MrScalarInstanceWeight>
    jobFlowRole String
    keepJobFlowAlive Boolean
    logUri String
    managedPrimarySecurityGroup String
    managedReplicaSecurityGroup String
    masterEbsBlockDevices List<MrScalarMasterEbsBlockDevice>
    masterEbsOptimized Boolean
    masterInstanceTypes List<String>
    masterLifecycle String
    masterTarget Integer
    name String
    The MrScaler name.
    provisioningTimeout MrScalarProvisioningTimeout
    region String
    The MrScaler region.
    releaseLabel String
    repoUpgradeOnBoot String
    retries Integer
    scheduledTasks List<MrScalarScheduledTask>
    securityConfig String
    serviceAccessSecurityGroup String
    serviceRole String
    stepsFiles List<MrScalarStepsFile>
    tags List<MrScalarTag>
    taskDesiredCapacity Integer
    taskEbsBlockDevices List<MrScalarTaskEbsBlockDevice>
    taskEbsOptimized Boolean
    taskInstanceTypes List<String>
    taskLifecycle String
    taskMaxSize Integer
    taskMinSize Integer
    taskScalingDownPolicies List<MrScalarTaskScalingDownPolicy>
    taskScalingUpPolicies List<MrScalarTaskScalingUpPolicy>
    taskUnit String
    terminationPolicies List<MrScalarTerminationPolicy>
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    terminationProtected Boolean
    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
    additionalPrimarySecurityGroups string[]
    additionalReplicaSecurityGroups string[]
    applications MrScalarApplication[]
    availabilityZones string[]
    bootstrapActionsFiles MrScalarBootstrapActionsFile[]
    clusterId string
    The MrScaler cluster id.
    configurationsFiles MrScalarConfigurationsFile[]
    coreDesiredCapacity number
    coreEbsBlockDevices MrScalarCoreEbsBlockDevice[]
    coreEbsOptimized boolean
    coreInstanceTypes string[]
    coreLifecycle string
    coreMaxSize number
    coreMinSize number
    coreScalingDownPolicies MrScalarCoreScalingDownPolicy[]
    coreScalingUpPolicies MrScalarCoreScalingUpPolicy[]
    coreUnit string
    customAmiId string
    description string
    The MrScaler description.
    ebsRootVolumeSize number
    ec2KeyName string
    exposeClusterId boolean
    Allow the cluster_id to set a provider output variable.
    instanceWeights MrScalarInstanceWeight[]
    jobFlowRole string
    keepJobFlowAlive boolean
    logUri string
    managedPrimarySecurityGroup string
    managedReplicaSecurityGroup string
    masterEbsBlockDevices MrScalarMasterEbsBlockDevice[]
    masterEbsOptimized boolean
    masterInstanceTypes string[]
    masterLifecycle string
    masterTarget number
    name string
    The MrScaler name.
    provisioningTimeout MrScalarProvisioningTimeout
    region string
    The MrScaler region.
    releaseLabel string
    repoUpgradeOnBoot string
    retries number
    scheduledTasks MrScalarScheduledTask[]
    securityConfig string
    serviceAccessSecurityGroup string
    serviceRole string
    stepsFiles MrScalarStepsFile[]
    tags MrScalarTag[]
    taskDesiredCapacity number
    taskEbsBlockDevices MrScalarTaskEbsBlockDevice[]
    taskEbsOptimized boolean
    taskInstanceTypes string[]
    taskLifecycle string
    taskMaxSize number
    taskMinSize number
    taskScalingDownPolicies MrScalarTaskScalingDownPolicy[]
    taskScalingUpPolicies MrScalarTaskScalingUpPolicy[]
    taskUnit string
    terminationPolicies MrScalarTerminationPolicy[]
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    terminationProtected boolean
    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
    additional_primary_security_groups Sequence[str]
    additional_replica_security_groups Sequence[str]
    applications Sequence[MrScalarApplicationArgs]
    availability_zones Sequence[str]
    bootstrap_actions_files Sequence[MrScalarBootstrapActionsFileArgs]
    cluster_id str
    The MrScaler cluster id.
    configurations_files Sequence[MrScalarConfigurationsFileArgs]
    core_desired_capacity int
    core_ebs_block_devices Sequence[MrScalarCoreEbsBlockDeviceArgs]
    core_ebs_optimized bool
    core_instance_types Sequence[str]
    core_lifecycle str
    core_max_size int
    core_min_size int
    core_scaling_down_policies Sequence[MrScalarCoreScalingDownPolicyArgs]
    core_scaling_up_policies Sequence[MrScalarCoreScalingUpPolicyArgs]
    core_unit str
    custom_ami_id str
    description str
    The MrScaler description.
    ebs_root_volume_size int
    ec2_key_name str
    expose_cluster_id bool
    Allow the cluster_id to set a provider output variable.
    instance_weights Sequence[MrScalarInstanceWeightArgs]
    job_flow_role str
    keep_job_flow_alive bool
    log_uri str
    managed_primary_security_group str
    managed_replica_security_group str
    master_ebs_block_devices Sequence[MrScalarMasterEbsBlockDeviceArgs]
    master_ebs_optimized bool
    master_instance_types Sequence[str]
    master_lifecycle str
    master_target int
    name str
    The MrScaler name.
    provisioning_timeout MrScalarProvisioningTimeoutArgs
    region str
    The MrScaler region.
    release_label str
    repo_upgrade_on_boot str
    retries int
    scheduled_tasks Sequence[MrScalarScheduledTaskArgs]
    security_config str
    service_access_security_group str
    service_role str
    steps_files Sequence[MrScalarStepsFileArgs]
    tags Sequence[MrScalarTagArgs]
    task_desired_capacity int
    task_ebs_block_devices Sequence[MrScalarTaskEbsBlockDeviceArgs]
    task_ebs_optimized bool
    task_instance_types Sequence[str]
    task_lifecycle str
    task_max_size int
    task_min_size int
    task_scaling_down_policies Sequence[MrScalarTaskScalingDownPolicyArgs]
    task_scaling_up_policies Sequence[MrScalarTaskScalingUpPolicyArgs]
    task_unit str
    termination_policies Sequence[MrScalarTerminationPolicyArgs]
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    termination_protected bool
    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
    additionalPrimarySecurityGroups List<String>
    additionalReplicaSecurityGroups List<String>
    applications List<Property Map>
    availabilityZones List<String>
    bootstrapActionsFiles List<Property Map>
    clusterId String
    The MrScaler cluster id.
    configurationsFiles List<Property Map>
    coreDesiredCapacity Number
    coreEbsBlockDevices List<Property Map>
    coreEbsOptimized Boolean
    coreInstanceTypes List<String>
    coreLifecycle String
    coreMaxSize Number
    coreMinSize Number
    coreScalingDownPolicies List<Property Map>
    coreScalingUpPolicies List<Property Map>
    coreUnit String
    customAmiId String
    description String
    The MrScaler description.
    ebsRootVolumeSize Number
    ec2KeyName String
    exposeClusterId Boolean
    Allow the cluster_id to set a provider output variable.
    instanceWeights List<Property Map>
    jobFlowRole String
    keepJobFlowAlive Boolean
    logUri String
    managedPrimarySecurityGroup String
    managedReplicaSecurityGroup String
    masterEbsBlockDevices List<Property Map>
    masterEbsOptimized Boolean
    masterInstanceTypes List<String>
    masterLifecycle String
    masterTarget Number
    name String
    The MrScaler name.
    provisioningTimeout Property Map
    region String
    The MrScaler region.
    releaseLabel String
    repoUpgradeOnBoot String
    retries Number
    scheduledTasks List<Property Map>
    securityConfig String
    serviceAccessSecurityGroup String
    serviceRole String
    stepsFiles List<Property Map>
    tags List<Property Map>
    taskDesiredCapacity Number
    taskEbsBlockDevices List<Property Map>
    taskEbsOptimized Boolean
    taskInstanceTypes List<String>
    taskLifecycle String
    taskMaxSize Number
    taskMinSize Number
    taskScalingDownPolicies List<Property Map>
    taskScalingUpPolicies List<Property Map>
    taskUnit String
    terminationPolicies List<Property Map>
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    terminationProtected Boolean
    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
    AdditionalPrimarySecurityGroups List<string>
    AdditionalReplicaSecurityGroups List<string>
    Applications List<Pulumi.SpotInst.Aws.Inputs.MrScalarApplication>
    AvailabilityZones List<string>
    BootstrapActionsFiles List<Pulumi.SpotInst.Aws.Inputs.MrScalarBootstrapActionsFile>
    ClusterId string
    The MrScaler cluster id.
    ConfigurationsFiles List<Pulumi.SpotInst.Aws.Inputs.MrScalarConfigurationsFile>
    CoreDesiredCapacity int
    CoreEbsBlockDevices List<Pulumi.SpotInst.Aws.Inputs.MrScalarCoreEbsBlockDevice>
    CoreEbsOptimized bool
    CoreInstanceTypes List<string>
    CoreLifecycle string
    CoreMaxSize int
    CoreMinSize int
    CoreScalingDownPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarCoreScalingDownPolicy>
    CoreScalingUpPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarCoreScalingUpPolicy>
    CoreUnit string
    CustomAmiId string
    Description string
    The MrScaler description.
    EbsRootVolumeSize int
    Ec2KeyName string
    ExposeClusterId bool
    Allow the cluster_id to set a provider output variable.
    InstanceWeights List<Pulumi.SpotInst.Aws.Inputs.MrScalarInstanceWeight>
    JobFlowRole string
    KeepJobFlowAlive bool
    LogUri string
    ManagedPrimarySecurityGroup string
    ManagedReplicaSecurityGroup string
    MasterEbsBlockDevices List<Pulumi.SpotInst.Aws.Inputs.MrScalarMasterEbsBlockDevice>
    MasterEbsOptimized bool
    MasterInstanceTypes List<string>
    MasterLifecycle string
    MasterTarget int
    Name string
    The MrScaler name.
    OutputClusterId string
    ProvisioningTimeout Pulumi.SpotInst.Aws.Inputs.MrScalarProvisioningTimeout
    Region string
    The MrScaler region.
    ReleaseLabel string
    RepoUpgradeOnBoot string
    Retries int
    ScheduledTasks List<Pulumi.SpotInst.Aws.Inputs.MrScalarScheduledTask>
    SecurityConfig string
    ServiceAccessSecurityGroup string
    ServiceRole string
    StepsFiles List<Pulumi.SpotInst.Aws.Inputs.MrScalarStepsFile>
    Strategy string
    The MrScaler strategy. Allowed values are new clone and wrap.
    Tags List<Pulumi.SpotInst.Aws.Inputs.MrScalarTag>
    TaskDesiredCapacity int
    TaskEbsBlockDevices List<Pulumi.SpotInst.Aws.Inputs.MrScalarTaskEbsBlockDevice>
    TaskEbsOptimized bool
    TaskInstanceTypes List<string>
    TaskLifecycle string
    TaskMaxSize int
    TaskMinSize int
    TaskScalingDownPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarTaskScalingDownPolicy>
    TaskScalingUpPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarTaskScalingUpPolicy>
    TaskUnit string
    TerminationPolicies List<Pulumi.SpotInst.Aws.Inputs.MrScalarTerminationPolicy>
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    TerminationProtected bool
    VisibleToAllUsers bool

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

    AdditionalInfo string
    AdditionalPrimarySecurityGroups []string
    AdditionalReplicaSecurityGroups []string
    Applications []MrScalarApplicationArgs
    AvailabilityZones []string
    BootstrapActionsFiles []MrScalarBootstrapActionsFileArgs
    ClusterId string
    The MrScaler cluster id.
    ConfigurationsFiles []MrScalarConfigurationsFileArgs
    CoreDesiredCapacity int
    CoreEbsBlockDevices []MrScalarCoreEbsBlockDeviceArgs
    CoreEbsOptimized bool
    CoreInstanceTypes []string
    CoreLifecycle string
    CoreMaxSize int
    CoreMinSize int
    CoreScalingDownPolicies []MrScalarCoreScalingDownPolicyArgs
    CoreScalingUpPolicies []MrScalarCoreScalingUpPolicyArgs
    CoreUnit string
    CustomAmiId string
    Description string
    The MrScaler description.
    EbsRootVolumeSize int
    Ec2KeyName string
    ExposeClusterId bool
    Allow the cluster_id to set a provider output variable.
    InstanceWeights []MrScalarInstanceWeightArgs
    JobFlowRole string
    KeepJobFlowAlive bool
    LogUri string
    ManagedPrimarySecurityGroup string
    ManagedReplicaSecurityGroup string
    MasterEbsBlockDevices []MrScalarMasterEbsBlockDeviceArgs
    MasterEbsOptimized bool
    MasterInstanceTypes []string
    MasterLifecycle string
    MasterTarget int
    Name string
    The MrScaler name.
    OutputClusterId string
    ProvisioningTimeout MrScalarProvisioningTimeoutArgs
    Region string
    The MrScaler region.
    ReleaseLabel string
    RepoUpgradeOnBoot string
    Retries int
    ScheduledTasks []MrScalarScheduledTaskArgs
    SecurityConfig string
    ServiceAccessSecurityGroup string
    ServiceRole string
    StepsFiles []MrScalarStepsFileArgs
    Strategy string
    The MrScaler strategy. Allowed values are new clone and wrap.
    Tags []MrScalarTagArgs
    TaskDesiredCapacity int
    TaskEbsBlockDevices []MrScalarTaskEbsBlockDeviceArgs
    TaskEbsOptimized bool
    TaskInstanceTypes []string
    TaskLifecycle string
    TaskMaxSize int
    TaskMinSize int
    TaskScalingDownPolicies []MrScalarTaskScalingDownPolicyArgs
    TaskScalingUpPolicies []MrScalarTaskScalingUpPolicyArgs
    TaskUnit string
    TerminationPolicies []MrScalarTerminationPolicyArgs
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    TerminationProtected bool
    VisibleToAllUsers bool

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

    additionalInfo String
    additionalPrimarySecurityGroups List<String>
    additionalReplicaSecurityGroups List<String>
    applications List<MrScalarApplication>
    availabilityZones List<String>
    bootstrapActionsFiles List<MrScalarBootstrapActionsFile>
    clusterId String
    The MrScaler cluster id.
    configurationsFiles List<MrScalarConfigurationsFile>
    coreDesiredCapacity Integer
    coreEbsBlockDevices List<MrScalarCoreEbsBlockDevice>
    coreEbsOptimized Boolean
    coreInstanceTypes List<String>
    coreLifecycle String
    coreMaxSize Integer
    coreMinSize Integer
    coreScalingDownPolicies List<MrScalarCoreScalingDownPolicy>
    coreScalingUpPolicies List<MrScalarCoreScalingUpPolicy>
    coreUnit String
    customAmiId String
    description String
    The MrScaler description.
    ebsRootVolumeSize Integer
    ec2KeyName String
    exposeClusterId Boolean
    Allow the cluster_id to set a provider output variable.
    instanceWeights List<MrScalarInstanceWeight>
    jobFlowRole String
    keepJobFlowAlive Boolean
    logUri String
    managedPrimarySecurityGroup String
    managedReplicaSecurityGroup String
    masterEbsBlockDevices List<MrScalarMasterEbsBlockDevice>
    masterEbsOptimized Boolean
    masterInstanceTypes List<String>
    masterLifecycle String
    masterTarget Integer
    name String
    The MrScaler name.
    outputClusterId String
    provisioningTimeout MrScalarProvisioningTimeout
    region String
    The MrScaler region.
    releaseLabel String
    repoUpgradeOnBoot String
    retries Integer
    scheduledTasks List<MrScalarScheduledTask>
    securityConfig String
    serviceAccessSecurityGroup String
    serviceRole String
    stepsFiles List<MrScalarStepsFile>
    strategy String
    The MrScaler strategy. Allowed values are new clone and wrap.
    tags List<MrScalarTag>
    taskDesiredCapacity Integer
    taskEbsBlockDevices List<MrScalarTaskEbsBlockDevice>
    taskEbsOptimized Boolean
    taskInstanceTypes List<String>
    taskLifecycle String
    taskMaxSize Integer
    taskMinSize Integer
    taskScalingDownPolicies List<MrScalarTaskScalingDownPolicy>
    taskScalingUpPolicies List<MrScalarTaskScalingUpPolicy>
    taskUnit String
    terminationPolicies List<MrScalarTerminationPolicy>
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    terminationProtected Boolean
    visibleToAllUsers Boolean

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

    additionalInfo string
    additionalPrimarySecurityGroups string[]
    additionalReplicaSecurityGroups string[]
    applications MrScalarApplication[]
    availabilityZones string[]
    bootstrapActionsFiles MrScalarBootstrapActionsFile[]
    clusterId string
    The MrScaler cluster id.
    configurationsFiles MrScalarConfigurationsFile[]
    coreDesiredCapacity number
    coreEbsBlockDevices MrScalarCoreEbsBlockDevice[]
    coreEbsOptimized boolean
    coreInstanceTypes string[]
    coreLifecycle string
    coreMaxSize number
    coreMinSize number
    coreScalingDownPolicies MrScalarCoreScalingDownPolicy[]
    coreScalingUpPolicies MrScalarCoreScalingUpPolicy[]
    coreUnit string
    customAmiId string
    description string
    The MrScaler description.
    ebsRootVolumeSize number
    ec2KeyName string
    exposeClusterId boolean
    Allow the cluster_id to set a provider output variable.
    instanceWeights MrScalarInstanceWeight[]
    jobFlowRole string
    keepJobFlowAlive boolean
    logUri string
    managedPrimarySecurityGroup string
    managedReplicaSecurityGroup string
    masterEbsBlockDevices MrScalarMasterEbsBlockDevice[]
    masterEbsOptimized boolean
    masterInstanceTypes string[]
    masterLifecycle string
    masterTarget number
    name string
    The MrScaler name.
    outputClusterId string
    provisioningTimeout MrScalarProvisioningTimeout
    region string
    The MrScaler region.
    releaseLabel string
    repoUpgradeOnBoot string
    retries number
    scheduledTasks MrScalarScheduledTask[]
    securityConfig string
    serviceAccessSecurityGroup string
    serviceRole string
    stepsFiles MrScalarStepsFile[]
    strategy string
    The MrScaler strategy. Allowed values are new clone and wrap.
    tags MrScalarTag[]
    taskDesiredCapacity number
    taskEbsBlockDevices MrScalarTaskEbsBlockDevice[]
    taskEbsOptimized boolean
    taskInstanceTypes string[]
    taskLifecycle string
    taskMaxSize number
    taskMinSize number
    taskScalingDownPolicies MrScalarTaskScalingDownPolicy[]
    taskScalingUpPolicies MrScalarTaskScalingUpPolicy[]
    taskUnit string
    terminationPolicies MrScalarTerminationPolicy[]
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    terminationProtected boolean
    visibleToAllUsers boolean

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

    additional_info str
    additional_primary_security_groups Sequence[str]
    additional_replica_security_groups Sequence[str]
    applications Sequence[MrScalarApplicationArgs]
    availability_zones Sequence[str]
    bootstrap_actions_files Sequence[MrScalarBootstrapActionsFileArgs]
    cluster_id str
    The MrScaler cluster id.
    configurations_files Sequence[MrScalarConfigurationsFileArgs]
    core_desired_capacity int
    core_ebs_block_devices Sequence[MrScalarCoreEbsBlockDeviceArgs]
    core_ebs_optimized bool
    core_instance_types Sequence[str]
    core_lifecycle str
    core_max_size int
    core_min_size int
    core_scaling_down_policies Sequence[MrScalarCoreScalingDownPolicyArgs]
    core_scaling_up_policies Sequence[MrScalarCoreScalingUpPolicyArgs]
    core_unit str
    custom_ami_id str
    description str
    The MrScaler description.
    ebs_root_volume_size int
    ec2_key_name str
    expose_cluster_id bool
    Allow the cluster_id to set a provider output variable.
    instance_weights Sequence[MrScalarInstanceWeightArgs]
    job_flow_role str
    keep_job_flow_alive bool
    log_uri str
    managed_primary_security_group str
    managed_replica_security_group str
    master_ebs_block_devices Sequence[MrScalarMasterEbsBlockDeviceArgs]
    master_ebs_optimized bool
    master_instance_types Sequence[str]
    master_lifecycle str
    master_target int
    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
    retries int
    scheduled_tasks Sequence[MrScalarScheduledTaskArgs]
    security_config str
    service_access_security_group str
    service_role str
    steps_files Sequence[MrScalarStepsFileArgs]
    strategy str
    The MrScaler strategy. Allowed values are new clone and wrap.
    tags Sequence[MrScalarTagArgs]
    task_desired_capacity int
    task_ebs_block_devices Sequence[MrScalarTaskEbsBlockDeviceArgs]
    task_ebs_optimized bool
    task_instance_types Sequence[str]
    task_lifecycle str
    task_max_size int
    task_min_size int
    task_scaling_down_policies Sequence[MrScalarTaskScalingDownPolicyArgs]
    task_scaling_up_policies Sequence[MrScalarTaskScalingUpPolicyArgs]
    task_unit str
    termination_policies Sequence[MrScalarTerminationPolicyArgs]
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    termination_protected bool
    visible_to_all_users bool

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

    additionalInfo String
    additionalPrimarySecurityGroups List<String>
    additionalReplicaSecurityGroups List<String>
    applications List<Property Map>
    availabilityZones List<String>
    bootstrapActionsFiles List<Property Map>
    clusterId String
    The MrScaler cluster id.
    configurationsFiles List<Property Map>
    coreDesiredCapacity Number
    coreEbsBlockDevices List<Property Map>
    coreEbsOptimized Boolean
    coreInstanceTypes List<String>
    coreLifecycle String
    coreMaxSize Number
    coreMinSize Number
    coreScalingDownPolicies List<Property Map>
    coreScalingUpPolicies List<Property Map>
    coreUnit String
    customAmiId String
    description String
    The MrScaler description.
    ebsRootVolumeSize Number
    ec2KeyName String
    exposeClusterId Boolean
    Allow the cluster_id to set a provider output variable.
    instanceWeights List<Property Map>
    jobFlowRole String
    keepJobFlowAlive Boolean
    logUri String
    managedPrimarySecurityGroup String
    managedReplicaSecurityGroup String
    masterEbsBlockDevices List<Property Map>
    masterEbsOptimized Boolean
    masterInstanceTypes List<String>
    masterLifecycle String
    masterTarget Number
    name String
    The MrScaler name.
    outputClusterId String
    provisioningTimeout Property Map
    region String
    The MrScaler region.
    releaseLabel String
    repoUpgradeOnBoot String
    retries Number
    scheduledTasks List<Property Map>
    securityConfig String
    serviceAccessSecurityGroup String
    serviceRole String
    stepsFiles List<Property Map>
    strategy String
    The MrScaler strategy. Allowed values are new clone and wrap.
    tags List<Property Map>
    taskDesiredCapacity Number
    taskEbsBlockDevices List<Property Map>
    taskEbsOptimized Boolean
    taskInstanceTypes List<String>
    taskLifecycle String
    taskMaxSize Number
    taskMinSize Number
    taskScalingDownPolicies List<Property Map>
    taskScalingUpPolicies List<Property Map>
    taskUnit String
    terminationPolicies List<Property Map>
    Allows defining termination policies for EMR clusters based on CloudWatch Metrics.
    terminationProtected Boolean
    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>
    Version string
    Name string
    The MrScaler name.
    Args []string
    Version string
    name String
    The MrScaler name.
    args List<String>
    version String
    name string
    The MrScaler name.
    args string[]
    version string
    name str
    The MrScaler name.
    args Sequence[str]
    version str
    name String
    The MrScaler name.
    args List<String>
    version String

    MrScalarBootstrapActionsFile, MrScalarBootstrapActionsFileArgs

    Bucket string
    Key string
    Bucket string
    Key string
    bucket String
    key String
    bucket string
    key string
    bucket str
    key str
    bucket String
    key String

    MrScalarConfigurationsFile, MrScalarConfigurationsFileArgs

    Bucket string
    Key string
    Bucket string
    Key string
    bucket String
    key String
    bucket string
    key string
    bucket str
    key str
    bucket String
    key String

    MrScalarCoreEbsBlockDevice, MrScalarCoreEbsBlockDeviceArgs

    sizeInGb Integer
    volumeType String
    iops Integer
    volumesPerInstance Integer
    sizeInGb number
    volumeType string
    iops number
    volumesPerInstance number
    sizeInGb Number
    volumeType String
    iops Number
    volumesPerInstance Number

    MrScalarCoreScalingDownPolicy, MrScalarCoreScalingDownPolicyArgs

    MetricName string
    Namespace string
    PolicyName string
    Threshold double
    Unit string
    ActionType string
    Adjustment string
    Cooldown int
    Dimensions Dictionary<string, object>
    EvaluationPeriods int
    MaxTargetCapacity string
    Maximum string
    MinTargetCapacity string
    Minimum string
    Operator string
    Period int
    Statistic string
    Target string
    MetricName string
    Namespace string
    PolicyName string
    Threshold float64
    Unit string
    ActionType string
    Adjustment string
    Cooldown int
    Dimensions map[string]interface{}
    EvaluationPeriods int
    MaxTargetCapacity string
    Maximum string
    MinTargetCapacity string
    Minimum string
    Operator string
    Period int
    Statistic string
    Target string
    metricName String
    namespace String
    policyName String
    threshold Double
    unit String
    actionType String
    adjustment String
    cooldown Integer
    dimensions Map<String,Object>
    evaluationPeriods Integer
    maxTargetCapacity String
    maximum String
    minTargetCapacity String
    minimum String
    operator String
    period Integer
    statistic String
    target String
    metricName string
    namespace string
    policyName string
    threshold number
    unit string
    actionType string
    adjustment string
    cooldown number
    dimensions {[key: string]: any}
    evaluationPeriods number
    maxTargetCapacity string
    maximum string
    minTargetCapacity string
    minimum string
    operator string
    period number
    statistic string
    target string
    metricName String
    namespace String
    policyName String
    threshold Number
    unit String
    actionType String
    adjustment String
    cooldown Number
    dimensions Map<Any>
    evaluationPeriods Number
    maxTargetCapacity String
    maximum String
    minTargetCapacity String
    minimum String
    operator String
    period Number
    statistic String
    target String

    MrScalarCoreScalingUpPolicy, MrScalarCoreScalingUpPolicyArgs

    MetricName string
    Namespace string
    PolicyName string
    Threshold double
    Unit string
    ActionType string
    Adjustment string
    Cooldown int
    Dimensions Dictionary<string, object>
    EvaluationPeriods int
    MaxTargetCapacity string
    Maximum string
    MinTargetCapacity string
    Minimum string
    Operator string
    Period int
    Statistic string
    Target string
    MetricName string
    Namespace string
    PolicyName string
    Threshold float64
    Unit string
    ActionType string
    Adjustment string
    Cooldown int
    Dimensions map[string]interface{}
    EvaluationPeriods int
    MaxTargetCapacity string
    Maximum string
    MinTargetCapacity string
    Minimum string
    Operator string
    Period int
    Statistic string
    Target string
    metricName String
    namespace String
    policyName String
    threshold Double
    unit String
    actionType String
    adjustment String
    cooldown Integer
    dimensions Map<String,Object>
    evaluationPeriods Integer
    maxTargetCapacity String
    maximum String
    minTargetCapacity String
    minimum String
    operator String
    period Integer
    statistic String
    target String
    metricName string
    namespace string
    policyName string
    threshold number
    unit string
    actionType string
    adjustment string
    cooldown number
    dimensions {[key: string]: any}
    evaluationPeriods number
    maxTargetCapacity string
    maximum string
    minTargetCapacity string
    minimum string
    operator string
    period number
    statistic string
    target string
    metricName String
    namespace String
    policyName String
    threshold Number
    unit String
    actionType String
    adjustment String
    cooldown Number
    dimensions Map<Any>
    evaluationPeriods Number
    maxTargetCapacity String
    maximum String
    minTargetCapacity String
    minimum String
    operator String
    period Number
    statistic String
    target String

    MrScalarInstanceWeight, MrScalarInstanceWeightArgs

    MrScalarMasterEbsBlockDevice, MrScalarMasterEbsBlockDeviceArgs

    sizeInGb Integer
    volumeType String
    iops Integer
    volumesPerInstance Integer
    sizeInGb number
    volumeType string
    iops number
    volumesPerInstance number
    sizeInGb Number
    volumeType String
    iops Number
    volumesPerInstance Number

    MrScalarProvisioningTimeout, MrScalarProvisioningTimeoutArgs

    timeout Integer
    timeoutAction String
    timeout number
    timeoutAction string
    timeout Number
    timeoutAction String

    MrScalarScheduledTask, MrScalarScheduledTaskArgs

    cron String
    instanceGroupType String
    taskType String
    desiredCapacity String
    isEnabled Boolean
    maxCapacity String
    minCapacity String
    cron string
    instanceGroupType string
    taskType string
    desiredCapacity string
    isEnabled boolean
    maxCapacity string
    minCapacity string
    cron String
    instanceGroupType String
    taskType String
    desiredCapacity String
    isEnabled Boolean
    maxCapacity String
    minCapacity String

    MrScalarStepsFile, MrScalarStepsFileArgs

    Bucket string
    Key string
    Bucket string
    Key string
    bucket String
    key String
    bucket string
    key string
    bucket str
    key str
    bucket String
    key String

    MrScalarTag, MrScalarTagArgs

    Key string
    Value string
    Key string
    Value string
    key String
    value String
    key string
    value string
    key str
    value str
    key String
    value String

    MrScalarTaskEbsBlockDevice, MrScalarTaskEbsBlockDeviceArgs

    sizeInGb Integer
    volumeType String
    iops Integer
    volumesPerInstance Integer
    sizeInGb number
    volumeType string
    iops number
    volumesPerInstance number
    sizeInGb Number
    volumeType String
    iops Number
    volumesPerInstance Number

    MrScalarTaskScalingDownPolicy, MrScalarTaskScalingDownPolicyArgs

    MetricName string
    Namespace string
    PolicyName string
    Threshold double
    Unit string
    ActionType string
    Adjustment string
    Cooldown int
    Dimensions Dictionary<string, object>
    EvaluationPeriods int
    MaxTargetCapacity string
    Maximum string
    MinTargetCapacity string
    Minimum string
    Operator string
    Period int
    Statistic string
    Target string
    MetricName string
    Namespace string
    PolicyName string
    Threshold float64
    Unit string
    ActionType string
    Adjustment string
    Cooldown int
    Dimensions map[string]interface{}
    EvaluationPeriods int
    MaxTargetCapacity string
    Maximum string
    MinTargetCapacity string
    Minimum string
    Operator string
    Period int
    Statistic string
    Target string
    metricName String
    namespace String
    policyName String
    threshold Double
    unit String
    actionType String
    adjustment String
    cooldown Integer
    dimensions Map<String,Object>
    evaluationPeriods Integer
    maxTargetCapacity String
    maximum String
    minTargetCapacity String
    minimum String
    operator String
    period Integer
    statistic String
    target String
    metricName string
    namespace string
    policyName string
    threshold number
    unit string
    actionType string
    adjustment string
    cooldown number
    dimensions {[key: string]: any}
    evaluationPeriods number
    maxTargetCapacity string
    maximum string
    minTargetCapacity string
    minimum string
    operator string
    period number
    statistic string
    target string
    metricName String
    namespace String
    policyName String
    threshold Number
    unit String
    actionType String
    adjustment String
    cooldown Number
    dimensions Map<Any>
    evaluationPeriods Number
    maxTargetCapacity String
    maximum String
    minTargetCapacity String
    minimum String
    operator String
    period Number
    statistic String
    target String

    MrScalarTaskScalingUpPolicy, MrScalarTaskScalingUpPolicyArgs

    MetricName string
    Namespace string
    PolicyName string
    Threshold double
    Unit string
    ActionType string
    Adjustment string
    Cooldown int
    Dimensions Dictionary<string, object>
    EvaluationPeriods int
    MaxTargetCapacity string
    Maximum string
    MinTargetCapacity string
    Minimum string
    Operator string
    Period int
    Statistic string
    Target string
    MetricName string
    Namespace string
    PolicyName string
    Threshold float64
    Unit string
    ActionType string
    Adjustment string
    Cooldown int
    Dimensions map[string]interface{}
    EvaluationPeriods int
    MaxTargetCapacity string
    Maximum string
    MinTargetCapacity string
    Minimum string
    Operator string
    Period int
    Statistic string
    Target string
    metricName String
    namespace String
    policyName String
    threshold Double
    unit String
    actionType String
    adjustment String
    cooldown Integer
    dimensions Map<String,Object>
    evaluationPeriods Integer
    maxTargetCapacity String
    maximum String
    minTargetCapacity String
    minimum String
    operator String
    period Integer
    statistic String
    target String
    metricName string
    namespace string
    policyName string
    threshold number
    unit string
    actionType string
    adjustment string
    cooldown number
    dimensions {[key: string]: any}
    evaluationPeriods number
    maxTargetCapacity string
    maximum string
    minTargetCapacity string
    minimum string
    operator string
    period number
    statistic string
    target string
    metricName String
    namespace String
    policyName String
    threshold Number
    unit String
    actionType String
    adjustment String
    cooldown Number
    dimensions Map<Any>
    evaluationPeriods Number
    maxTargetCapacity String
    maximum String
    minTargetCapacity String
    minimum String
    operator String
    period Number
    statistic String
    target String

    MrScalarTerminationPolicy, MrScalarTerminationPolicyArgs

    MrScalarTerminationPolicyStatement, MrScalarTerminationPolicyStatementArgs

    MetricName string
    Namespace string
    Threshold double