1. Packages
  2. Spotinst
  3. API Docs
  4. azure
  5. OceanNp
Spotinst v3.83.1 published on Friday, Jul 19, 2024 by Pulumi

spotinst.azure.OceanNp

Explore with Pulumi AI

spotinst logo
Spotinst v3.83.1 published on Friday, Jul 19, 2024 by Pulumi

    Manages a Spotinst Ocean AKS resource.

    Basic Ocean Cluster Creation Usage Example - using minimum configuration with only required parameters

    import * as pulumi from "@pulumi/pulumi";
    import * as spotinst from "@pulumi/spotinst";
    
    const example = new spotinst.azure.OceanNp("example", {
        name: "test",
        aksRegion: "eastus",
        aksClusterName: "test-cluster",
        aksInfrastructureResourceGroupName: "MC_TestResourceGroup_test-cluster_eastus",
        aksResourceGroupName: "TestResourceGroup",
        controllerClusterId: "test-123124",
        availabilityZones: [
            "1",
            "2",
            "3",
        ],
    });
    
    import pulumi
    import pulumi_spotinst as spotinst
    
    example = spotinst.azure.OceanNp("example",
        name="test",
        aks_region="eastus",
        aks_cluster_name="test-cluster",
        aks_infrastructure_resource_group_name="MC_TestResourceGroup_test-cluster_eastus",
        aks_resource_group_name="TestResourceGroup",
        controller_cluster_id="test-123124",
        availability_zones=[
            "1",
            "2",
            "3",
        ])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/azure"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := azure.NewOceanNp(ctx, "example", &azure.OceanNpArgs{
    			Name:                               pulumi.String("test"),
    			AksRegion:                          pulumi.String("eastus"),
    			AksClusterName:                     pulumi.String("test-cluster"),
    			AksInfrastructureResourceGroupName: pulumi.String("MC_TestResourceGroup_test-cluster_eastus"),
    			AksResourceGroupName:               pulumi.String("TestResourceGroup"),
    			ControllerClusterId:                pulumi.String("test-123124"),
    			AvailabilityZones: pulumi.StringArray{
    				pulumi.String("1"),
    				pulumi.String("2"),
    				pulumi.String("3"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using SpotInst = Pulumi.SpotInst;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new SpotInst.Azure.OceanNp("example", new()
        {
            Name = "test",
            AksRegion = "eastus",
            AksClusterName = "test-cluster",
            AksInfrastructureResourceGroupName = "MC_TestResourceGroup_test-cluster_eastus",
            AksResourceGroupName = "TestResourceGroup",
            ControllerClusterId = "test-123124",
            AvailabilityZones = new[]
            {
                "1",
                "2",
                "3",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spotinst.azure.OceanNp;
    import com.pulumi.spotinst.azure.OceanNpArgs;
    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 example = new OceanNp("example", OceanNpArgs.builder()
                .name("test")
                .aksRegion("eastus")
                .aksClusterName("test-cluster")
                .aksInfrastructureResourceGroupName("MC_TestResourceGroup_test-cluster_eastus")
                .aksResourceGroupName("TestResourceGroup")
                .controllerClusterId("test-123124")
                .availabilityZones(            
                    "1",
                    "2",
                    "3")
                .build());
    
        }
    }
    
    resources:
      example:
        type: spotinst:azure:OceanNp
        properties:
          name: test
          aksRegion: eastus
          aksClusterName: test-cluster
          aksInfrastructureResourceGroupName: MC_TestResourceGroup_test-cluster_eastus
          aksResourceGroupName: TestResourceGroup
          controllerClusterId: test-123124
          availabilityZones: # -------------------------------------------------------------------
            - '1'
            - '2'
            - '3'
    

    Detailed Ocean Cluster Creation Usage Example - using all available parameters with sample values

    resource "spotinst_ocean_aks_np" "example" {
      
      name = "test"
      
      // --- AKS -------------------------------------------------------------------------
      
      aks_region                             = "eastus"
      aks_cluster_name                       = "test-cluster"
      aks_infrastructure_resource_group_name = "MC_TestResourceGroup_test-cluster_eastus"
      aks_resource_group_name                = "TestResourceGroup"
      
      // ---------------------------------------------------------------------------------
    
      controller_cluster_id = "test-123124"
    
      // --- Auto Scaler ---------------------------------------------------
      
      autoscaler {
        autoscale_is_enabled = true
        resource_limits {
          max_vcpu       = 750
          max_memory_gib = 1500
        }
        autoscale_down {
          max_scale_down_percentage = 30
        }
        autoscale_headroom {
          automatic {
            is_enabled = true
            percentage = 5
          }
        }
      }
      
      // ----------------------------------------------------------------------
    
      // --- Health -----------------------------------------------------------
      
      health {
        grace_period = 600
      }
      
      // ----------------------------------------------------------------------
    
      // --- virtualNodeGroupTemplate -----------------------------------------
    
      // --- autoscale --------------------------------------------------------
      headrooms {
        cpu_per_unit    = 1024
        memory_per_unit = 512
        gpu_per_unit    = 0
        num_of_units    = 2
      }
      // ----------------------------------------------------------------------
      
      availability_zones = [
        "1",
        "2",
        "3"
      ]
      labels = {
        key   = "env"
        value = "test"
      }
      
      // --- nodeCountLimits --------------------------------------------------
      
      min_count = 1
      max_count = 100
      
      // ----------------------------------------------------------------------
    
      // --- nodePoolProperties -----------------------------------------------
      
      max_pods_per_node     = 30
      enable_node_public_ip = true
      os_disk_size_gb       = 30
      os_disk_type          = "Managed"
      os_type               = "Windows"
      os_sku                = "Windows2022"
      kubernetes_version    = "1.26"
      pod_subnet_ids       = ["/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"]
      vnet_subnet_ids       = ["/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"]
      linux_os_config {
        sysctls {
          vm_max_map_count = 79550
        }
      }
      // ----------------------------------------------------------------------
    
      // --- strategy ---------------------------------------------------------
      
      spot_percentage      = 50
      fallback_to_ondemand = true
    
      // ----------------------------------------------------------------------
    
      taints {
        key    = "taintKey"
        value  = "taintValue"
        effect = "NoSchedule"
      }
    
      tags = {
        tagKey   = "env"
        tagValue = "staging"
      }
      // --- vmSizes ----------------------------------------------------------
      
      filters {
        min_vcpu               = 2
        max_vcpu               = 16
        min_memory_gib         = 8
        max_memory_gib         = 128
        architectures          = ["x86_64", "arm64"]
        series                 = ["D v3", "Dds_v4", "Dsv2"]
        exclude_series         = ["Av2", "A", "Bs", "D", "E"]
        accelerated_networking = "Enabled"
        disk_performance       = "Premium"
        min_gpu                = 1
        max_gpu                = 2
        min_nics               = 1
        vm_types               = ["generalPurpose", "GPU"]
        min_disk               = 1
        gpu_types              = ["nvidia-tesla-t4"]
      }
      
      // ----------------------------------------------------------------------
    }
    
    output "ocean_id" {
      value = spotinst_ocean_aks_np.example.id
    }
    

    Create OceanNp Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new OceanNp(name: string, args: OceanNpArgs, opts?: CustomResourceOptions);
    @overload
    def OceanNp(resource_name: str,
                args: OceanNpArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def OceanNp(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                controller_cluster_id: Optional[str] = None,
                aks_infrastructure_resource_group_name: Optional[str] = None,
                aks_region: Optional[str] = None,
                aks_resource_group_name: Optional[str] = None,
                aks_cluster_name: Optional[str] = None,
                availability_zones: Optional[Sequence[str]] = None,
                linux_os_configs: Optional[Sequence[OceanNpLinuxOsConfigArgs]] = None,
                min_count: Optional[int] = None,
                fallback_to_ondemand: Optional[bool] = None,
                filters: Optional[OceanNpFiltersArgs] = None,
                headrooms: Optional[Sequence[OceanNpHeadroomArgs]] = None,
                health: Optional[OceanNpHealthArgs] = None,
                kubernetes_version: Optional[str] = None,
                labels: Optional[Mapping[str, Any]] = None,
                autoscaler: Optional[OceanNpAutoscalerArgs] = None,
                max_count: Optional[int] = None,
                max_pods_per_node: Optional[int] = None,
                enable_node_public_ip: Optional[bool] = None,
                name: Optional[str] = None,
                os_disk_size_gb: Optional[int] = None,
                os_disk_type: Optional[str] = None,
                os_sku: Optional[str] = None,
                os_type: Optional[str] = None,
                pod_subnet_ids: Optional[Sequence[str]] = None,
                scheduling: Optional[OceanNpSchedulingArgs] = None,
                spot_percentage: Optional[int] = None,
                tags: Optional[Mapping[str, Any]] = None,
                taints: Optional[Sequence[OceanNpTaintArgs]] = None,
                update_policy: Optional[OceanNpUpdatePolicyArgs] = None,
                vnet_subnet_ids: Optional[Sequence[str]] = None)
    func NewOceanNp(ctx *Context, name string, args OceanNpArgs, opts ...ResourceOption) (*OceanNp, error)
    public OceanNp(string name, OceanNpArgs args, CustomResourceOptions? opts = null)
    public OceanNp(String name, OceanNpArgs args)
    public OceanNp(String name, OceanNpArgs args, CustomResourceOptions options)
    
    type: spotinst:azure:OceanNp
    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 OceanNpArgs
    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 OceanNpArgs
    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 OceanNpArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args OceanNpArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args OceanNpArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var oceanNpResource = new SpotInst.Azure.OceanNp("oceanNpResource", new()
    {
        ControllerClusterId = "string",
        AksInfrastructureResourceGroupName = "string",
        AksRegion = "string",
        AksResourceGroupName = "string",
        AksClusterName = "string",
        AvailabilityZones = new[]
        {
            "string",
        },
        LinuxOsConfigs = new[]
        {
            new SpotInst.Azure.Inputs.OceanNpLinuxOsConfigArgs
            {
                Sysctls = new[]
                {
                    new SpotInst.Azure.Inputs.OceanNpLinuxOsConfigSysctlArgs
                    {
                        VmMaxMapCount = 0,
                    },
                },
            },
        },
        MinCount = 0,
        FallbackToOndemand = false,
        Filters = new SpotInst.Azure.Inputs.OceanNpFiltersArgs
        {
            AcceleratedNetworking = "string",
            Architectures = new[]
            {
                "string",
            },
            DiskPerformance = "string",
            ExcludeSeries = new[]
            {
                "string",
            },
            GpuTypes = new[]
            {
                "string",
            },
            MaxGpu = 0,
            MaxMemoryGib = 0,
            MaxVcpu = 0,
            MinDisk = 0,
            MinGpu = 0,
            MinMemoryGib = 0,
            MinNics = 0,
            MinVcpu = 0,
            Series = new[]
            {
                "string",
            },
            VmTypes = new[]
            {
                "string",
            },
        },
        Headrooms = new[]
        {
            new SpotInst.Azure.Inputs.OceanNpHeadroomArgs
            {
                CpuPerUnit = 0,
                GpuPerUnit = 0,
                MemoryPerUnit = 0,
                NumOfUnits = 0,
            },
        },
        Health = new SpotInst.Azure.Inputs.OceanNpHealthArgs
        {
            GracePeriod = 0,
        },
        KubernetesVersion = "string",
        Labels = 
        {
            { "string", "any" },
        },
        Autoscaler = new SpotInst.Azure.Inputs.OceanNpAutoscalerArgs
        {
            AutoscaleDown = new SpotInst.Azure.Inputs.OceanNpAutoscalerAutoscaleDownArgs
            {
                MaxScaleDownPercentage = 0,
            },
            AutoscaleHeadroom = new SpotInst.Azure.Inputs.OceanNpAutoscalerAutoscaleHeadroomArgs
            {
                Automatic = new SpotInst.Azure.Inputs.OceanNpAutoscalerAutoscaleHeadroomAutomaticArgs
                {
                    IsEnabled = false,
                    Percentage = 0,
                },
            },
            AutoscaleIsEnabled = false,
            ResourceLimits = new SpotInst.Azure.Inputs.OceanNpAutoscalerResourceLimitsArgs
            {
                MaxMemoryGib = 0,
                MaxVcpu = 0,
            },
        },
        MaxCount = 0,
        MaxPodsPerNode = 0,
        EnableNodePublicIp = false,
        Name = "string",
        OsDiskSizeGb = 0,
        OsDiskType = "string",
        OsSku = "string",
        OsType = "string",
        PodSubnetIds = new[]
        {
            "string",
        },
        Scheduling = new SpotInst.Azure.Inputs.OceanNpSchedulingArgs
        {
            ShutdownHours = new SpotInst.Azure.Inputs.OceanNpSchedulingShutdownHoursArgs
            {
                IsEnabled = false,
                TimeWindows = new[]
                {
                    "string",
                },
            },
            Tasks = new[]
            {
                new SpotInst.Azure.Inputs.OceanNpSchedulingTaskArgs
                {
                    CronExpression = "string",
                    IsEnabled = false,
                    TaskType = "string",
                    Parameters = new SpotInst.Azure.Inputs.OceanNpSchedulingTaskParametersArgs
                    {
                        ParametersClusterRoll = new SpotInst.Azure.Inputs.OceanNpSchedulingTaskParametersParametersClusterRollArgs
                        {
                            BatchMinHealthyPercentage = 0,
                            BatchSizePercentage = 0,
                            Comment = "string",
                            RespectPdb = false,
                            RespectRestrictScaleDown = false,
                            VngIds = new[]
                            {
                                "string",
                            },
                        },
                    },
                },
            },
        },
        SpotPercentage = 0,
        Tags = 
        {
            { "string", "any" },
        },
        Taints = new[]
        {
            new SpotInst.Azure.Inputs.OceanNpTaintArgs
            {
                Effect = "string",
                Key = "string",
                Value = "string",
            },
        },
        UpdatePolicy = new SpotInst.Azure.Inputs.OceanNpUpdatePolicyArgs
        {
            ShouldRoll = false,
            ConditionedRoll = false,
            RollConfig = new SpotInst.Azure.Inputs.OceanNpUpdatePolicyRollConfigArgs
            {
                BatchMinHealthyPercentage = 0,
                BatchSizePercentage = 0,
                Comment = "string",
                NodeNames = new[]
                {
                    "string",
                },
                NodePoolNames = new[]
                {
                    "string",
                },
                RespectPdb = false,
                RespectRestrictScaleDown = false,
                VngIds = new[]
                {
                    "string",
                },
            },
        },
        VnetSubnetIds = new[]
        {
            "string",
        },
    });
    
    example, err := azure.NewOceanNp(ctx, "oceanNpResource", &azure.OceanNpArgs{
    	ControllerClusterId:                pulumi.String("string"),
    	AksInfrastructureResourceGroupName: pulumi.String("string"),
    	AksRegion:                          pulumi.String("string"),
    	AksResourceGroupName:               pulumi.String("string"),
    	AksClusterName:                     pulumi.String("string"),
    	AvailabilityZones: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	LinuxOsConfigs: azure.OceanNpLinuxOsConfigArray{
    		&azure.OceanNpLinuxOsConfigArgs{
    			Sysctls: azure.OceanNpLinuxOsConfigSysctlArray{
    				&azure.OceanNpLinuxOsConfigSysctlArgs{
    					VmMaxMapCount: pulumi.Int(0),
    				},
    			},
    		},
    	},
    	MinCount:           pulumi.Int(0),
    	FallbackToOndemand: pulumi.Bool(false),
    	Filters: &azure.OceanNpFiltersArgs{
    		AcceleratedNetworking: pulumi.String("string"),
    		Architectures: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		DiskPerformance: pulumi.String("string"),
    		ExcludeSeries: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		GpuTypes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		MaxGpu:       pulumi.Float64(0),
    		MaxMemoryGib: pulumi.Float64(0),
    		MaxVcpu:      pulumi.Int(0),
    		MinDisk:      pulumi.Int(0),
    		MinGpu:       pulumi.Float64(0),
    		MinMemoryGib: pulumi.Float64(0),
    		MinNics:      pulumi.Int(0),
    		MinVcpu:      pulumi.Int(0),
    		Series: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		VmTypes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	Headrooms: azure.OceanNpHeadroomArray{
    		&azure.OceanNpHeadroomArgs{
    			CpuPerUnit:    pulumi.Int(0),
    			GpuPerUnit:    pulumi.Int(0),
    			MemoryPerUnit: pulumi.Int(0),
    			NumOfUnits:    pulumi.Int(0),
    		},
    	},
    	Health: &azure.OceanNpHealthArgs{
    		GracePeriod: pulumi.Int(0),
    	},
    	KubernetesVersion: pulumi.String("string"),
    	Labels: pulumi.Map{
    		"string": pulumi.Any("any"),
    	},
    	Autoscaler: &azure.OceanNpAutoscalerArgs{
    		AutoscaleDown: &azure.OceanNpAutoscalerAutoscaleDownArgs{
    			MaxScaleDownPercentage: pulumi.Int(0),
    		},
    		AutoscaleHeadroom: &azure.OceanNpAutoscalerAutoscaleHeadroomArgs{
    			Automatic: &azure.OceanNpAutoscalerAutoscaleHeadroomAutomaticArgs{
    				IsEnabled:  pulumi.Bool(false),
    				Percentage: pulumi.Int(0),
    			},
    		},
    		AutoscaleIsEnabled: pulumi.Bool(false),
    		ResourceLimits: &azure.OceanNpAutoscalerResourceLimitsArgs{
    			MaxMemoryGib: pulumi.Int(0),
    			MaxVcpu:      pulumi.Int(0),
    		},
    	},
    	MaxCount:           pulumi.Int(0),
    	MaxPodsPerNode:     pulumi.Int(0),
    	EnableNodePublicIp: pulumi.Bool(false),
    	Name:               pulumi.String("string"),
    	OsDiskSizeGb:       pulumi.Int(0),
    	OsDiskType:         pulumi.String("string"),
    	OsSku:              pulumi.String("string"),
    	OsType:             pulumi.String("string"),
    	PodSubnetIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Scheduling: &azure.OceanNpSchedulingArgs{
    		ShutdownHours: &azure.OceanNpSchedulingShutdownHoursArgs{
    			IsEnabled: pulumi.Bool(false),
    			TimeWindows: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		Tasks: azure.OceanNpSchedulingTaskArray{
    			&azure.OceanNpSchedulingTaskArgs{
    				CronExpression: pulumi.String("string"),
    				IsEnabled:      pulumi.Bool(false),
    				TaskType:       pulumi.String("string"),
    				Parameters: &azure.OceanNpSchedulingTaskParametersArgs{
    					ParametersClusterRoll: &azure.OceanNpSchedulingTaskParametersParametersClusterRollArgs{
    						BatchMinHealthyPercentage: pulumi.Int(0),
    						BatchSizePercentage:       pulumi.Int(0),
    						Comment:                   pulumi.String("string"),
    						RespectPdb:                pulumi.Bool(false),
    						RespectRestrictScaleDown:  pulumi.Bool(false),
    						VngIds: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    	},
    	SpotPercentage: pulumi.Int(0),
    	Tags: pulumi.Map{
    		"string": pulumi.Any("any"),
    	},
    	Taints: azure.OceanNpTaintArray{
    		&azure.OceanNpTaintArgs{
    			Effect: pulumi.String("string"),
    			Key:    pulumi.String("string"),
    			Value:  pulumi.String("string"),
    		},
    	},
    	UpdatePolicy: &azure.OceanNpUpdatePolicyArgs{
    		ShouldRoll:      pulumi.Bool(false),
    		ConditionedRoll: pulumi.Bool(false),
    		RollConfig: &azure.OceanNpUpdatePolicyRollConfigArgs{
    			BatchMinHealthyPercentage: pulumi.Int(0),
    			BatchSizePercentage:       pulumi.Int(0),
    			Comment:                   pulumi.String("string"),
    			NodeNames: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			NodePoolNames: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			RespectPdb:               pulumi.Bool(false),
    			RespectRestrictScaleDown: pulumi.Bool(false),
    			VngIds: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	VnetSubnetIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var oceanNpResource = new OceanNp("oceanNpResource", OceanNpArgs.builder()
        .controllerClusterId("string")
        .aksInfrastructureResourceGroupName("string")
        .aksRegion("string")
        .aksResourceGroupName("string")
        .aksClusterName("string")
        .availabilityZones("string")
        .linuxOsConfigs(OceanNpLinuxOsConfigArgs.builder()
            .sysctls(OceanNpLinuxOsConfigSysctlArgs.builder()
                .vmMaxMapCount(0)
                .build())
            .build())
        .minCount(0)
        .fallbackToOndemand(false)
        .filters(OceanNpFiltersArgs.builder()
            .acceleratedNetworking("string")
            .architectures("string")
            .diskPerformance("string")
            .excludeSeries("string")
            .gpuTypes("string")
            .maxGpu(0)
            .maxMemoryGib(0)
            .maxVcpu(0)
            .minDisk(0)
            .minGpu(0)
            .minMemoryGib(0)
            .minNics(0)
            .minVcpu(0)
            .series("string")
            .vmTypes("string")
            .build())
        .headrooms(OceanNpHeadroomArgs.builder()
            .cpuPerUnit(0)
            .gpuPerUnit(0)
            .memoryPerUnit(0)
            .numOfUnits(0)
            .build())
        .health(OceanNpHealthArgs.builder()
            .gracePeriod(0)
            .build())
        .kubernetesVersion("string")
        .labels(Map.of("string", "any"))
        .autoscaler(OceanNpAutoscalerArgs.builder()
            .autoscaleDown(OceanNpAutoscalerAutoscaleDownArgs.builder()
                .maxScaleDownPercentage(0)
                .build())
            .autoscaleHeadroom(OceanNpAutoscalerAutoscaleHeadroomArgs.builder()
                .automatic(OceanNpAutoscalerAutoscaleHeadroomAutomaticArgs.builder()
                    .isEnabled(false)
                    .percentage(0)
                    .build())
                .build())
            .autoscaleIsEnabled(false)
            .resourceLimits(OceanNpAutoscalerResourceLimitsArgs.builder()
                .maxMemoryGib(0)
                .maxVcpu(0)
                .build())
            .build())
        .maxCount(0)
        .maxPodsPerNode(0)
        .enableNodePublicIp(false)
        .name("string")
        .osDiskSizeGb(0)
        .osDiskType("string")
        .osSku("string")
        .osType("string")
        .podSubnetIds("string")
        .scheduling(OceanNpSchedulingArgs.builder()
            .shutdownHours(OceanNpSchedulingShutdownHoursArgs.builder()
                .isEnabled(false)
                .timeWindows("string")
                .build())
            .tasks(OceanNpSchedulingTaskArgs.builder()
                .cronExpression("string")
                .isEnabled(false)
                .taskType("string")
                .parameters(OceanNpSchedulingTaskParametersArgs.builder()
                    .parametersClusterRoll(OceanNpSchedulingTaskParametersParametersClusterRollArgs.builder()
                        .batchMinHealthyPercentage(0)
                        .batchSizePercentage(0)
                        .comment("string")
                        .respectPdb(false)
                        .respectRestrictScaleDown(false)
                        .vngIds("string")
                        .build())
                    .build())
                .build())
            .build())
        .spotPercentage(0)
        .tags(Map.of("string", "any"))
        .taints(OceanNpTaintArgs.builder()
            .effect("string")
            .key("string")
            .value("string")
            .build())
        .updatePolicy(OceanNpUpdatePolicyArgs.builder()
            .shouldRoll(false)
            .conditionedRoll(false)
            .rollConfig(OceanNpUpdatePolicyRollConfigArgs.builder()
                .batchMinHealthyPercentage(0)
                .batchSizePercentage(0)
                .comment("string")
                .nodeNames("string")
                .nodePoolNames("string")
                .respectPdb(false)
                .respectRestrictScaleDown(false)
                .vngIds("string")
                .build())
            .build())
        .vnetSubnetIds("string")
        .build());
    
    ocean_np_resource = spotinst.azure.OceanNp("oceanNpResource",
        controller_cluster_id="string",
        aks_infrastructure_resource_group_name="string",
        aks_region="string",
        aks_resource_group_name="string",
        aks_cluster_name="string",
        availability_zones=["string"],
        linux_os_configs=[spotinst.azure.OceanNpLinuxOsConfigArgs(
            sysctls=[spotinst.azure.OceanNpLinuxOsConfigSysctlArgs(
                vm_max_map_count=0,
            )],
        )],
        min_count=0,
        fallback_to_ondemand=False,
        filters=spotinst.azure.OceanNpFiltersArgs(
            accelerated_networking="string",
            architectures=["string"],
            disk_performance="string",
            exclude_series=["string"],
            gpu_types=["string"],
            max_gpu=0,
            max_memory_gib=0,
            max_vcpu=0,
            min_disk=0,
            min_gpu=0,
            min_memory_gib=0,
            min_nics=0,
            min_vcpu=0,
            series=["string"],
            vm_types=["string"],
        ),
        headrooms=[spotinst.azure.OceanNpHeadroomArgs(
            cpu_per_unit=0,
            gpu_per_unit=0,
            memory_per_unit=0,
            num_of_units=0,
        )],
        health=spotinst.azure.OceanNpHealthArgs(
            grace_period=0,
        ),
        kubernetes_version="string",
        labels={
            "string": "any",
        },
        autoscaler=spotinst.azure.OceanNpAutoscalerArgs(
            autoscale_down=spotinst.azure.OceanNpAutoscalerAutoscaleDownArgs(
                max_scale_down_percentage=0,
            ),
            autoscale_headroom=spotinst.azure.OceanNpAutoscalerAutoscaleHeadroomArgs(
                automatic=spotinst.azure.OceanNpAutoscalerAutoscaleHeadroomAutomaticArgs(
                    is_enabled=False,
                    percentage=0,
                ),
            ),
            autoscale_is_enabled=False,
            resource_limits=spotinst.azure.OceanNpAutoscalerResourceLimitsArgs(
                max_memory_gib=0,
                max_vcpu=0,
            ),
        ),
        max_count=0,
        max_pods_per_node=0,
        enable_node_public_ip=False,
        name="string",
        os_disk_size_gb=0,
        os_disk_type="string",
        os_sku="string",
        os_type="string",
        pod_subnet_ids=["string"],
        scheduling=spotinst.azure.OceanNpSchedulingArgs(
            shutdown_hours=spotinst.azure.OceanNpSchedulingShutdownHoursArgs(
                is_enabled=False,
                time_windows=["string"],
            ),
            tasks=[spotinst.azure.OceanNpSchedulingTaskArgs(
                cron_expression="string",
                is_enabled=False,
                task_type="string",
                parameters=spotinst.azure.OceanNpSchedulingTaskParametersArgs(
                    parameters_cluster_roll=spotinst.azure.OceanNpSchedulingTaskParametersParametersClusterRollArgs(
                        batch_min_healthy_percentage=0,
                        batch_size_percentage=0,
                        comment="string",
                        respect_pdb=False,
                        respect_restrict_scale_down=False,
                        vng_ids=["string"],
                    ),
                ),
            )],
        ),
        spot_percentage=0,
        tags={
            "string": "any",
        },
        taints=[spotinst.azure.OceanNpTaintArgs(
            effect="string",
            key="string",
            value="string",
        )],
        update_policy=spotinst.azure.OceanNpUpdatePolicyArgs(
            should_roll=False,
            conditioned_roll=False,
            roll_config=spotinst.azure.OceanNpUpdatePolicyRollConfigArgs(
                batch_min_healthy_percentage=0,
                batch_size_percentage=0,
                comment="string",
                node_names=["string"],
                node_pool_names=["string"],
                respect_pdb=False,
                respect_restrict_scale_down=False,
                vng_ids=["string"],
            ),
        ),
        vnet_subnet_ids=["string"])
    
    const oceanNpResource = new spotinst.azure.OceanNp("oceanNpResource", {
        controllerClusterId: "string",
        aksInfrastructureResourceGroupName: "string",
        aksRegion: "string",
        aksResourceGroupName: "string",
        aksClusterName: "string",
        availabilityZones: ["string"],
        linuxOsConfigs: [{
            sysctls: [{
                vmMaxMapCount: 0,
            }],
        }],
        minCount: 0,
        fallbackToOndemand: false,
        filters: {
            acceleratedNetworking: "string",
            architectures: ["string"],
            diskPerformance: "string",
            excludeSeries: ["string"],
            gpuTypes: ["string"],
            maxGpu: 0,
            maxMemoryGib: 0,
            maxVcpu: 0,
            minDisk: 0,
            minGpu: 0,
            minMemoryGib: 0,
            minNics: 0,
            minVcpu: 0,
            series: ["string"],
            vmTypes: ["string"],
        },
        headrooms: [{
            cpuPerUnit: 0,
            gpuPerUnit: 0,
            memoryPerUnit: 0,
            numOfUnits: 0,
        }],
        health: {
            gracePeriod: 0,
        },
        kubernetesVersion: "string",
        labels: {
            string: "any",
        },
        autoscaler: {
            autoscaleDown: {
                maxScaleDownPercentage: 0,
            },
            autoscaleHeadroom: {
                automatic: {
                    isEnabled: false,
                    percentage: 0,
                },
            },
            autoscaleIsEnabled: false,
            resourceLimits: {
                maxMemoryGib: 0,
                maxVcpu: 0,
            },
        },
        maxCount: 0,
        maxPodsPerNode: 0,
        enableNodePublicIp: false,
        name: "string",
        osDiskSizeGb: 0,
        osDiskType: "string",
        osSku: "string",
        osType: "string",
        podSubnetIds: ["string"],
        scheduling: {
            shutdownHours: {
                isEnabled: false,
                timeWindows: ["string"],
            },
            tasks: [{
                cronExpression: "string",
                isEnabled: false,
                taskType: "string",
                parameters: {
                    parametersClusterRoll: {
                        batchMinHealthyPercentage: 0,
                        batchSizePercentage: 0,
                        comment: "string",
                        respectPdb: false,
                        respectRestrictScaleDown: false,
                        vngIds: ["string"],
                    },
                },
            }],
        },
        spotPercentage: 0,
        tags: {
            string: "any",
        },
        taints: [{
            effect: "string",
            key: "string",
            value: "string",
        }],
        updatePolicy: {
            shouldRoll: false,
            conditionedRoll: false,
            rollConfig: {
                batchMinHealthyPercentage: 0,
                batchSizePercentage: 0,
                comment: "string",
                nodeNames: ["string"],
                nodePoolNames: ["string"],
                respectPdb: false,
                respectRestrictScaleDown: false,
                vngIds: ["string"],
            },
        },
        vnetSubnetIds: ["string"],
    });
    
    type: spotinst:azure:OceanNp
    properties:
        aksClusterName: string
        aksInfrastructureResourceGroupName: string
        aksRegion: string
        aksResourceGroupName: string
        autoscaler:
            autoscaleDown:
                maxScaleDownPercentage: 0
            autoscaleHeadroom:
                automatic:
                    isEnabled: false
                    percentage: 0
            autoscaleIsEnabled: false
            resourceLimits:
                maxMemoryGib: 0
                maxVcpu: 0
        availabilityZones:
            - string
        controllerClusterId: string
        enableNodePublicIp: false
        fallbackToOndemand: false
        filters:
            acceleratedNetworking: string
            architectures:
                - string
            diskPerformance: string
            excludeSeries:
                - string
            gpuTypes:
                - string
            maxGpu: 0
            maxMemoryGib: 0
            maxVcpu: 0
            minDisk: 0
            minGpu: 0
            minMemoryGib: 0
            minNics: 0
            minVcpu: 0
            series:
                - string
            vmTypes:
                - string
        headrooms:
            - cpuPerUnit: 0
              gpuPerUnit: 0
              memoryPerUnit: 0
              numOfUnits: 0
        health:
            gracePeriod: 0
        kubernetesVersion: string
        labels:
            string: any
        linuxOsConfigs:
            - sysctls:
                - vmMaxMapCount: 0
        maxCount: 0
        maxPodsPerNode: 0
        minCount: 0
        name: string
        osDiskSizeGb: 0
        osDiskType: string
        osSku: string
        osType: string
        podSubnetIds:
            - string
        scheduling:
            shutdownHours:
                isEnabled: false
                timeWindows:
                    - string
            tasks:
                - cronExpression: string
                  isEnabled: false
                  parameters:
                    parametersClusterRoll:
                        batchMinHealthyPercentage: 0
                        batchSizePercentage: 0
                        comment: string
                        respectPdb: false
                        respectRestrictScaleDown: false
                        vngIds:
                            - string
                  taskType: string
        spotPercentage: 0
        tags:
            string: any
        taints:
            - effect: string
              key: string
              value: string
        updatePolicy:
            conditionedRoll: false
            rollConfig:
                batchMinHealthyPercentage: 0
                batchSizePercentage: 0
                comment: string
                nodeNames:
                    - string
                nodePoolNames:
                    - string
                respectPdb: false
                respectRestrictScaleDown: false
                vngIds:
                    - string
            shouldRoll: false
        vnetSubnetIds:
            - string
    

    OceanNp 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 OceanNp resource accepts the following input properties:

    AksClusterName string
    AksInfrastructureResourceGroupName string
    AksRegion string
    AksResourceGroupName string
    AvailabilityZones List<string>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    ControllerClusterId string
    Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
    Autoscaler Pulumi.SpotInst.Azure.Inputs.OceanNpAutoscaler
    The Ocean Kubernetes Autoscaler object.
    EnableNodePublicIp bool
    Enable node public IP.
    FallbackToOndemand bool
    If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
    Filters Pulumi.SpotInst.Azure.Inputs.OceanNpFilters
    Filters for the VM sizes that can be launched from the virtual node group.
    Headrooms List<Pulumi.SpotInst.Azure.Inputs.OceanNpHeadroom>
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    Health Pulumi.SpotInst.Azure.Inputs.OceanNpHealth
    The Ocean AKS Health object.
    KubernetesVersion string
    The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
    Labels Dictionary<string, object>
    An array of labels to add to the virtual node group. Only custom user labels are allowed, and not Kubernetes well-known labels or Azure AKS labels or Spot labels.
    LinuxOsConfigs List<Pulumi.SpotInst.Azure.Inputs.OceanNpLinuxOsConfig>
    Custom Linux OS configuration.
    MaxCount int
    Maximum node count limit.
    MaxPodsPerNode int
    The maximum number of pods per node in the node pools.
    MinCount int
    Minimum node count limit.
    Name string
    Add a name for the Ocean cluster.
    OsDiskSizeGb int
    The size of the OS disk in GB.
    OsDiskType string
    The type of the OS disk.
    OsSku string
    The OS SKU of the OS type. Must correlate with the os type.
    OsType string
    The OS type of the OS disk. Can't be modified once set.
    PodSubnetIds List<string>
    The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
    Scheduling Pulumi.SpotInst.Azure.Inputs.OceanNpScheduling
    SpotPercentage int
    Percentage of spot VMs to maintain.
    Tags Dictionary<string, object>
    Taints List<Pulumi.SpotInst.Azure.Inputs.OceanNpTaint>
    Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
    UpdatePolicy Pulumi.SpotInst.Azure.Inputs.OceanNpUpdatePolicy
    VnetSubnetIds List<string>
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    AksClusterName string
    AksInfrastructureResourceGroupName string
    AksRegion string
    AksResourceGroupName string
    AvailabilityZones []string
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    ControllerClusterId string
    Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
    Autoscaler OceanNpAutoscalerArgs
    The Ocean Kubernetes Autoscaler object.
    EnableNodePublicIp bool
    Enable node public IP.
    FallbackToOndemand bool
    If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
    Filters OceanNpFiltersArgs
    Filters for the VM sizes that can be launched from the virtual node group.
    Headrooms []OceanNpHeadroomArgs
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    Health OceanNpHealthArgs
    The Ocean AKS Health object.
    KubernetesVersion string
    The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
    Labels map[string]interface{}
    An array of labels to add to the virtual node group. Only custom user labels are allowed, and not Kubernetes well-known labels or Azure AKS labels or Spot labels.
    LinuxOsConfigs []OceanNpLinuxOsConfigArgs
    Custom Linux OS configuration.
    MaxCount int
    Maximum node count limit.
    MaxPodsPerNode int
    The maximum number of pods per node in the node pools.
    MinCount int
    Minimum node count limit.
    Name string
    Add a name for the Ocean cluster.
    OsDiskSizeGb int
    The size of the OS disk in GB.
    OsDiskType string
    The type of the OS disk.
    OsSku string
    The OS SKU of the OS type. Must correlate with the os type.
    OsType string
    The OS type of the OS disk. Can't be modified once set.
    PodSubnetIds []string
    The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
    Scheduling OceanNpSchedulingArgs
    SpotPercentage int
    Percentage of spot VMs to maintain.
    Tags map[string]interface{}
    Taints []OceanNpTaintArgs
    Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
    UpdatePolicy OceanNpUpdatePolicyArgs
    VnetSubnetIds []string
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    aksClusterName String
    aksInfrastructureResourceGroupName String
    aksRegion String
    aksResourceGroupName String
    availabilityZones List<String>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    controllerClusterId String
    Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
    autoscaler OceanNpAutoscaler
    The Ocean Kubernetes Autoscaler object.
    enableNodePublicIp Boolean
    Enable node public IP.
    fallbackToOndemand Boolean
    If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
    filters OceanNpFilters
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms List<OceanNpHeadroom>
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    health OceanNpHealth
    The Ocean AKS Health object.
    kubernetesVersion String
    The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
    labels Map<String,Object>
    An array of labels to add to the virtual node group. Only custom user labels are allowed, and not Kubernetes well-known labels or Azure AKS labels or Spot labels.
    linuxOsConfigs List<OceanNpLinuxOsConfig>
    Custom Linux OS configuration.
    maxCount Integer
    Maximum node count limit.
    maxPodsPerNode Integer
    The maximum number of pods per node in the node pools.
    minCount Integer
    Minimum node count limit.
    name String
    Add a name for the Ocean cluster.
    osDiskSizeGb Integer
    The size of the OS disk in GB.
    osDiskType String
    The type of the OS disk.
    osSku String
    The OS SKU of the OS type. Must correlate with the os type.
    osType String
    The OS type of the OS disk. Can't be modified once set.
    podSubnetIds List<String>
    The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
    scheduling OceanNpScheduling
    spotPercentage Integer
    Percentage of spot VMs to maintain.
    tags Map<String,Object>
    taints List<OceanNpTaint>
    Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
    updatePolicy OceanNpUpdatePolicy
    vnetSubnetIds List<String>
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    aksClusterName string
    aksInfrastructureResourceGroupName string
    aksRegion string
    aksResourceGroupName string
    availabilityZones string[]
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    controllerClusterId string
    Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
    autoscaler OceanNpAutoscaler
    The Ocean Kubernetes Autoscaler object.
    enableNodePublicIp boolean
    Enable node public IP.
    fallbackToOndemand boolean
    If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
    filters OceanNpFilters
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms OceanNpHeadroom[]
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    health OceanNpHealth
    The Ocean AKS Health object.
    kubernetesVersion string
    The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
    labels {[key: string]: any}
    An array of labels to add to the virtual node group. Only custom user labels are allowed, and not Kubernetes well-known labels or Azure AKS labels or Spot labels.
    linuxOsConfigs OceanNpLinuxOsConfig[]
    Custom Linux OS configuration.
    maxCount number
    Maximum node count limit.
    maxPodsPerNode number
    The maximum number of pods per node in the node pools.
    minCount number
    Minimum node count limit.
    name string
    Add a name for the Ocean cluster.
    osDiskSizeGb number
    The size of the OS disk in GB.
    osDiskType string
    The type of the OS disk.
    osSku string
    The OS SKU of the OS type. Must correlate with the os type.
    osType string
    The OS type of the OS disk. Can't be modified once set.
    podSubnetIds string[]
    The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
    scheduling OceanNpScheduling
    spotPercentage number
    Percentage of spot VMs to maintain.
    tags {[key: string]: any}
    taints OceanNpTaint[]
    Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
    updatePolicy OceanNpUpdatePolicy
    vnetSubnetIds string[]
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    aks_cluster_name str
    aks_infrastructure_resource_group_name str
    aks_region str
    aks_resource_group_name str
    availability_zones Sequence[str]
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    controller_cluster_id str
    Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
    autoscaler OceanNpAutoscalerArgs
    The Ocean Kubernetes Autoscaler object.
    enable_node_public_ip bool
    Enable node public IP.
    fallback_to_ondemand bool
    If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
    filters OceanNpFiltersArgs
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms Sequence[OceanNpHeadroomArgs]
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    health OceanNpHealthArgs
    The Ocean AKS Health object.
    kubernetes_version str
    The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
    labels Mapping[str, Any]
    An array of labels to add to the virtual node group. Only custom user labels are allowed, and not Kubernetes well-known labels or Azure AKS labels or Spot labels.
    linux_os_configs Sequence[OceanNpLinuxOsConfigArgs]
    Custom Linux OS configuration.
    max_count int
    Maximum node count limit.
    max_pods_per_node int
    The maximum number of pods per node in the node pools.
    min_count int
    Minimum node count limit.
    name str
    Add a name for the Ocean cluster.
    os_disk_size_gb int
    The size of the OS disk in GB.
    os_disk_type str
    The type of the OS disk.
    os_sku str
    The OS SKU of the OS type. Must correlate with the os type.
    os_type str
    The OS type of the OS disk. Can't be modified once set.
    pod_subnet_ids Sequence[str]
    The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
    scheduling OceanNpSchedulingArgs
    spot_percentage int
    Percentage of spot VMs to maintain.
    tags Mapping[str, Any]
    taints Sequence[OceanNpTaintArgs]
    Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
    update_policy OceanNpUpdatePolicyArgs
    vnet_subnet_ids Sequence[str]
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    aksClusterName String
    aksInfrastructureResourceGroupName String
    aksRegion String
    aksResourceGroupName String
    availabilityZones List<String>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    controllerClusterId String
    Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
    autoscaler Property Map
    The Ocean Kubernetes Autoscaler object.
    enableNodePublicIp Boolean
    Enable node public IP.
    fallbackToOndemand Boolean
    If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
    filters Property Map
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms List<Property Map>
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    health Property Map
    The Ocean AKS Health object.
    kubernetesVersion String
    The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
    labels Map<Any>
    An array of labels to add to the virtual node group. Only custom user labels are allowed, and not Kubernetes well-known labels or Azure AKS labels or Spot labels.
    linuxOsConfigs List<Property Map>
    Custom Linux OS configuration.
    maxCount Number
    Maximum node count limit.
    maxPodsPerNode Number
    The maximum number of pods per node in the node pools.
    minCount Number
    Minimum node count limit.
    name String
    Add a name for the Ocean cluster.
    osDiskSizeGb Number
    The size of the OS disk in GB.
    osDiskType String
    The type of the OS disk.
    osSku String
    The OS SKU of the OS type. Must correlate with the os type.
    osType String
    The OS type of the OS disk. Can't be modified once set.
    podSubnetIds List<String>
    The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
    scheduling Property Map
    spotPercentage Number
    Percentage of spot VMs to maintain.
    tags Map<Any>
    taints List<Property Map>
    Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
    updatePolicy Property Map
    vnetSubnetIds List<String>
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).

    Outputs

    All input properties are implicitly available as output properties. Additionally, the OceanNp resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing OceanNp Resource

    Get an existing OceanNp 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?: OceanNpState, opts?: CustomResourceOptions): OceanNp
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            aks_cluster_name: Optional[str] = None,
            aks_infrastructure_resource_group_name: Optional[str] = None,
            aks_region: Optional[str] = None,
            aks_resource_group_name: Optional[str] = None,
            autoscaler: Optional[OceanNpAutoscalerArgs] = None,
            availability_zones: Optional[Sequence[str]] = None,
            controller_cluster_id: Optional[str] = None,
            enable_node_public_ip: Optional[bool] = None,
            fallback_to_ondemand: Optional[bool] = None,
            filters: Optional[OceanNpFiltersArgs] = None,
            headrooms: Optional[Sequence[OceanNpHeadroomArgs]] = None,
            health: Optional[OceanNpHealthArgs] = None,
            kubernetes_version: Optional[str] = None,
            labels: Optional[Mapping[str, Any]] = None,
            linux_os_configs: Optional[Sequence[OceanNpLinuxOsConfigArgs]] = None,
            max_count: Optional[int] = None,
            max_pods_per_node: Optional[int] = None,
            min_count: Optional[int] = None,
            name: Optional[str] = None,
            os_disk_size_gb: Optional[int] = None,
            os_disk_type: Optional[str] = None,
            os_sku: Optional[str] = None,
            os_type: Optional[str] = None,
            pod_subnet_ids: Optional[Sequence[str]] = None,
            scheduling: Optional[OceanNpSchedulingArgs] = None,
            spot_percentage: Optional[int] = None,
            tags: Optional[Mapping[str, Any]] = None,
            taints: Optional[Sequence[OceanNpTaintArgs]] = None,
            update_policy: Optional[OceanNpUpdatePolicyArgs] = None,
            vnet_subnet_ids: Optional[Sequence[str]] = None) -> OceanNp
    func GetOceanNp(ctx *Context, name string, id IDInput, state *OceanNpState, opts ...ResourceOption) (*OceanNp, error)
    public static OceanNp Get(string name, Input<string> id, OceanNpState? state, CustomResourceOptions? opts = null)
    public static OceanNp get(String name, Output<String> id, OceanNpState 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:
    AksClusterName string
    AksInfrastructureResourceGroupName string
    AksRegion string
    AksResourceGroupName string
    Autoscaler Pulumi.SpotInst.Azure.Inputs.OceanNpAutoscaler
    The Ocean Kubernetes Autoscaler object.
    AvailabilityZones List<string>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    ControllerClusterId string
    Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
    EnableNodePublicIp bool
    Enable node public IP.
    FallbackToOndemand bool
    If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
    Filters Pulumi.SpotInst.Azure.Inputs.OceanNpFilters
    Filters for the VM sizes that can be launched from the virtual node group.
    Headrooms List<Pulumi.SpotInst.Azure.Inputs.OceanNpHeadroom>
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    Health Pulumi.SpotInst.Azure.Inputs.OceanNpHealth
    The Ocean AKS Health object.
    KubernetesVersion string
    The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
    Labels Dictionary<string, object>
    An array of labels to add to the virtual node group. Only custom user labels are allowed, and not Kubernetes well-known labels or Azure AKS labels or Spot labels.
    LinuxOsConfigs List<Pulumi.SpotInst.Azure.Inputs.OceanNpLinuxOsConfig>
    Custom Linux OS configuration.
    MaxCount int
    Maximum node count limit.
    MaxPodsPerNode int
    The maximum number of pods per node in the node pools.
    MinCount int
    Minimum node count limit.
    Name string
    Add a name for the Ocean cluster.
    OsDiskSizeGb int
    The size of the OS disk in GB.
    OsDiskType string
    The type of the OS disk.
    OsSku string
    The OS SKU of the OS type. Must correlate with the os type.
    OsType string
    The OS type of the OS disk. Can't be modified once set.
    PodSubnetIds List<string>
    The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
    Scheduling Pulumi.SpotInst.Azure.Inputs.OceanNpScheduling
    SpotPercentage int
    Percentage of spot VMs to maintain.
    Tags Dictionary<string, object>
    Taints List<Pulumi.SpotInst.Azure.Inputs.OceanNpTaint>
    Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
    UpdatePolicy Pulumi.SpotInst.Azure.Inputs.OceanNpUpdatePolicy
    VnetSubnetIds List<string>
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    AksClusterName string
    AksInfrastructureResourceGroupName string
    AksRegion string
    AksResourceGroupName string
    Autoscaler OceanNpAutoscalerArgs
    The Ocean Kubernetes Autoscaler object.
    AvailabilityZones []string
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    ControllerClusterId string
    Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
    EnableNodePublicIp bool
    Enable node public IP.
    FallbackToOndemand bool
    If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
    Filters OceanNpFiltersArgs
    Filters for the VM sizes that can be launched from the virtual node group.
    Headrooms []OceanNpHeadroomArgs
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    Health OceanNpHealthArgs
    The Ocean AKS Health object.
    KubernetesVersion string
    The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
    Labels map[string]interface{}
    An array of labels to add to the virtual node group. Only custom user labels are allowed, and not Kubernetes well-known labels or Azure AKS labels or Spot labels.
    LinuxOsConfigs []OceanNpLinuxOsConfigArgs
    Custom Linux OS configuration.
    MaxCount int
    Maximum node count limit.
    MaxPodsPerNode int
    The maximum number of pods per node in the node pools.
    MinCount int
    Minimum node count limit.
    Name string
    Add a name for the Ocean cluster.
    OsDiskSizeGb int
    The size of the OS disk in GB.
    OsDiskType string
    The type of the OS disk.
    OsSku string
    The OS SKU of the OS type. Must correlate with the os type.
    OsType string
    The OS type of the OS disk. Can't be modified once set.
    PodSubnetIds []string
    The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
    Scheduling OceanNpSchedulingArgs
    SpotPercentage int
    Percentage of spot VMs to maintain.
    Tags map[string]interface{}
    Taints []OceanNpTaintArgs
    Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
    UpdatePolicy OceanNpUpdatePolicyArgs
    VnetSubnetIds []string
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    aksClusterName String
    aksInfrastructureResourceGroupName String
    aksRegion String
    aksResourceGroupName String
    autoscaler OceanNpAutoscaler
    The Ocean Kubernetes Autoscaler object.
    availabilityZones List<String>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    controllerClusterId String
    Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
    enableNodePublicIp Boolean
    Enable node public IP.
    fallbackToOndemand Boolean
    If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
    filters OceanNpFilters
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms List<OceanNpHeadroom>
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    health OceanNpHealth
    The Ocean AKS Health object.
    kubernetesVersion String
    The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
    labels Map<String,Object>
    An array of labels to add to the virtual node group. Only custom user labels are allowed, and not Kubernetes well-known labels or Azure AKS labels or Spot labels.
    linuxOsConfigs List<OceanNpLinuxOsConfig>
    Custom Linux OS configuration.
    maxCount Integer
    Maximum node count limit.
    maxPodsPerNode Integer
    The maximum number of pods per node in the node pools.
    minCount Integer
    Minimum node count limit.
    name String
    Add a name for the Ocean cluster.
    osDiskSizeGb Integer
    The size of the OS disk in GB.
    osDiskType String
    The type of the OS disk.
    osSku String
    The OS SKU of the OS type. Must correlate with the os type.
    osType String
    The OS type of the OS disk. Can't be modified once set.
    podSubnetIds List<String>
    The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
    scheduling OceanNpScheduling
    spotPercentage Integer
    Percentage of spot VMs to maintain.
    tags Map<String,Object>
    taints List<OceanNpTaint>
    Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
    updatePolicy OceanNpUpdatePolicy
    vnetSubnetIds List<String>
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    aksClusterName string
    aksInfrastructureResourceGroupName string
    aksRegion string
    aksResourceGroupName string
    autoscaler OceanNpAutoscaler
    The Ocean Kubernetes Autoscaler object.
    availabilityZones string[]
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    controllerClusterId string
    Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
    enableNodePublicIp boolean
    Enable node public IP.
    fallbackToOndemand boolean
    If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
    filters OceanNpFilters
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms OceanNpHeadroom[]
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    health OceanNpHealth
    The Ocean AKS Health object.
    kubernetesVersion string
    The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
    labels {[key: string]: any}
    An array of labels to add to the virtual node group. Only custom user labels are allowed, and not Kubernetes well-known labels or Azure AKS labels or Spot labels.
    linuxOsConfigs OceanNpLinuxOsConfig[]
    Custom Linux OS configuration.
    maxCount number
    Maximum node count limit.
    maxPodsPerNode number
    The maximum number of pods per node in the node pools.
    minCount number
    Minimum node count limit.
    name string
    Add a name for the Ocean cluster.
    osDiskSizeGb number
    The size of the OS disk in GB.
    osDiskType string
    The type of the OS disk.
    osSku string
    The OS SKU of the OS type. Must correlate with the os type.
    osType string
    The OS type of the OS disk. Can't be modified once set.
    podSubnetIds string[]
    The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
    scheduling OceanNpScheduling
    spotPercentage number
    Percentage of spot VMs to maintain.
    tags {[key: string]: any}
    taints OceanNpTaint[]
    Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
    updatePolicy OceanNpUpdatePolicy
    vnetSubnetIds string[]
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    aks_cluster_name str
    aks_infrastructure_resource_group_name str
    aks_region str
    aks_resource_group_name str
    autoscaler OceanNpAutoscalerArgs
    The Ocean Kubernetes Autoscaler object.
    availability_zones Sequence[str]
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    controller_cluster_id str
    Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
    enable_node_public_ip bool
    Enable node public IP.
    fallback_to_ondemand bool
    If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
    filters OceanNpFiltersArgs
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms Sequence[OceanNpHeadroomArgs]
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    health OceanNpHealthArgs
    The Ocean AKS Health object.
    kubernetes_version str
    The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
    labels Mapping[str, Any]
    An array of labels to add to the virtual node group. Only custom user labels are allowed, and not Kubernetes well-known labels or Azure AKS labels or Spot labels.
    linux_os_configs Sequence[OceanNpLinuxOsConfigArgs]
    Custom Linux OS configuration.
    max_count int
    Maximum node count limit.
    max_pods_per_node int
    The maximum number of pods per node in the node pools.
    min_count int
    Minimum node count limit.
    name str
    Add a name for the Ocean cluster.
    os_disk_size_gb int
    The size of the OS disk in GB.
    os_disk_type str
    The type of the OS disk.
    os_sku str
    The OS SKU of the OS type. Must correlate with the os type.
    os_type str
    The OS type of the OS disk. Can't be modified once set.
    pod_subnet_ids Sequence[str]
    The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
    scheduling OceanNpSchedulingArgs
    spot_percentage int
    Percentage of spot VMs to maintain.
    tags Mapping[str, Any]
    taints Sequence[OceanNpTaintArgs]
    Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
    update_policy OceanNpUpdatePolicyArgs
    vnet_subnet_ids Sequence[str]
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    aksClusterName String
    aksInfrastructureResourceGroupName String
    aksRegion String
    aksResourceGroupName String
    autoscaler Property Map
    The Ocean Kubernetes Autoscaler object.
    availabilityZones List<String>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    controllerClusterId String
    Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
    enableNodePublicIp Boolean
    Enable node public IP.
    fallbackToOndemand Boolean
    If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
    filters Property Map
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms List<Property Map>
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    health Property Map
    The Ocean AKS Health object.
    kubernetesVersion String
    The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
    labels Map<Any>
    An array of labels to add to the virtual node group. Only custom user labels are allowed, and not Kubernetes well-known labels or Azure AKS labels or Spot labels.
    linuxOsConfigs List<Property Map>
    Custom Linux OS configuration.
    maxCount Number
    Maximum node count limit.
    maxPodsPerNode Number
    The maximum number of pods per node in the node pools.
    minCount Number
    Minimum node count limit.
    name String
    Add a name for the Ocean cluster.
    osDiskSizeGb Number
    The size of the OS disk in GB.
    osDiskType String
    The type of the OS disk.
    osSku String
    The OS SKU of the OS type. Must correlate with the os type.
    osType String
    The OS type of the OS disk. Can't be modified once set.
    podSubnetIds List<String>
    The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
    scheduling Property Map
    spotPercentage Number
    Percentage of spot VMs to maintain.
    tags Map<Any>
    taints List<Property Map>
    Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
    updatePolicy Property Map
    vnetSubnetIds List<String>
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).

    Supporting Types

    OceanNpAutoscaler, OceanNpAutoscalerArgs

    AutoscaleDown Pulumi.SpotInst.Azure.Inputs.OceanNpAutoscalerAutoscaleDown
    Auto Scaling scale down operations.
    AutoscaleHeadroom Pulumi.SpotInst.Azure.Inputs.OceanNpAutoscalerAutoscaleHeadroom
    Spare resource capacity management enabling fast assignment of pods without waiting for new resources to launch.
    AutoscaleIsEnabled bool
    Enable the Ocean Kubernetes Autoscaler.
    ResourceLimits Pulumi.SpotInst.Azure.Inputs.OceanNpAutoscalerResourceLimits
    Optionally set upper and lower bounds on the resource usage of the cluster.
    AutoscaleDown OceanNpAutoscalerAutoscaleDown
    Auto Scaling scale down operations.
    AutoscaleHeadroom OceanNpAutoscalerAutoscaleHeadroom
    Spare resource capacity management enabling fast assignment of pods without waiting for new resources to launch.
    AutoscaleIsEnabled bool
    Enable the Ocean Kubernetes Autoscaler.
    ResourceLimits OceanNpAutoscalerResourceLimits
    Optionally set upper and lower bounds on the resource usage of the cluster.
    autoscaleDown OceanNpAutoscalerAutoscaleDown
    Auto Scaling scale down operations.
    autoscaleHeadroom OceanNpAutoscalerAutoscaleHeadroom
    Spare resource capacity management enabling fast assignment of pods without waiting for new resources to launch.
    autoscaleIsEnabled Boolean
    Enable the Ocean Kubernetes Autoscaler.
    resourceLimits OceanNpAutoscalerResourceLimits
    Optionally set upper and lower bounds on the resource usage of the cluster.
    autoscaleDown OceanNpAutoscalerAutoscaleDown
    Auto Scaling scale down operations.
    autoscaleHeadroom OceanNpAutoscalerAutoscaleHeadroom
    Spare resource capacity management enabling fast assignment of pods without waiting for new resources to launch.
    autoscaleIsEnabled boolean
    Enable the Ocean Kubernetes Autoscaler.
    resourceLimits OceanNpAutoscalerResourceLimits
    Optionally set upper and lower bounds on the resource usage of the cluster.
    autoscale_down OceanNpAutoscalerAutoscaleDown
    Auto Scaling scale down operations.
    autoscale_headroom OceanNpAutoscalerAutoscaleHeadroom
    Spare resource capacity management enabling fast assignment of pods without waiting for new resources to launch.
    autoscale_is_enabled bool
    Enable the Ocean Kubernetes Autoscaler.
    resource_limits OceanNpAutoscalerResourceLimits
    Optionally set upper and lower bounds on the resource usage of the cluster.
    autoscaleDown Property Map
    Auto Scaling scale down operations.
    autoscaleHeadroom Property Map
    Spare resource capacity management enabling fast assignment of pods without waiting for new resources to launch.
    autoscaleIsEnabled Boolean
    Enable the Ocean Kubernetes Autoscaler.
    resourceLimits Property Map
    Optionally set upper and lower bounds on the resource usage of the cluster.

    OceanNpAutoscalerAutoscaleDown, OceanNpAutoscalerAutoscaleDownArgs

    MaxScaleDownPercentage int
    The maximum percentage allowed to scale down in a single scaling action.
    MaxScaleDownPercentage int
    The maximum percentage allowed to scale down in a single scaling action.
    maxScaleDownPercentage Integer
    The maximum percentage allowed to scale down in a single scaling action.
    maxScaleDownPercentage number
    The maximum percentage allowed to scale down in a single scaling action.
    max_scale_down_percentage int
    The maximum percentage allowed to scale down in a single scaling action.
    maxScaleDownPercentage Number
    The maximum percentage allowed to scale down in a single scaling action.

    OceanNpAutoscalerAutoscaleHeadroom, OceanNpAutoscalerAutoscaleHeadroomArgs

    OceanNpAutoscalerAutoscaleHeadroomAutomatic, OceanNpAutoscalerAutoscaleHeadroomAutomaticArgs

    IsEnabled bool
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    Percentage int
    Optionally set a number between 0-100 to control the percentage of total cluster resources dedicated to headroom.
    IsEnabled bool
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    Percentage int
    Optionally set a number between 0-100 to control the percentage of total cluster resources dedicated to headroom.
    isEnabled Boolean
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    percentage Integer
    Optionally set a number between 0-100 to control the percentage of total cluster resources dedicated to headroom.
    isEnabled boolean
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    percentage number
    Optionally set a number between 0-100 to control the percentage of total cluster resources dedicated to headroom.
    is_enabled bool
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    percentage int
    Optionally set a number between 0-100 to control the percentage of total cluster resources dedicated to headroom.
    isEnabled Boolean
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    percentage Number
    Optionally set a number between 0-100 to control the percentage of total cluster resources dedicated to headroom.

    OceanNpAutoscalerResourceLimits, OceanNpAutoscalerResourceLimitsArgs

    MaxMemoryGib int
    The maximum memory in GiB units that can be allocated to the cluster.
    MaxVcpu int
    The maximum cpu in vCpu units that can be allocated to the cluster.
    MaxMemoryGib int
    The maximum memory in GiB units that can be allocated to the cluster.
    MaxVcpu int
    The maximum cpu in vCpu units that can be allocated to the cluster.
    maxMemoryGib Integer
    The maximum memory in GiB units that can be allocated to the cluster.
    maxVcpu Integer
    The maximum cpu in vCpu units that can be allocated to the cluster.
    maxMemoryGib number
    The maximum memory in GiB units that can be allocated to the cluster.
    maxVcpu number
    The maximum cpu in vCpu units that can be allocated to the cluster.
    max_memory_gib int
    The maximum memory in GiB units that can be allocated to the cluster.
    max_vcpu int
    The maximum cpu in vCpu units that can be allocated to the cluster.
    maxMemoryGib Number
    The maximum memory in GiB units that can be allocated to the cluster.
    maxVcpu Number
    The maximum cpu in vCpu units that can be allocated to the cluster.

    OceanNpFilters, OceanNpFiltersArgs

    AcceleratedNetworking string
    In case acceleratedNetworking is set to Enabled, accelerated networking applies only to the VM that enables it.
    Architectures List<string>
    The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.
    DiskPerformance string
    The filtered vm sizes will support at least one of the classes from this list.
    ExcludeSeries List<string>
    Vm sizes belonging to a series from the list will not be available for scaling
    GpuTypes List<string>
    The filtered gpu types will belong to one of the gpu types from this list.
    MaxGpu double
    Maximum number of GPUs available.
    MaxMemoryGib double
    Maximum amount of Memory (GiB).
    MaxVcpu int
    Maximum number of vcpus available.
    MinDisk int
    Minimum number of data disks available.
    MinGpu double
    Minimum number of GPUs available.
    MinMemoryGib double
    Minimum amount of Memory (GiB).
    MinNics int
    Minimum number of network interfaces.
    MinVcpu int
    Minimum number of vcpus available.
    Series List<string>
    Vm sizes belonging to a series from the list will be available for scaling. We can specify include list and series can be specified with capital or small letters, with space, without space or with underscore '_' . For example all of these "DSv2", "Ds v2", "ds_v2" refer to same DS_v2 series.
    VmTypes List<string>
    The filtered vm types will belong to one of the vm types from this list.
    AcceleratedNetworking string
    In case acceleratedNetworking is set to Enabled, accelerated networking applies only to the VM that enables it.
    Architectures []string
    The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.
    DiskPerformance string
    The filtered vm sizes will support at least one of the classes from this list.
    ExcludeSeries []string
    Vm sizes belonging to a series from the list will not be available for scaling
    GpuTypes []string
    The filtered gpu types will belong to one of the gpu types from this list.
    MaxGpu float64
    Maximum number of GPUs available.
    MaxMemoryGib float64
    Maximum amount of Memory (GiB).
    MaxVcpu int
    Maximum number of vcpus available.
    MinDisk int
    Minimum number of data disks available.
    MinGpu float64
    Minimum number of GPUs available.
    MinMemoryGib float64
    Minimum amount of Memory (GiB).
    MinNics int
    Minimum number of network interfaces.
    MinVcpu int
    Minimum number of vcpus available.
    Series []string
    Vm sizes belonging to a series from the list will be available for scaling. We can specify include list and series can be specified with capital or small letters, with space, without space or with underscore '_' . For example all of these "DSv2", "Ds v2", "ds_v2" refer to same DS_v2 series.
    VmTypes []string
    The filtered vm types will belong to one of the vm types from this list.
    acceleratedNetworking String
    In case acceleratedNetworking is set to Enabled, accelerated networking applies only to the VM that enables it.
    architectures List<String>
    The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.
    diskPerformance String
    The filtered vm sizes will support at least one of the classes from this list.
    excludeSeries List<String>
    Vm sizes belonging to a series from the list will not be available for scaling
    gpuTypes List<String>
    The filtered gpu types will belong to one of the gpu types from this list.
    maxGpu Double
    Maximum number of GPUs available.
    maxMemoryGib Double
    Maximum amount of Memory (GiB).
    maxVcpu Integer
    Maximum number of vcpus available.
    minDisk Integer
    Minimum number of data disks available.
    minGpu Double
    Minimum number of GPUs available.
    minMemoryGib Double
    Minimum amount of Memory (GiB).
    minNics Integer
    Minimum number of network interfaces.
    minVcpu Integer
    Minimum number of vcpus available.
    series List<String>
    Vm sizes belonging to a series from the list will be available for scaling. We can specify include list and series can be specified with capital or small letters, with space, without space or with underscore '_' . For example all of these "DSv2", "Ds v2", "ds_v2" refer to same DS_v2 series.
    vmTypes List<String>
    The filtered vm types will belong to one of the vm types from this list.
    acceleratedNetworking string
    In case acceleratedNetworking is set to Enabled, accelerated networking applies only to the VM that enables it.
    architectures string[]
    The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.
    diskPerformance string
    The filtered vm sizes will support at least one of the classes from this list.
    excludeSeries string[]
    Vm sizes belonging to a series from the list will not be available for scaling
    gpuTypes string[]
    The filtered gpu types will belong to one of the gpu types from this list.
    maxGpu number
    Maximum number of GPUs available.
    maxMemoryGib number
    Maximum amount of Memory (GiB).
    maxVcpu number
    Maximum number of vcpus available.
    minDisk number
    Minimum number of data disks available.
    minGpu number
    Minimum number of GPUs available.
    minMemoryGib number
    Minimum amount of Memory (GiB).
    minNics number
    Minimum number of network interfaces.
    minVcpu number
    Minimum number of vcpus available.
    series string[]
    Vm sizes belonging to a series from the list will be available for scaling. We can specify include list and series can be specified with capital or small letters, with space, without space or with underscore '_' . For example all of these "DSv2", "Ds v2", "ds_v2" refer to same DS_v2 series.
    vmTypes string[]
    The filtered vm types will belong to one of the vm types from this list.
    accelerated_networking str
    In case acceleratedNetworking is set to Enabled, accelerated networking applies only to the VM that enables it.
    architectures Sequence[str]
    The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.
    disk_performance str
    The filtered vm sizes will support at least one of the classes from this list.
    exclude_series Sequence[str]
    Vm sizes belonging to a series from the list will not be available for scaling
    gpu_types Sequence[str]
    The filtered gpu types will belong to one of the gpu types from this list.
    max_gpu float
    Maximum number of GPUs available.
    max_memory_gib float
    Maximum amount of Memory (GiB).
    max_vcpu int
    Maximum number of vcpus available.
    min_disk int
    Minimum number of data disks available.
    min_gpu float
    Minimum number of GPUs available.
    min_memory_gib float
    Minimum amount of Memory (GiB).
    min_nics int
    Minimum number of network interfaces.
    min_vcpu int
    Minimum number of vcpus available.
    series Sequence[str]
    Vm sizes belonging to a series from the list will be available for scaling. We can specify include list and series can be specified with capital or small letters, with space, without space or with underscore '_' . For example all of these "DSv2", "Ds v2", "ds_v2" refer to same DS_v2 series.
    vm_types Sequence[str]
    The filtered vm types will belong to one of the vm types from this list.
    acceleratedNetworking String
    In case acceleratedNetworking is set to Enabled, accelerated networking applies only to the VM that enables it.
    architectures List<String>
    The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.
    diskPerformance String
    The filtered vm sizes will support at least one of the classes from this list.
    excludeSeries List<String>
    Vm sizes belonging to a series from the list will not be available for scaling
    gpuTypes List<String>
    The filtered gpu types will belong to one of the gpu types from this list.
    maxGpu Number
    Maximum number of GPUs available.
    maxMemoryGib Number
    Maximum amount of Memory (GiB).
    maxVcpu Number
    Maximum number of vcpus available.
    minDisk Number
    Minimum number of data disks available.
    minGpu Number
    Minimum number of GPUs available.
    minMemoryGib Number
    Minimum amount of Memory (GiB).
    minNics Number
    Minimum number of network interfaces.
    minVcpu Number
    Minimum number of vcpus available.
    series List<String>
    Vm sizes belonging to a series from the list will be available for scaling. We can specify include list and series can be specified with capital or small letters, with space, without space or with underscore '_' . For example all of these "DSv2", "Ds v2", "ds_v2" refer to same DS_v2 series.
    vmTypes List<String>
    The filtered vm types will belong to one of the vm types from this list.

    OceanNpHeadroom, OceanNpHeadroomArgs

    CpuPerUnit int
    Configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
    GpuPerUnit int
    Amount of GPU to allocate for headroom unit.
    MemoryPerUnit int
    Configure the amount of memory (MiB) to allocate the headroom.
    NumOfUnits int
    The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
    CpuPerUnit int
    Configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
    GpuPerUnit int
    Amount of GPU to allocate for headroom unit.
    MemoryPerUnit int
    Configure the amount of memory (MiB) to allocate the headroom.
    NumOfUnits int
    The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
    cpuPerUnit Integer
    Configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
    gpuPerUnit Integer
    Amount of GPU to allocate for headroom unit.
    memoryPerUnit Integer
    Configure the amount of memory (MiB) to allocate the headroom.
    numOfUnits Integer
    The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
    cpuPerUnit number
    Configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
    gpuPerUnit number
    Amount of GPU to allocate for headroom unit.
    memoryPerUnit number
    Configure the amount of memory (MiB) to allocate the headroom.
    numOfUnits number
    The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
    cpu_per_unit int
    Configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
    gpu_per_unit int
    Amount of GPU to allocate for headroom unit.
    memory_per_unit int
    Configure the amount of memory (MiB) to allocate the headroom.
    num_of_units int
    The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
    cpuPerUnit Number
    Configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
    gpuPerUnit Number
    Amount of GPU to allocate for headroom unit.
    memoryPerUnit Number
    Configure the amount of memory (MiB) to allocate the headroom.
    numOfUnits Number
    The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.

    OceanNpHealth, OceanNpHealthArgs

    GracePeriod int
    The amount of time to wait, in seconds, from the moment the instance has launched until monitoring of its health checks begins.
    GracePeriod int
    The amount of time to wait, in seconds, from the moment the instance has launched until monitoring of its health checks begins.
    gracePeriod Integer
    The amount of time to wait, in seconds, from the moment the instance has launched until monitoring of its health checks begins.
    gracePeriod number
    The amount of time to wait, in seconds, from the moment the instance has launched until monitoring of its health checks begins.
    grace_period int
    The amount of time to wait, in seconds, from the moment the instance has launched until monitoring of its health checks begins.
    gracePeriod Number
    The amount of time to wait, in seconds, from the moment the instance has launched until monitoring of its health checks begins.

    OceanNpLinuxOsConfig, OceanNpLinuxOsConfigArgs

    OceanNpLinuxOsConfigSysctl, OceanNpLinuxOsConfigSysctlArgs

    VmMaxMapCount int
    Maximum number of memory map areas a process may have. Can be configured only if OS type is Linux.
    VmMaxMapCount int
    Maximum number of memory map areas a process may have. Can be configured only if OS type is Linux.
    vmMaxMapCount Integer
    Maximum number of memory map areas a process may have. Can be configured only if OS type is Linux.
    vmMaxMapCount number
    Maximum number of memory map areas a process may have. Can be configured only if OS type is Linux.
    vm_max_map_count int
    Maximum number of memory map areas a process may have. Can be configured only if OS type is Linux.
    vmMaxMapCount Number
    Maximum number of memory map areas a process may have. Can be configured only if OS type is Linux.

    OceanNpScheduling, OceanNpSchedulingArgs

    OceanNpSchedulingShutdownHours, OceanNpSchedulingShutdownHoursArgs

    IsEnabled bool
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    TimeWindows List<string>
    IsEnabled bool
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    TimeWindows []string
    isEnabled Boolean
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    timeWindows List<String>
    isEnabled boolean
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    timeWindows string[]
    is_enabled bool
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    time_windows Sequence[str]
    isEnabled Boolean
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    timeWindows List<String>

    OceanNpSchedulingTask, OceanNpSchedulingTaskArgs

    CronExpression string
    IsEnabled bool
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    TaskType string
    Parameters Pulumi.SpotInst.Azure.Inputs.OceanNpSchedulingTaskParameters
    CronExpression string
    IsEnabled bool
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    TaskType string
    Parameters OceanNpSchedulingTaskParameters
    cronExpression String
    isEnabled Boolean
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    taskType String
    parameters OceanNpSchedulingTaskParameters
    cronExpression string
    isEnabled boolean
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    taskType string
    parameters OceanNpSchedulingTaskParameters
    cron_expression str
    is_enabled bool
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    task_type str
    parameters OceanNpSchedulingTaskParameters
    cronExpression String
    isEnabled Boolean
    Enable automatic headroom. When set to True, Ocean configures and optimizes headroom automatically.
    taskType String
    parameters Property Map

    OceanNpSchedulingTaskParameters, OceanNpSchedulingTaskParametersArgs

    OceanNpSchedulingTaskParametersParametersClusterRoll, OceanNpSchedulingTaskParametersParametersClusterRollArgs

    BatchMinHealthyPercentage int
    Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
    BatchSizePercentage int
    Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
    Comment string
    Add a comment description for the roll. The comment is limited to 256 chars and optional.
    RespectPdb bool
    During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
    RespectRestrictScaleDown bool
    During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
    VngIds List<string>
    List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
    BatchMinHealthyPercentage int
    Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
    BatchSizePercentage int
    Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
    Comment string
    Add a comment description for the roll. The comment is limited to 256 chars and optional.
    RespectPdb bool
    During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
    RespectRestrictScaleDown bool
    During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
    VngIds []string
    List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
    batchMinHealthyPercentage Integer
    Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
    batchSizePercentage Integer
    Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
    comment String
    Add a comment description for the roll. The comment is limited to 256 chars and optional.
    respectPdb Boolean
    During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
    respectRestrictScaleDown Boolean
    During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
    vngIds List<String>
    List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
    batchMinHealthyPercentage number
    Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
    batchSizePercentage number
    Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
    comment string
    Add a comment description for the roll. The comment is limited to 256 chars and optional.
    respectPdb boolean
    During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
    respectRestrictScaleDown boolean
    During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
    vngIds string[]
    List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
    batch_min_healthy_percentage int
    Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
    batch_size_percentage int
    Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
    comment str
    Add a comment description for the roll. The comment is limited to 256 chars and optional.
    respect_pdb bool
    During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
    respect_restrict_scale_down bool
    During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
    vng_ids Sequence[str]
    List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
    batchMinHealthyPercentage Number
    Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
    batchSizePercentage Number
    Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
    comment String
    Add a comment description for the roll. The comment is limited to 256 chars and optional.
    respectPdb Boolean
    During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
    respectRestrictScaleDown Boolean
    During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
    vngIds List<String>
    List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.

    OceanNpTaint, OceanNpTaintArgs

    Effect string
    Set taint effect.
    Key string
    Set taint key. The following taint keys are not allowed: ["node.kubernetes.io/not-ready", "node.kubernetes.io/unreachable", "node.kubernetes.io/unschedulable", "node.kubernetes.io/memory-pressure", "node.kubernetes.io/disk-pressure", "node.kubernetes.io/network-unavailable", "node.kubernetes.io/pid-pressure", "node.kubernetes.io/out-of-service", "node.cloudprovider.kubernetes.io/uninitialized", "node.cloudprovider.kubernetes.io/shutdown", "kubernetes.azure.com/scalesetpriority"]
    Value string
    Set taint value.
    Effect string
    Set taint effect.
    Key string
    Set taint key. The following taint keys are not allowed: ["node.kubernetes.io/not-ready", "node.kubernetes.io/unreachable", "node.kubernetes.io/unschedulable", "node.kubernetes.io/memory-pressure", "node.kubernetes.io/disk-pressure", "node.kubernetes.io/network-unavailable", "node.kubernetes.io/pid-pressure", "node.kubernetes.io/out-of-service", "node.cloudprovider.kubernetes.io/uninitialized", "node.cloudprovider.kubernetes.io/shutdown", "kubernetes.azure.com/scalesetpriority"]
    Value string
    Set taint value.
    effect String
    Set taint effect.
    key String
    Set taint key. The following taint keys are not allowed: ["node.kubernetes.io/not-ready", "node.kubernetes.io/unreachable", "node.kubernetes.io/unschedulable", "node.kubernetes.io/memory-pressure", "node.kubernetes.io/disk-pressure", "node.kubernetes.io/network-unavailable", "node.kubernetes.io/pid-pressure", "node.kubernetes.io/out-of-service", "node.cloudprovider.kubernetes.io/uninitialized", "node.cloudprovider.kubernetes.io/shutdown", "kubernetes.azure.com/scalesetpriority"]
    value String
    Set taint value.
    effect string
    Set taint effect.
    key string
    Set taint key. The following taint keys are not allowed: ["node.kubernetes.io/not-ready", "node.kubernetes.io/unreachable", "node.kubernetes.io/unschedulable", "node.kubernetes.io/memory-pressure", "node.kubernetes.io/disk-pressure", "node.kubernetes.io/network-unavailable", "node.kubernetes.io/pid-pressure", "node.kubernetes.io/out-of-service", "node.cloudprovider.kubernetes.io/uninitialized", "node.cloudprovider.kubernetes.io/shutdown", "kubernetes.azure.com/scalesetpriority"]
    value string
    Set taint value.
    effect str
    Set taint effect.
    key str
    Set taint key. The following taint keys are not allowed: ["node.kubernetes.io/not-ready", "node.kubernetes.io/unreachable", "node.kubernetes.io/unschedulable", "node.kubernetes.io/memory-pressure", "node.kubernetes.io/disk-pressure", "node.kubernetes.io/network-unavailable", "node.kubernetes.io/pid-pressure", "node.kubernetes.io/out-of-service", "node.cloudprovider.kubernetes.io/uninitialized", "node.cloudprovider.kubernetes.io/shutdown", "kubernetes.azure.com/scalesetpriority"]
    value str
    Set taint value.
    effect String
    Set taint effect.
    key String
    Set taint key. The following taint keys are not allowed: ["node.kubernetes.io/not-ready", "node.kubernetes.io/unreachable", "node.kubernetes.io/unschedulable", "node.kubernetes.io/memory-pressure", "node.kubernetes.io/disk-pressure", "node.kubernetes.io/network-unavailable", "node.kubernetes.io/pid-pressure", "node.kubernetes.io/out-of-service", "node.cloudprovider.kubernetes.io/uninitialized", "node.cloudprovider.kubernetes.io/shutdown", "kubernetes.azure.com/scalesetpriority"]
    value String
    Set taint value.

    OceanNpUpdatePolicy, OceanNpUpdatePolicyArgs

    ShouldRoll bool
    If set to true along with the cluster update, roll will be triggered.
    ConditionedRoll bool
    Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as availability_zones, max_pods_per_node, enable_node_public_ip, os_disk_size_gb, os_disk_type, os_sku, kubernetes_version, vnet_subnet_ids, pod_subnet_ids, labels, taints and tags).
    RollConfig Pulumi.SpotInst.Azure.Inputs.OceanNpUpdatePolicyRollConfig
    While used, you can control whether the group should perform a deployment after an update to the configuration.
    ShouldRoll bool
    If set to true along with the cluster update, roll will be triggered.
    ConditionedRoll bool
    Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as availability_zones, max_pods_per_node, enable_node_public_ip, os_disk_size_gb, os_disk_type, os_sku, kubernetes_version, vnet_subnet_ids, pod_subnet_ids, labels, taints and tags).
    RollConfig OceanNpUpdatePolicyRollConfig
    While used, you can control whether the group should perform a deployment after an update to the configuration.
    shouldRoll Boolean
    If set to true along with the cluster update, roll will be triggered.
    conditionedRoll Boolean
    Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as availability_zones, max_pods_per_node, enable_node_public_ip, os_disk_size_gb, os_disk_type, os_sku, kubernetes_version, vnet_subnet_ids, pod_subnet_ids, labels, taints and tags).
    rollConfig OceanNpUpdatePolicyRollConfig
    While used, you can control whether the group should perform a deployment after an update to the configuration.
    shouldRoll boolean
    If set to true along with the cluster update, roll will be triggered.
    conditionedRoll boolean
    Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as availability_zones, max_pods_per_node, enable_node_public_ip, os_disk_size_gb, os_disk_type, os_sku, kubernetes_version, vnet_subnet_ids, pod_subnet_ids, labels, taints and tags).
    rollConfig OceanNpUpdatePolicyRollConfig
    While used, you can control whether the group should perform a deployment after an update to the configuration.
    should_roll bool
    If set to true along with the cluster update, roll will be triggered.
    conditioned_roll bool
    Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as availability_zones, max_pods_per_node, enable_node_public_ip, os_disk_size_gb, os_disk_type, os_sku, kubernetes_version, vnet_subnet_ids, pod_subnet_ids, labels, taints and tags).
    roll_config OceanNpUpdatePolicyRollConfig
    While used, you can control whether the group should perform a deployment after an update to the configuration.
    shouldRoll Boolean
    If set to true along with the cluster update, roll will be triggered.
    conditionedRoll Boolean
    Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as availability_zones, max_pods_per_node, enable_node_public_ip, os_disk_size_gb, os_disk_type, os_sku, kubernetes_version, vnet_subnet_ids, pod_subnet_ids, labels, taints and tags).
    rollConfig Property Map
    While used, you can control whether the group should perform a deployment after an update to the configuration.

    OceanNpUpdatePolicyRollConfig, OceanNpUpdatePolicyRollConfigArgs

    BatchMinHealthyPercentage int
    Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
    BatchSizePercentage int
    Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
    Comment string
    Add a comment description for the roll. The comment is limited to 256 chars and optional.
    NodeNames List<string>
    List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
    NodePoolNames List<string>
    List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
    RespectPdb bool
    During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
    RespectRestrictScaleDown bool
    During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
    VngIds List<string>
    List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
    BatchMinHealthyPercentage int
    Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
    BatchSizePercentage int
    Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
    Comment string
    Add a comment description for the roll. The comment is limited to 256 chars and optional.
    NodeNames []string
    List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
    NodePoolNames []string
    List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
    RespectPdb bool
    During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
    RespectRestrictScaleDown bool
    During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
    VngIds []string
    List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
    batchMinHealthyPercentage Integer
    Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
    batchSizePercentage Integer
    Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
    comment String
    Add a comment description for the roll. The comment is limited to 256 chars and optional.
    nodeNames List<String>
    List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
    nodePoolNames List<String>
    List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
    respectPdb Boolean
    During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
    respectRestrictScaleDown Boolean
    During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
    vngIds List<String>
    List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
    batchMinHealthyPercentage number
    Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
    batchSizePercentage number
    Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
    comment string
    Add a comment description for the roll. The comment is limited to 256 chars and optional.
    nodeNames string[]
    List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
    nodePoolNames string[]
    List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
    respectPdb boolean
    During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
    respectRestrictScaleDown boolean
    During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
    vngIds string[]
    List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
    batch_min_healthy_percentage int
    Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
    batch_size_percentage int
    Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
    comment str
    Add a comment description for the roll. The comment is limited to 256 chars and optional.
    node_names Sequence[str]
    List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
    node_pool_names Sequence[str]
    List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
    respect_pdb bool
    During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
    respect_restrict_scale_down bool
    During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
    vng_ids Sequence[str]
    List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
    batchMinHealthyPercentage Number
    Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
    batchSizePercentage Number
    Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
    comment String
    Add a comment description for the roll. The comment is limited to 256 chars and optional.
    nodeNames List<String>
    List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
    nodePoolNames List<String>
    List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
    respectPdb Boolean
    During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
    respectRestrictScaleDown Boolean
    During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
    vngIds List<String>
    List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.

    Package Details

    Repository
    Spotinst pulumi/pulumi-spotinst
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the spotinst Terraform Provider.
    spotinst logo
    Spotinst v3.83.1 published on Friday, Jul 19, 2024 by Pulumi