1. Registry
  2. Packages
  3. Spotinst Provider
  4. API Docs
  5. azure
  6. OceanNpVirtualNodeGroup
Viewing docs for Spotinst v3.138.1
published on Wednesday, Sep 2, 2026 by Pulumi
spotinst logo
Viewing docs for Spotinst v3.138.1
published on Wednesday, Sep 2, 2026 by Pulumi

    Manages a Spotinst Ocean AKS Virtual Node Groups resource.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as spotinst from "@pulumi/spotinst";
    
    const example = new spotinst.azure.OceanNpVirtualNodeGroup("example", {
        name: "testVng",
        oceanId: "o-134abcd",
        autoHeadroomPercentage: 5,
        headrooms: [{
            cpuPerUnit: 1024,
            memoryPerUnit: 512,
            gpuPerUnit: 0,
            numOfUnits: 2,
        }],
        availabilityZones: [
            "1",
            "2",
            "3",
        ],
        labels: {
            key: "env",
            value: "test",
        },
        minCount: 1,
        maxCount: 100,
        maxPodsPerNode: 30,
        enableNodePublicIp: true,
        encryptionAtHost: true,
        osDiskSizeGb: 30,
        osDiskType: "Managed",
        osType: "Linux",
        osSku: "Ubuntu",
        kubernetesVersion: "1.26",
        podSubnetIds: ["/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"],
        vnetSubnetIds: ["/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"],
        linuxOsConfigs: [{
            sysctls: [{
                vmMaxMapCount: 79550,
            }],
        }],
        localDnsProfiles: [{
            mode: "Required",
            vnetDnsOverrides: [
                {
                    zone: ".",
                    queryLogging: "Error",
                    protocol: "PreferUDP",
                    forwardDestination: "VnetDNS",
                    forwardPolicy: "Sequential",
                    maxConcurrent: 1000,
                    cacheDurationInSeconds: 3600,
                    serveStaleDurationInSeconds: 3600,
                    serveStale: "Immediate",
                },
                {
                    zone: "cluster.local",
                    queryLogging: "Error",
                    protocol: "ForceTCP",
                    forwardDestination: "ClusterCoreDNS",
                    forwardPolicy: "Sequential",
                    maxConcurrent: 1000,
                    cacheDurationInSeconds: 3600,
                    serveStaleDurationInSeconds: 3600,
                    serveStale: "Immediate",
                },
            ],
            kubeDnsOverrides: [
                {
                    zone: ".",
                    queryLogging: "Error",
                    protocol: "PreferUDP",
                    forwardDestination: "ClusterCoreDNS",
                    forwardPolicy: "Sequential",
                    maxConcurrent: 1000,
                    cacheDurationInSeconds: 3600,
                    serveStaleDurationInSeconds: 3600,
                    serveStale: "Immediate",
                },
                {
                    zone: "cluster.local",
                    queryLogging: "Error",
                    protocol: "ForceTCP",
                    forwardDestination: "ClusterCoreDNS",
                    forwardPolicy: "Sequential",
                    maxConcurrent: 1000,
                    cacheDurationInSeconds: 3600,
                    serveStaleDurationInSeconds: 3600,
                    serveStale: "Immediate",
                },
            ],
        }],
        spotPercentage: 50,
        fallbackToOndemand: true,
        drainingTimeout: 600,
        shouldUtilizeCommitments: true,
        restrictScaleDown: true,
        taints: [{
            key: "taintKey",
            value: "taintValue",
            effect: "NoSchedule",
        }],
        tags: {
            tagKey: "env",
            tagValue: "staging",
        },
        filters: {
            minVcpu: 2,
            maxVcpu: 16,
            minMemoryGib: 8,
            maxMemoryGib: 128,
            architectures: [
                "x86_64",
                "arm64",
            ],
            series: [
                "D v3",
                "Dds_v4",
                "Dsv2",
            ],
            excludeSeries: [
                "Av2",
                "A",
                "Bs",
                "D",
                "E",
            ],
            acceleratedNetworking: "Enabled",
            diskPerformance: "Premium",
            minGpu: 1,
            maxGpu: 2,
            minNics: 1,
            vmTypes: [
                "generalPurpose",
                "GPU",
            ],
            minDisk: 1,
            gpuTypes: ["nvidia-tesla-t4"],
        },
        preferredVmSizes: [
            "Standard_D4s_v3",
            "Standard_D8s_v3",
        ],
        scheduling: {
            shutdownHours: {
                isEnabled: true,
                timeWindows: [
                    "Fri:15:30-Sat:20:30",
                    "Sun:08:30-Mon:08:30",
                ],
            },
        },
    });
    
    import pulumi
    import pulumi_spotinst as spotinst
    
    example = spotinst.azure.OceanNpVirtualNodeGroup("example",
        name="testVng",
        ocean_id="o-134abcd",
        auto_headroom_percentage=5,
        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",
        },
        min_count=1,
        max_count=100,
        max_pods_per_node=30,
        enable_node_public_ip=True,
        encryption_at_host=True,
        os_disk_size_gb=30,
        os_disk_type="Managed",
        os_type="Linux",
        os_sku="Ubuntu",
        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_configs=[{
            "sysctls": [{
                "vm_max_map_count": 79550,
            }],
        }],
        local_dns_profiles=[{
            "mode": "Required",
            "vnet_dns_overrides": [
                {
                    "zone": ".",
                    "query_logging": "Error",
                    "protocol": "PreferUDP",
                    "forward_destination": "VnetDNS",
                    "forward_policy": "Sequential",
                    "max_concurrent": 1000,
                    "cache_duration_in_seconds": 3600,
                    "serve_stale_duration_in_seconds": 3600,
                    "serve_stale": "Immediate",
                },
                {
                    "zone": "cluster.local",
                    "query_logging": "Error",
                    "protocol": "ForceTCP",
                    "forward_destination": "ClusterCoreDNS",
                    "forward_policy": "Sequential",
                    "max_concurrent": 1000,
                    "cache_duration_in_seconds": 3600,
                    "serve_stale_duration_in_seconds": 3600,
                    "serve_stale": "Immediate",
                },
            ],
            "kube_dns_overrides": [
                {
                    "zone": ".",
                    "query_logging": "Error",
                    "protocol": "PreferUDP",
                    "forward_destination": "ClusterCoreDNS",
                    "forward_policy": "Sequential",
                    "max_concurrent": 1000,
                    "cache_duration_in_seconds": 3600,
                    "serve_stale_duration_in_seconds": 3600,
                    "serve_stale": "Immediate",
                },
                {
                    "zone": "cluster.local",
                    "query_logging": "Error",
                    "protocol": "ForceTCP",
                    "forward_destination": "ClusterCoreDNS",
                    "forward_policy": "Sequential",
                    "max_concurrent": 1000,
                    "cache_duration_in_seconds": 3600,
                    "serve_stale_duration_in_seconds": 3600,
                    "serve_stale": "Immediate",
                },
            ],
        }],
        spot_percentage=50,
        fallback_to_ondemand=True,
        draining_timeout=600,
        should_utilize_commitments=True,
        restrict_scale_down=True,
        taints=[{
            "key": "taintKey",
            "value": "taintValue",
            "effect": "NoSchedule",
        }],
        tags={
            "tagKey": "env",
            "tagValue": "staging",
        },
        filters={
            "min_vcpu": 2,
            "max_vcpu": 16,
            "min_memory_gib": float(8),
            "max_memory_gib": float(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": float(1),
            "max_gpu": float(2),
            "min_nics": 1,
            "vm_types": [
                "generalPurpose",
                "GPU",
            ],
            "min_disk": 1,
            "gpu_types": ["nvidia-tesla-t4"],
        },
        preferred_vm_sizes=[
            "Standard_D4s_v3",
            "Standard_D8s_v3",
        ],
        scheduling={
            "shutdown_hours": {
                "is_enabled": True,
                "time_windows": [
                    "Fri:15:30-Sat:20:30",
                    "Sun:08:30-Mon:08:30",
                ],
            },
        })
    
    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.NewOceanNpVirtualNodeGroup(ctx, "example", &azure.OceanNpVirtualNodeGroupArgs{
    			Name:                   pulumi.String("testVng"),
    			OceanId:                pulumi.String("o-134abcd"),
    			AutoHeadroomPercentage: pulumi.Int(5),
    			Headrooms: azure.OceanNpVirtualNodeGroupHeadroomArray{
    				&azure.OceanNpVirtualNodeGroupHeadroomArgs{
    					CpuPerUnit:    pulumi.Int(1024),
    					MemoryPerUnit: pulumi.Int(512),
    					GpuPerUnit:    pulumi.Int(0),
    					NumOfUnits:    pulumi.Int(2),
    				},
    			},
    			AvailabilityZones: pulumi.StringArray{
    				pulumi.String("1"),
    				pulumi.String("2"),
    				pulumi.String("3"),
    			},
    			Labels: pulumi.StringMap{
    				"key":   pulumi.String("env"),
    				"value": pulumi.String("test"),
    			},
    			MinCount:           pulumi.Int(1),
    			MaxCount:           pulumi.Int(100),
    			MaxPodsPerNode:     pulumi.Int(30),
    			EnableNodePublicIp: pulumi.Bool(true),
    			EncryptionAtHost:   pulumi.Bool(true),
    			OsDiskSizeGb:       pulumi.Int(30),
    			OsDiskType:         pulumi.String("Managed"),
    			OsType:             pulumi.String("Linux"),
    			OsSku:              pulumi.String("Ubuntu"),
    			KubernetesVersion:  pulumi.String("1.26"),
    			PodSubnetIds: pulumi.StringArray{
    				pulumi.String("/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"),
    			},
    			VnetSubnetIds: pulumi.StringArray{
    				pulumi.String("/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"),
    			},
    			LinuxOsConfigs: azure.OceanNpVirtualNodeGroupLinuxOsConfigArray{
    				&azure.OceanNpVirtualNodeGroupLinuxOsConfigArgs{
    					Sysctls: azure.OceanNpVirtualNodeGroupLinuxOsConfigSysctlArray{
    						&azure.OceanNpVirtualNodeGroupLinuxOsConfigSysctlArgs{
    							VmMaxMapCount: pulumi.Int(79550),
    						},
    					},
    				},
    			},
    			LocalDnsProfiles: azure.OceanNpVirtualNodeGroupLocalDnsProfileArray{
    				&azure.OceanNpVirtualNodeGroupLocalDnsProfileArgs{
    					Mode: pulumi.String("Required"),
    					VnetDnsOverrides: azure.OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverrideArray{
    						&azure.OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverrideArgs{
    							Zone:                        pulumi.String("."),
    							QueryLogging:                pulumi.String("Error"),
    							Protocol:                    pulumi.String("PreferUDP"),
    							ForwardDestination:          pulumi.String("VnetDNS"),
    							ForwardPolicy:               pulumi.String("Sequential"),
    							MaxConcurrent:               pulumi.Int(1000),
    							CacheDurationInSeconds:      pulumi.Int(3600),
    							ServeStaleDurationInSeconds: pulumi.Int(3600),
    							ServeStale:                  pulumi.String("Immediate"),
    						},
    						&azure.OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverrideArgs{
    							Zone:                        pulumi.String("cluster.local"),
    							QueryLogging:                pulumi.String("Error"),
    							Protocol:                    pulumi.String("ForceTCP"),
    							ForwardDestination:          pulumi.String("ClusterCoreDNS"),
    							ForwardPolicy:               pulumi.String("Sequential"),
    							MaxConcurrent:               pulumi.Int(1000),
    							CacheDurationInSeconds:      pulumi.Int(3600),
    							ServeStaleDurationInSeconds: pulumi.Int(3600),
    							ServeStale:                  pulumi.String("Immediate"),
    						},
    					},
    					KubeDnsOverrides: azure.OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverrideArray{
    						&azure.OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverrideArgs{
    							Zone:                        pulumi.String("."),
    							QueryLogging:                pulumi.String("Error"),
    							Protocol:                    pulumi.String("PreferUDP"),
    							ForwardDestination:          pulumi.String("ClusterCoreDNS"),
    							ForwardPolicy:               pulumi.String("Sequential"),
    							MaxConcurrent:               pulumi.Int(1000),
    							CacheDurationInSeconds:      pulumi.Int(3600),
    							ServeStaleDurationInSeconds: pulumi.Int(3600),
    							ServeStale:                  pulumi.String("Immediate"),
    						},
    						&azure.OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverrideArgs{
    							Zone:                        pulumi.String("cluster.local"),
    							QueryLogging:                pulumi.String("Error"),
    							Protocol:                    pulumi.String("ForceTCP"),
    							ForwardDestination:          pulumi.String("ClusterCoreDNS"),
    							ForwardPolicy:               pulumi.String("Sequential"),
    							MaxConcurrent:               pulumi.Int(1000),
    							CacheDurationInSeconds:      pulumi.Int(3600),
    							ServeStaleDurationInSeconds: pulumi.Int(3600),
    							ServeStale:                  pulumi.String("Immediate"),
    						},
    					},
    				},
    			},
    			SpotPercentage:           pulumi.Int(50),
    			FallbackToOndemand:       pulumi.Bool(true),
    			DrainingTimeout:          pulumi.Int(600),
    			ShouldUtilizeCommitments: pulumi.Bool(true),
    			RestrictScaleDown:        pulumi.Bool(true),
    			Taints: azure.OceanNpVirtualNodeGroupTaintArray{
    				&azure.OceanNpVirtualNodeGroupTaintArgs{
    					Key:    pulumi.String("taintKey"),
    					Value:  pulumi.String("taintValue"),
    					Effect: pulumi.String("NoSchedule"),
    				},
    			},
    			Tags: pulumi.StringMap{
    				"tagKey":   pulumi.String("env"),
    				"tagValue": pulumi.String("staging"),
    			},
    			Filters: &azure.OceanNpVirtualNodeGroupFiltersArgs{
    				MinVcpu:      pulumi.Int(2),
    				MaxVcpu:      pulumi.Int(16),
    				MinMemoryGib: pulumi.Float64(8),
    				MaxMemoryGib: pulumi.Float64(128),
    				Architectures: pulumi.StringArray{
    					pulumi.String("x86_64"),
    					pulumi.String("arm64"),
    				},
    				Series: pulumi.StringArray{
    					pulumi.String("D v3"),
    					pulumi.String("Dds_v4"),
    					pulumi.String("Dsv2"),
    				},
    				ExcludeSeries: pulumi.StringArray{
    					pulumi.String("Av2"),
    					pulumi.String("A"),
    					pulumi.String("Bs"),
    					pulumi.String("D"),
    					pulumi.String("E"),
    				},
    				AcceleratedNetworking: pulumi.String("Enabled"),
    				DiskPerformance:       pulumi.String("Premium"),
    				MinGpu:                pulumi.Float64(1),
    				MaxGpu:                pulumi.Float64(2),
    				MinNics:               pulumi.Int(1),
    				VmTypes: pulumi.StringArray{
    					pulumi.String("generalPurpose"),
    					pulumi.String("GPU"),
    				},
    				MinDisk: pulumi.Int(1),
    				GpuTypes: pulumi.StringArray{
    					pulumi.String("nvidia-tesla-t4"),
    				},
    			},
    			PreferredVmSizes: pulumi.StringArray{
    				pulumi.String("Standard_D4s_v3"),
    				pulumi.String("Standard_D8s_v3"),
    			},
    			Scheduling: &azure.OceanNpVirtualNodeGroupSchedulingArgs{
    				ShutdownHours: &azure.OceanNpVirtualNodeGroupSchedulingShutdownHoursArgs{
    					IsEnabled: pulumi.Bool(true),
    					TimeWindows: pulumi.StringArray{
    						pulumi.String("Fri:15:30-Sat:20:30"),
    						pulumi.String("Sun:08:30-Mon:08:30"),
    					},
    				},
    			},
    		})
    		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.OceanNpVirtualNodeGroup("example", new()
        {
            Name = "testVng",
            OceanId = "o-134abcd",
            AutoHeadroomPercentage = 5,
            Headrooms = new[]
            {
                new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupHeadroomArgs
                {
                    CpuPerUnit = 1024,
                    MemoryPerUnit = 512,
                    GpuPerUnit = 0,
                    NumOfUnits = 2,
                },
            },
            AvailabilityZones = new[]
            {
                "1",
                "2",
                "3",
            },
            Labels = 
            {
                { "key", "env" },
                { "value", "test" },
            },
            MinCount = 1,
            MaxCount = 100,
            MaxPodsPerNode = 30,
            EnableNodePublicIp = true,
            EncryptionAtHost = true,
            OsDiskSizeGb = 30,
            OsDiskType = "Managed",
            OsType = "Linux",
            OsSku = "Ubuntu",
            KubernetesVersion = "1.26",
            PodSubnetIds = new[]
            {
                "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default",
            },
            VnetSubnetIds = new[]
            {
                "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default",
            },
            LinuxOsConfigs = new[]
            {
                new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLinuxOsConfigArgs
                {
                    Sysctls = new[]
                    {
                        new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLinuxOsConfigSysctlArgs
                        {
                            VmMaxMapCount = 79550,
                        },
                    },
                },
            },
            LocalDnsProfiles = new[]
            {
                new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLocalDnsProfileArgs
                {
                    Mode = "Required",
                    VnetDnsOverrides = new[]
                    {
                        new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverrideArgs
                        {
                            Zone = ".",
                            QueryLogging = "Error",
                            Protocol = "PreferUDP",
                            ForwardDestination = "VnetDNS",
                            ForwardPolicy = "Sequential",
                            MaxConcurrent = 1000,
                            CacheDurationInSeconds = 3600,
                            ServeStaleDurationInSeconds = 3600,
                            ServeStale = "Immediate",
                        },
                        new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverrideArgs
                        {
                            Zone = "cluster.local",
                            QueryLogging = "Error",
                            Protocol = "ForceTCP",
                            ForwardDestination = "ClusterCoreDNS",
                            ForwardPolicy = "Sequential",
                            MaxConcurrent = 1000,
                            CacheDurationInSeconds = 3600,
                            ServeStaleDurationInSeconds = 3600,
                            ServeStale = "Immediate",
                        },
                    },
                    KubeDnsOverrides = new[]
                    {
                        new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverrideArgs
                        {
                            Zone = ".",
                            QueryLogging = "Error",
                            Protocol = "PreferUDP",
                            ForwardDestination = "ClusterCoreDNS",
                            ForwardPolicy = "Sequential",
                            MaxConcurrent = 1000,
                            CacheDurationInSeconds = 3600,
                            ServeStaleDurationInSeconds = 3600,
                            ServeStale = "Immediate",
                        },
                        new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverrideArgs
                        {
                            Zone = "cluster.local",
                            QueryLogging = "Error",
                            Protocol = "ForceTCP",
                            ForwardDestination = "ClusterCoreDNS",
                            ForwardPolicy = "Sequential",
                            MaxConcurrent = 1000,
                            CacheDurationInSeconds = 3600,
                            ServeStaleDurationInSeconds = 3600,
                            ServeStale = "Immediate",
                        },
                    },
                },
            },
            SpotPercentage = 50,
            FallbackToOndemand = true,
            DrainingTimeout = 600,
            ShouldUtilizeCommitments = true,
            RestrictScaleDown = true,
            Taints = new[]
            {
                new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupTaintArgs
                {
                    Key = "taintKey",
                    Value = "taintValue",
                    Effect = "NoSchedule",
                },
            },
            Tags = 
            {
                { "tagKey", "env" },
                { "tagValue", "staging" },
            },
            Filters = new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupFiltersArgs
            {
                MinVcpu = 2,
                MaxVcpu = 16,
                MinMemoryGib = 8,
                MaxMemoryGib = 128,
                Architectures = new[]
                {
                    "x86_64",
                    "arm64",
                },
                Series = new[]
                {
                    "D v3",
                    "Dds_v4",
                    "Dsv2",
                },
                ExcludeSeries = new[]
                {
                    "Av2",
                    "A",
                    "Bs",
                    "D",
                    "E",
                },
                AcceleratedNetworking = "Enabled",
                DiskPerformance = "Premium",
                MinGpu = 1,
                MaxGpu = 2,
                MinNics = 1,
                VmTypes = new[]
                {
                    "generalPurpose",
                    "GPU",
                },
                MinDisk = 1,
                GpuTypes = new[]
                {
                    "nvidia-tesla-t4",
                },
            },
            PreferredVmSizes = new[]
            {
                "Standard_D4s_v3",
                "Standard_D8s_v3",
            },
            Scheduling = new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupSchedulingArgs
            {
                ShutdownHours = new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupSchedulingShutdownHoursArgs
                {
                    IsEnabled = true,
                    TimeWindows = new[]
                    {
                        "Fri:15:30-Sat:20:30",
                        "Sun:08:30-Mon:08:30",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spotinst.azure.OceanNpVirtualNodeGroup;
    import com.pulumi.spotinst.azure.OceanNpVirtualNodeGroupArgs;
    import com.pulumi.spotinst.azure.inputs.OceanNpVirtualNodeGroupHeadroomArgs;
    import com.pulumi.spotinst.azure.inputs.OceanNpVirtualNodeGroupLinuxOsConfigArgs;
    import com.pulumi.spotinst.azure.inputs.OceanNpVirtualNodeGroupLinuxOsConfigSysctlArgs;
    import com.pulumi.spotinst.azure.inputs.OceanNpVirtualNodeGroupLocalDnsProfileArgs;
    import com.pulumi.spotinst.azure.inputs.OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverrideArgs;
    import com.pulumi.spotinst.azure.inputs.OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverrideArgs;
    import com.pulumi.spotinst.azure.inputs.OceanNpVirtualNodeGroupTaintArgs;
    import com.pulumi.spotinst.azure.inputs.OceanNpVirtualNodeGroupFiltersArgs;
    import com.pulumi.spotinst.azure.inputs.OceanNpVirtualNodeGroupSchedulingArgs;
    import com.pulumi.spotinst.azure.inputs.OceanNpVirtualNodeGroupSchedulingShutdownHoursArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 OceanNpVirtualNodeGroup("example", OceanNpVirtualNodeGroupArgs.builder()
                .name("testVng")
                .oceanId("o-134abcd")
                .autoHeadroomPercentage(5)
                .headrooms(OceanNpVirtualNodeGroupHeadroomArgs.builder()
                    .cpuPerUnit(1024)
                    .memoryPerUnit(512)
                    .gpuPerUnit(0)
                    .numOfUnits(2)
                    .build())
                .availabilityZones(            
                    "1",
                    "2",
                    "3")
                .labels(Map.ofEntries(
                    Map.entry("key", "env"),
                    Map.entry("value", "test")
                ))
                .minCount(1)
                .maxCount(100)
                .maxPodsPerNode(30)
                .enableNodePublicIp(true)
                .encryptionAtHost(true)
                .osDiskSizeGb(30)
                .osDiskType("Managed")
                .osType("Linux")
                .osSku("Ubuntu")
                .kubernetesVersion("1.26")
                .podSubnetIds("/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default")
                .vnetSubnetIds("/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default")
                .linuxOsConfigs(OceanNpVirtualNodeGroupLinuxOsConfigArgs.builder()
                    .sysctls(OceanNpVirtualNodeGroupLinuxOsConfigSysctlArgs.builder()
                        .vmMaxMapCount(79550)
                        .build())
                    .build())
                .localDnsProfiles(OceanNpVirtualNodeGroupLocalDnsProfileArgs.builder()
                    .mode("Required")
                    .vnetDnsOverrides(                
                        OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverrideArgs.builder()
                            .zone(".")
                            .queryLogging("Error")
                            .protocol("PreferUDP")
                            .forwardDestination("VnetDNS")
                            .forwardPolicy("Sequential")
                            .maxConcurrent(1000)
                            .cacheDurationInSeconds(3600)
                            .serveStaleDurationInSeconds(3600)
                            .serveStale("Immediate")
                            .build(),
                        OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverrideArgs.builder()
                            .zone("cluster.local")
                            .queryLogging("Error")
                            .protocol("ForceTCP")
                            .forwardDestination("ClusterCoreDNS")
                            .forwardPolicy("Sequential")
                            .maxConcurrent(1000)
                            .cacheDurationInSeconds(3600)
                            .serveStaleDurationInSeconds(3600)
                            .serveStale("Immediate")
                            .build())
                    .kubeDnsOverrides(                
                        OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverrideArgs.builder()
                            .zone(".")
                            .queryLogging("Error")
                            .protocol("PreferUDP")
                            .forwardDestination("ClusterCoreDNS")
                            .forwardPolicy("Sequential")
                            .maxConcurrent(1000)
                            .cacheDurationInSeconds(3600)
                            .serveStaleDurationInSeconds(3600)
                            .serveStale("Immediate")
                            .build(),
                        OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverrideArgs.builder()
                            .zone("cluster.local")
                            .queryLogging("Error")
                            .protocol("ForceTCP")
                            .forwardDestination("ClusterCoreDNS")
                            .forwardPolicy("Sequential")
                            .maxConcurrent(1000)
                            .cacheDurationInSeconds(3600)
                            .serveStaleDurationInSeconds(3600)
                            .serveStale("Immediate")
                            .build())
                    .build())
                .spotPercentage(50)
                .fallbackToOndemand(true)
                .drainingTimeout(600)
                .shouldUtilizeCommitments(true)
                .restrictScaleDown(true)
                .taints(OceanNpVirtualNodeGroupTaintArgs.builder()
                    .key("taintKey")
                    .value("taintValue")
                    .effect("NoSchedule")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("tagKey", "env"),
                    Map.entry("tagValue", "staging")
                ))
                .filters(OceanNpVirtualNodeGroupFiltersArgs.builder()
                    .minVcpu(2)
                    .maxVcpu(16)
                    .minMemoryGib(8.0)
                    .maxMemoryGib(128.0)
                    .architectures(                
                        "x86_64",
                        "arm64")
                    .series(                
                        "D v3",
                        "Dds_v4",
                        "Dsv2")
                    .excludeSeries(                
                        "Av2",
                        "A",
                        "Bs",
                        "D",
                        "E")
                    .acceleratedNetworking("Enabled")
                    .diskPerformance("Premium")
                    .minGpu(1.0)
                    .maxGpu(2.0)
                    .minNics(1)
                    .vmTypes(                
                        "generalPurpose",
                        "GPU")
                    .minDisk(1)
                    .gpuTypes("nvidia-tesla-t4")
                    .build())
                .preferredVmSizes(            
                    "Standard_D4s_v3",
                    "Standard_D8s_v3")
                .scheduling(OceanNpVirtualNodeGroupSchedulingArgs.builder()
                    .shutdownHours(OceanNpVirtualNodeGroupSchedulingShutdownHoursArgs.builder()
                        .isEnabled(true)
                        .timeWindows(                    
                            "Fri:15:30-Sat:20:30",
                            "Sun:08:30-Mon:08:30")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: spotinst:azure:OceanNpVirtualNodeGroup
        properties:
          name: testVng
          oceanId: o-134abcd
          autoHeadroomPercentage: 5
          headrooms:
            - cpuPerUnit: 1024
              memoryPerUnit: 512
              gpuPerUnit: 0
              numOfUnits: 2
          availabilityZones:
            - '1'
            - '2'
            - '3'
          labels:
            key: env
            value: test
          minCount: 1
          maxCount: 100 # --- nodePoolProperties --------------------------------------------------
          maxPodsPerNode: 30
          enableNodePublicIp: true
          encryptionAtHost: true
          osDiskSizeGb: 30
          osDiskType: Managed
          osType: Linux
          osSku: Ubuntu
          kubernetesVersion: '1.26'
          podSubnetIds:
            - /subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default
          vnetSubnetIds:
            - /subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default
          linuxOsConfigs:
            - sysctls:
                - vmMaxMapCount: 79550
          localDnsProfiles:
            - mode: Required
              vnetDnsOverrides:
                - zone: .
                  queryLogging: Error
                  protocol: PreferUDP
                  forwardDestination: VnetDNS
                  forwardPolicy: Sequential
                  maxConcurrent: 1000
                  cacheDurationInSeconds: 3600
                  serveStaleDurationInSeconds: 3600
                  serveStale: Immediate
                - zone: cluster.local
                  queryLogging: Error
                  protocol: ForceTCP
                  forwardDestination: ClusterCoreDNS
                  forwardPolicy: Sequential
                  maxConcurrent: 1000
                  cacheDurationInSeconds: 3600
                  serveStaleDurationInSeconds: 3600
                  serveStale: Immediate
              kubeDnsOverrides:
                - zone: .
                  queryLogging: Error
                  protocol: PreferUDP
                  forwardDestination: ClusterCoreDNS
                  forwardPolicy: Sequential
                  maxConcurrent: 1000
                  cacheDurationInSeconds: 3600
                  serveStaleDurationInSeconds: 3600
                  serveStale: Immediate
                - zone: cluster.local
                  queryLogging: Error
                  protocol: ForceTCP
                  forwardDestination: ClusterCoreDNS
                  forwardPolicy: Sequential
                  maxConcurrent: 1000
                  cacheDurationInSeconds: 3600
                  serveStaleDurationInSeconds: 3600
                  serveStale: Immediate
          spotPercentage: 50
          fallbackToOndemand: true
          drainingTimeout: 600
          shouldUtilizeCommitments: true
          restrictScaleDown: true # ---------------------------------------------------------------------------
          taints:
            - key: taintKey
              value: taintValue
              effect: NoSchedule
          tags:
            tagKey: env
            tagValue: staging
          filters:
            minVcpu: 2
            maxVcpu: 16
            minMemoryGib: 8
            maxMemoryGib: 128
            architectures:
              - x86_64
              - arm64
            series:
              - D v3
              - Dds_v4
              - Dsv2
            excludeSeries:
              - Av2
              - A
              - Bs
              - D
              - E
            acceleratedNetworking: Enabled
            diskPerformance: Premium
            minGpu: 1
            maxGpu: 2
            minNics: 1
            vmTypes:
              - generalPurpose
              - GPU
            minDisk: 1
            gpuTypes:
              - nvidia-tesla-t4
          preferredVmSizes:
            - Standard_D4s_v3
            - Standard_D8s_v3
          scheduling:
            shutdownHours:
              isEnabled: true
              timeWindows:
                - Fri:15:30-Sat:20:30
                - Sun:08:30-Mon:08:30
    
    pulumi {
      required_providers {
        spotinst = {
          source = "pulumi/spotinst"
        }
      }
    }
    
    resource "spotinst_azure_oceannpvirtualnodegroup" "example" {
      name                     = "testVng"
      ocean_id                 = "o-134abcd"
      auto_headroom_percentage = 5
      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"
      }
      min_count = 1
      max_count = 100
      // -------------------------------------------------------------------------
      // --- nodePoolProperties --------------------------------------------------
      max_pods_per_node     = 30
      enable_node_public_ip = true
      encryption_at_host    = true
      os_disk_size_gb       = 30
      os_disk_type          = "Managed"
      os_type               = "Linux"
      os_sku                = "Ubuntu"
      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_configs {
        sysctls {
          vm_max_map_count = 79550
        }
      }
      local_dns_profiles {
        mode = "Required"
        vnet_dns_overrides {
          zone                            = "."
          query_logging                   = "Error"
          protocol                        = "PreferUDP"
          forward_destination             = "VnetDNS"
          forward_policy                  = "Sequential"
          max_concurrent                  = 1000
          cache_duration_in_seconds       = 3600
          serve_stale_duration_in_seconds = 3600
          serve_stale                     = "Immediate"
        }
        vnet_dns_overrides {
          zone                            = "cluster.local"
          query_logging                   = "Error"
          protocol                        = "ForceTCP"
          forward_destination             = "ClusterCoreDNS"
          forward_policy                  = "Sequential"
          max_concurrent                  = 1000
          cache_duration_in_seconds       = 3600
          serve_stale_duration_in_seconds = 3600
          serve_stale                     = "Immediate"
        }
        kube_dns_overrides {
          zone                            = "."
          query_logging                   = "Error"
          protocol                        = "PreferUDP"
          forward_destination             = "ClusterCoreDNS"
          forward_policy                  = "Sequential"
          max_concurrent                  = 1000
          cache_duration_in_seconds       = 3600
          serve_stale_duration_in_seconds = 3600
          serve_stale                     = "Immediate"
        }
        kube_dns_overrides {
          zone                            = "cluster.local"
          query_logging                   = "Error"
          protocol                        = "ForceTCP"
          forward_destination             = "ClusterCoreDNS"
          forward_policy                  = "Sequential"
          max_concurrent                  = 1000
          cache_duration_in_seconds       = 3600
          serve_stale_duration_in_seconds = 3600
          serve_stale                     = "Immediate"
        }
      }
      spot_percentage            = 50
      fallback_to_ondemand       = true
      draining_timeout           = 600
      should_utilize_commitments = true
      restrict_scale_down        = true
      // ---------------------------------------------------------------------------
      taints {
        key    = "taintKey"
        value  = "taintValue"
        effect = "NoSchedule"
      }
      tags = {
        "tagKey"   = "env"
        "tagValue" = "staging"
      }
      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"]
      }
      preferred_vm_sizes = ["Standard_D4s_v3", "Standard_D8s_v3"]
      scheduling = {
        shutdown_hours = {
          is_enabled   = true
          time_windows = ["Fri:15:30-Sat:20:30", "Sun:08:30-Mon:08:30"]
        }
      }
    }
    
    output "vng_id" {
      value = spotinst_ocean_aks_np_virtual_node_group.example.id
    }
    

    Create OceanNpVirtualNodeGroup Resource

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

    Constructor syntax

    new OceanNpVirtualNodeGroup(name: string, args: OceanNpVirtualNodeGroupArgs, opts?: CustomResourceOptions);
    @overload
    def OceanNpVirtualNodeGroup(resource_name: str,
                                args: OceanNpVirtualNodeGroupArgs,
                                opts: Optional[ResourceOptions] = None)
    
    @overload
    def OceanNpVirtualNodeGroup(resource_name: str,
                                opts: Optional[ResourceOptions] = None,
                                ocean_id: Optional[str] = None,
                                min_count: Optional[int] = None,
                                pod_subnet_ids: Optional[Sequence[str]] = None,
                                enable_node_public_ip: Optional[bool] = None,
                                encryption_at_host: Optional[bool] = None,
                                fallback_to_ondemand: Optional[bool] = None,
                                filters: Optional[OceanNpVirtualNodeGroupFiltersArgs] = None,
                                headrooms: Optional[Sequence[OceanNpVirtualNodeGroupHeadroomArgs]] = None,
                                kubernetes_version: Optional[str] = None,
                                labels: Optional[Mapping[str, str]] = None,
                                linux_os_configs: Optional[Sequence[OceanNpVirtualNodeGroupLinuxOsConfigArgs]] = None,
                                local_dns_profiles: Optional[Sequence[OceanNpVirtualNodeGroupLocalDnsProfileArgs]] = None,
                                max_count: Optional[int] = None,
                                max_pods_per_node: Optional[int] = None,
                                auto_headroom_percentage: Optional[int] = None,
                                draining_timeout: Optional[int] = None,
                                name: Optional[str] = None,
                                restrict_scale_down: Optional[bool] = None,
                                os_disk_type: Optional[str] = None,
                                os_sku: Optional[str] = None,
                                os_type: Optional[str] = None,
                                availability_zones: Optional[Sequence[str]] = None,
                                preferred_vm_sizes: Optional[Sequence[str]] = None,
                                os_disk_size_gb: Optional[int] = None,
                                scheduling: Optional[OceanNpVirtualNodeGroupSchedulingArgs] = None,
                                should_utilize_commitments: Optional[bool] = None,
                                spot_percentage: Optional[int] = None,
                                tags: Optional[Mapping[str, str]] = None,
                                taints: Optional[Sequence[OceanNpVirtualNodeGroupTaintArgs]] = None,
                                update_policy: Optional[OceanNpVirtualNodeGroupUpdatePolicyArgs] = None,
                                vnet_subnet_ids: Optional[Sequence[str]] = None)
    func NewOceanNpVirtualNodeGroup(ctx *Context, name string, args OceanNpVirtualNodeGroupArgs, opts ...ResourceOption) (*OceanNpVirtualNodeGroup, error)
    public OceanNpVirtualNodeGroup(string name, OceanNpVirtualNodeGroupArgs args, CustomResourceOptions? opts = null)
    public OceanNpVirtualNodeGroup(String name, OceanNpVirtualNodeGroupArgs args)
    public OceanNpVirtualNodeGroup(String name, OceanNpVirtualNodeGroupArgs args, CustomResourceOptions options)
    
    type: spotinst:azure:OceanNpVirtualNodeGroup
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "spotinst_azure_ocean_np_virtual_node_group" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args OceanNpVirtualNodeGroupArgs
    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 OceanNpVirtualNodeGroupArgs
    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 OceanNpVirtualNodeGroupArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args OceanNpVirtualNodeGroupArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args OceanNpVirtualNodeGroupArgs
    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 oceanNpVirtualNodeGroupResource = new SpotInst.Azure.OceanNpVirtualNodeGroup("oceanNpVirtualNodeGroupResource", new()
    {
        OceanId = "string",
        MinCount = 0,
        PodSubnetIds = new[]
        {
            "string",
        },
        EnableNodePublicIp = false,
        EncryptionAtHost = false,
        FallbackToOndemand = false,
        Filters = new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupFiltersArgs
        {
            AcceleratedNetworking = "string",
            Architectures = new[]
            {
                "string",
            },
            DiskPerformance = "string",
            ExcludeSeries = new[]
            {
                "string",
            },
            GpuTypes = new[]
            {
                "string",
            },
            MaxGpu = 0.0,
            MaxMemoryGib = 0.0,
            MaxVcpu = 0,
            MinDisk = 0,
            MinGpu = 0.0,
            MinMemoryGib = 0.0,
            MinNics = 0,
            MinVcpu = 0,
            Series = new[]
            {
                "string",
            },
            VmTypes = new[]
            {
                "string",
            },
        },
        Headrooms = new[]
        {
            new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupHeadroomArgs
            {
                CpuPerUnit = 0,
                GpuPerUnit = 0,
                MemoryPerUnit = 0,
                NumOfUnits = 0,
            },
        },
        KubernetesVersion = "string",
        Labels = 
        {
            { "string", "string" },
        },
        LinuxOsConfigs = new[]
        {
            new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLinuxOsConfigArgs
            {
                Sysctls = new[]
                {
                    new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLinuxOsConfigSysctlArgs
                    {
                        VmMaxMapCount = 0,
                    },
                },
            },
        },
        LocalDnsProfiles = new[]
        {
            new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLocalDnsProfileArgs
            {
                Mode = "string",
                KubeDnsOverrides = new[]
                {
                    new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverrideArgs
                    {
                        Zone = "string",
                        CacheDurationInSeconds = 0,
                        ForwardDestination = "string",
                        ForwardPolicy = "string",
                        MaxConcurrent = 0,
                        Protocol = "string",
                        QueryLogging = "string",
                        ServeStale = "string",
                        ServeStaleDurationInSeconds = 0,
                    },
                },
                VnetDnsOverrides = new[]
                {
                    new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverrideArgs
                    {
                        Zone = "string",
                        CacheDurationInSeconds = 0,
                        ForwardDestination = "string",
                        ForwardPolicy = "string",
                        MaxConcurrent = 0,
                        Protocol = "string",
                        QueryLogging = "string",
                        ServeStale = "string",
                        ServeStaleDurationInSeconds = 0,
                    },
                },
            },
        },
        MaxCount = 0,
        MaxPodsPerNode = 0,
        AutoHeadroomPercentage = 0,
        DrainingTimeout = 0,
        Name = "string",
        RestrictScaleDown = false,
        OsDiskType = "string",
        OsSku = "string",
        OsType = "string",
        AvailabilityZones = new[]
        {
            "string",
        },
        PreferredVmSizes = new[]
        {
            "string",
        },
        OsDiskSizeGb = 0,
        Scheduling = new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupSchedulingArgs
        {
            ShutdownHours = new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupSchedulingShutdownHoursArgs
            {
                IsEnabled = false,
                TimeWindows = new[]
                {
                    "string",
                },
            },
        },
        ShouldUtilizeCommitments = false,
        SpotPercentage = 0,
        Tags = 
        {
            { "string", "string" },
        },
        Taints = new[]
        {
            new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupTaintArgs
            {
                Effect = "string",
                Key = "string",
                Value = "string",
            },
        },
        UpdatePolicy = new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupUpdatePolicyArgs
        {
            ShouldRoll = false,
            ConditionedRoll = false,
            RollConfig = new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupUpdatePolicyRollConfigArgs
            {
                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.NewOceanNpVirtualNodeGroup(ctx, "oceanNpVirtualNodeGroupResource", &azure.OceanNpVirtualNodeGroupArgs{
    	OceanId:  pulumi.String("string"),
    	MinCount: pulumi.Int(0),
    	PodSubnetIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	EnableNodePublicIp: pulumi.Bool(false),
    	EncryptionAtHost:   pulumi.Bool(false),
    	FallbackToOndemand: pulumi.Bool(false),
    	Filters: &azure.OceanNpVirtualNodeGroupFiltersArgs{
    		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.OceanNpVirtualNodeGroupHeadroomArray{
    		&azure.OceanNpVirtualNodeGroupHeadroomArgs{
    			CpuPerUnit:    pulumi.Int(0),
    			GpuPerUnit:    pulumi.Int(0),
    			MemoryPerUnit: pulumi.Int(0),
    			NumOfUnits:    pulumi.Int(0),
    		},
    	},
    	KubernetesVersion: pulumi.String("string"),
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	LinuxOsConfigs: azure.OceanNpVirtualNodeGroupLinuxOsConfigArray{
    		&azure.OceanNpVirtualNodeGroupLinuxOsConfigArgs{
    			Sysctls: azure.OceanNpVirtualNodeGroupLinuxOsConfigSysctlArray{
    				&azure.OceanNpVirtualNodeGroupLinuxOsConfigSysctlArgs{
    					VmMaxMapCount: pulumi.Int(0),
    				},
    			},
    		},
    	},
    	LocalDnsProfiles: azure.OceanNpVirtualNodeGroupLocalDnsProfileArray{
    		&azure.OceanNpVirtualNodeGroupLocalDnsProfileArgs{
    			Mode: pulumi.String("string"),
    			KubeDnsOverrides: azure.OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverrideArray{
    				&azure.OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverrideArgs{
    					Zone:                        pulumi.String("string"),
    					CacheDurationInSeconds:      pulumi.Int(0),
    					ForwardDestination:          pulumi.String("string"),
    					ForwardPolicy:               pulumi.String("string"),
    					MaxConcurrent:               pulumi.Int(0),
    					Protocol:                    pulumi.String("string"),
    					QueryLogging:                pulumi.String("string"),
    					ServeStale:                  pulumi.String("string"),
    					ServeStaleDurationInSeconds: pulumi.Int(0),
    				},
    			},
    			VnetDnsOverrides: azure.OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverrideArray{
    				&azure.OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverrideArgs{
    					Zone:                        pulumi.String("string"),
    					CacheDurationInSeconds:      pulumi.Int(0),
    					ForwardDestination:          pulumi.String("string"),
    					ForwardPolicy:               pulumi.String("string"),
    					MaxConcurrent:               pulumi.Int(0),
    					Protocol:                    pulumi.String("string"),
    					QueryLogging:                pulumi.String("string"),
    					ServeStale:                  pulumi.String("string"),
    					ServeStaleDurationInSeconds: pulumi.Int(0),
    				},
    			},
    		},
    	},
    	MaxCount:               pulumi.Int(0),
    	MaxPodsPerNode:         pulumi.Int(0),
    	AutoHeadroomPercentage: pulumi.Int(0),
    	DrainingTimeout:        pulumi.Int(0),
    	Name:                   pulumi.String("string"),
    	RestrictScaleDown:      pulumi.Bool(false),
    	OsDiskType:             pulumi.String("string"),
    	OsSku:                  pulumi.String("string"),
    	OsType:                 pulumi.String("string"),
    	AvailabilityZones: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	PreferredVmSizes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	OsDiskSizeGb: pulumi.Int(0),
    	Scheduling: &azure.OceanNpVirtualNodeGroupSchedulingArgs{
    		ShutdownHours: &azure.OceanNpVirtualNodeGroupSchedulingShutdownHoursArgs{
    			IsEnabled: pulumi.Bool(false),
    			TimeWindows: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	ShouldUtilizeCommitments: pulumi.Bool(false),
    	SpotPercentage:           pulumi.Int(0),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Taints: azure.OceanNpVirtualNodeGroupTaintArray{
    		&azure.OceanNpVirtualNodeGroupTaintArgs{
    			Effect: pulumi.String("string"),
    			Key:    pulumi.String("string"),
    			Value:  pulumi.String("string"),
    		},
    	},
    	UpdatePolicy: &azure.OceanNpVirtualNodeGroupUpdatePolicyArgs{
    		ShouldRoll:      pulumi.Bool(false),
    		ConditionedRoll: pulumi.Bool(false),
    		RollConfig: &azure.OceanNpVirtualNodeGroupUpdatePolicyRollConfigArgs{
    			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"),
    	},
    })
    
    resource "spotinst_azure_ocean_np_virtual_node_group" "oceanNpVirtualNodeGroupResource" {
      lifecycle {
        create_before_destroy = true
      }
      ocean_id              = "string"
      min_count             = 0
      pod_subnet_ids        = ["string"]
      enable_node_public_ip = false
      encryption_at_host    = false
      fallback_to_ondemand  = false
      filters = {
        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 {
        cpu_per_unit    = 0
        gpu_per_unit    = 0
        memory_per_unit = 0
        num_of_units    = 0
      }
      kubernetes_version = "string"
      labels = {
        "string" = "string"
      }
      linux_os_configs {
        sysctls {
          vm_max_map_count = 0
        }
      }
      local_dns_profiles {
        mode = "string"
        kube_dns_overrides {
          zone                            = "string"
          cache_duration_in_seconds       = 0
          forward_destination             = "string"
          forward_policy                  = "string"
          max_concurrent                  = 0
          protocol                        = "string"
          query_logging                   = "string"
          serve_stale                     = "string"
          serve_stale_duration_in_seconds = 0
        }
        vnet_dns_overrides {
          zone                            = "string"
          cache_duration_in_seconds       = 0
          forward_destination             = "string"
          forward_policy                  = "string"
          max_concurrent                  = 0
          protocol                        = "string"
          query_logging                   = "string"
          serve_stale                     = "string"
          serve_stale_duration_in_seconds = 0
        }
      }
      max_count                = 0
      max_pods_per_node        = 0
      auto_headroom_percentage = 0
      draining_timeout         = 0
      name                     = "string"
      restrict_scale_down      = false
      os_disk_type             = "string"
      os_sku                   = "string"
      os_type                  = "string"
      availability_zones       = ["string"]
      preferred_vm_sizes       = ["string"]
      os_disk_size_gb          = 0
      scheduling = {
        shutdown_hours = {
          is_enabled   = false
          time_windows = ["string"]
        }
      }
      should_utilize_commitments = false
      spot_percentage            = 0
      tags = {
        "string" = "string"
      }
      taints {
        effect = "string"
        key    = "string"
        value  = "string"
      }
      update_policy = {
        should_roll      = false
        conditioned_roll = false
        roll_config = {
          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"]
    }
    
    var oceanNpVirtualNodeGroupResource = new OceanNpVirtualNodeGroup("oceanNpVirtualNodeGroupResource", OceanNpVirtualNodeGroupArgs.builder()
        .oceanId("string")
        .minCount(0)
        .podSubnetIds("string")
        .enableNodePublicIp(false)
        .encryptionAtHost(false)
        .fallbackToOndemand(false)
        .filters(OceanNpVirtualNodeGroupFiltersArgs.builder()
            .acceleratedNetworking("string")
            .architectures("string")
            .diskPerformance("string")
            .excludeSeries("string")
            .gpuTypes("string")
            .maxGpu(0.0)
            .maxMemoryGib(0.0)
            .maxVcpu(0)
            .minDisk(0)
            .minGpu(0.0)
            .minMemoryGib(0.0)
            .minNics(0)
            .minVcpu(0)
            .series("string")
            .vmTypes("string")
            .build())
        .headrooms(OceanNpVirtualNodeGroupHeadroomArgs.builder()
            .cpuPerUnit(0)
            .gpuPerUnit(0)
            .memoryPerUnit(0)
            .numOfUnits(0)
            .build())
        .kubernetesVersion("string")
        .labels(Map.of("string", "string"))
        .linuxOsConfigs(OceanNpVirtualNodeGroupLinuxOsConfigArgs.builder()
            .sysctls(OceanNpVirtualNodeGroupLinuxOsConfigSysctlArgs.builder()
                .vmMaxMapCount(0)
                .build())
            .build())
        .localDnsProfiles(OceanNpVirtualNodeGroupLocalDnsProfileArgs.builder()
            .mode("string")
            .kubeDnsOverrides(OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverrideArgs.builder()
                .zone("string")
                .cacheDurationInSeconds(0)
                .forwardDestination("string")
                .forwardPolicy("string")
                .maxConcurrent(0)
                .protocol("string")
                .queryLogging("string")
                .serveStale("string")
                .serveStaleDurationInSeconds(0)
                .build())
            .vnetDnsOverrides(OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverrideArgs.builder()
                .zone("string")
                .cacheDurationInSeconds(0)
                .forwardDestination("string")
                .forwardPolicy("string")
                .maxConcurrent(0)
                .protocol("string")
                .queryLogging("string")
                .serveStale("string")
                .serveStaleDurationInSeconds(0)
                .build())
            .build())
        .maxCount(0)
        .maxPodsPerNode(0)
        .autoHeadroomPercentage(0)
        .drainingTimeout(0)
        .name("string")
        .restrictScaleDown(false)
        .osDiskType("string")
        .osSku("string")
        .osType("string")
        .availabilityZones("string")
        .preferredVmSizes("string")
        .osDiskSizeGb(0)
        .scheduling(OceanNpVirtualNodeGroupSchedulingArgs.builder()
            .shutdownHours(OceanNpVirtualNodeGroupSchedulingShutdownHoursArgs.builder()
                .isEnabled(false)
                .timeWindows("string")
                .build())
            .build())
        .shouldUtilizeCommitments(false)
        .spotPercentage(0)
        .tags(Map.of("string", "string"))
        .taints(OceanNpVirtualNodeGroupTaintArgs.builder()
            .effect("string")
            .key("string")
            .value("string")
            .build())
        .updatePolicy(OceanNpVirtualNodeGroupUpdatePolicyArgs.builder()
            .shouldRoll(false)
            .conditionedRoll(false)
            .rollConfig(OceanNpVirtualNodeGroupUpdatePolicyRollConfigArgs.builder()
                .batchMinHealthyPercentage(0)
                .batchSizePercentage(0)
                .comment("string")
                .nodeNames("string")
                .nodePoolNames("string")
                .respectPdb(false)
                .respectRestrictScaleDown(false)
                .vngIds("string")
                .build())
            .build())
        .vnetSubnetIds("string")
        .build());
    
    ocean_np_virtual_node_group_resource = spotinst.azure.OceanNpVirtualNodeGroup("oceanNpVirtualNodeGroupResource",
        ocean_id="string",
        min_count=0,
        pod_subnet_ids=["string"],
        enable_node_public_ip=False,
        encryption_at_host=False,
        fallback_to_ondemand=False,
        filters={
            "accelerated_networking": "string",
            "architectures": ["string"],
            "disk_performance": "string",
            "exclude_series": ["string"],
            "gpu_types": ["string"],
            "max_gpu": float(0),
            "max_memory_gib": float(0),
            "max_vcpu": 0,
            "min_disk": 0,
            "min_gpu": float(0),
            "min_memory_gib": float(0),
            "min_nics": 0,
            "min_vcpu": 0,
            "series": ["string"],
            "vm_types": ["string"],
        },
        headrooms=[{
            "cpu_per_unit": 0,
            "gpu_per_unit": 0,
            "memory_per_unit": 0,
            "num_of_units": 0,
        }],
        kubernetes_version="string",
        labels={
            "string": "string",
        },
        linux_os_configs=[{
            "sysctls": [{
                "vm_max_map_count": 0,
            }],
        }],
        local_dns_profiles=[{
            "mode": "string",
            "kube_dns_overrides": [{
                "zone": "string",
                "cache_duration_in_seconds": 0,
                "forward_destination": "string",
                "forward_policy": "string",
                "max_concurrent": 0,
                "protocol": "string",
                "query_logging": "string",
                "serve_stale": "string",
                "serve_stale_duration_in_seconds": 0,
            }],
            "vnet_dns_overrides": [{
                "zone": "string",
                "cache_duration_in_seconds": 0,
                "forward_destination": "string",
                "forward_policy": "string",
                "max_concurrent": 0,
                "protocol": "string",
                "query_logging": "string",
                "serve_stale": "string",
                "serve_stale_duration_in_seconds": 0,
            }],
        }],
        max_count=0,
        max_pods_per_node=0,
        auto_headroom_percentage=0,
        draining_timeout=0,
        name="string",
        restrict_scale_down=False,
        os_disk_type="string",
        os_sku="string",
        os_type="string",
        availability_zones=["string"],
        preferred_vm_sizes=["string"],
        os_disk_size_gb=0,
        scheduling={
            "shutdown_hours": {
                "is_enabled": False,
                "time_windows": ["string"],
            },
        },
        should_utilize_commitments=False,
        spot_percentage=0,
        tags={
            "string": "string",
        },
        taints=[{
            "effect": "string",
            "key": "string",
            "value": "string",
        }],
        update_policy={
            "should_roll": False,
            "conditioned_roll": False,
            "roll_config": {
                "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 oceanNpVirtualNodeGroupResource = new spotinst.azure.OceanNpVirtualNodeGroup("oceanNpVirtualNodeGroupResource", {
        oceanId: "string",
        minCount: 0,
        podSubnetIds: ["string"],
        enableNodePublicIp: false,
        encryptionAtHost: 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,
        }],
        kubernetesVersion: "string",
        labels: {
            string: "string",
        },
        linuxOsConfigs: [{
            sysctls: [{
                vmMaxMapCount: 0,
            }],
        }],
        localDnsProfiles: [{
            mode: "string",
            kubeDnsOverrides: [{
                zone: "string",
                cacheDurationInSeconds: 0,
                forwardDestination: "string",
                forwardPolicy: "string",
                maxConcurrent: 0,
                protocol: "string",
                queryLogging: "string",
                serveStale: "string",
                serveStaleDurationInSeconds: 0,
            }],
            vnetDnsOverrides: [{
                zone: "string",
                cacheDurationInSeconds: 0,
                forwardDestination: "string",
                forwardPolicy: "string",
                maxConcurrent: 0,
                protocol: "string",
                queryLogging: "string",
                serveStale: "string",
                serveStaleDurationInSeconds: 0,
            }],
        }],
        maxCount: 0,
        maxPodsPerNode: 0,
        autoHeadroomPercentage: 0,
        drainingTimeout: 0,
        name: "string",
        restrictScaleDown: false,
        osDiskType: "string",
        osSku: "string",
        osType: "string",
        availabilityZones: ["string"],
        preferredVmSizes: ["string"],
        osDiskSizeGb: 0,
        scheduling: {
            shutdownHours: {
                isEnabled: false,
                timeWindows: ["string"],
            },
        },
        shouldUtilizeCommitments: false,
        spotPercentage: 0,
        tags: {
            string: "string",
        },
        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:OceanNpVirtualNodeGroup
    properties:
        autoHeadroomPercentage: 0
        availabilityZones:
            - string
        drainingTimeout: 0
        enableNodePublicIp: false
        encryptionAtHost: 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
        kubernetesVersion: string
        labels:
            string: string
        linuxOsConfigs:
            - sysctls:
                - vmMaxMapCount: 0
        localDnsProfiles:
            - kubeDnsOverrides:
                - cacheDurationInSeconds: 0
                  forwardDestination: string
                  forwardPolicy: string
                  maxConcurrent: 0
                  protocol: string
                  queryLogging: string
                  serveStale: string
                  serveStaleDurationInSeconds: 0
                  zone: string
              mode: string
              vnetDnsOverrides:
                - cacheDurationInSeconds: 0
                  forwardDestination: string
                  forwardPolicy: string
                  maxConcurrent: 0
                  protocol: string
                  queryLogging: string
                  serveStale: string
                  serveStaleDurationInSeconds: 0
                  zone: string
        maxCount: 0
        maxPodsPerNode: 0
        minCount: 0
        name: string
        oceanId: string
        osDiskSizeGb: 0
        osDiskType: string
        osSku: string
        osType: string
        podSubnetIds:
            - string
        preferredVmSizes:
            - string
        restrictScaleDown: false
        scheduling:
            shutdownHours:
                isEnabled: false
                timeWindows:
                    - string
        shouldUtilizeCommitments: false
        spotPercentage: 0
        tags:
            string: string
        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
    

    OceanNpVirtualNodeGroup Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The OceanNpVirtualNodeGroup resource accepts the following input properties:

    OceanId string
    The Ocean cluster identifier. Required for Launch Spec creation.
    AutoHeadroomPercentage int
    Optionally set a number between [0 .. 200] to control the percentage of VNG resources dedicated to automatic headroom.
    AvailabilityZones List<string>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    DrainingTimeout int
    Time in seconds to allow the node to drain before it is terminated. The parameter value will be in range [300-3600].
    EnableNodePublicIp bool
    Enable node public IP.
    EncryptionAtHost bool
    Whether to enable host-based encryption for nodes. When set to true, use vmSizes.preferredVmSizes to provide compatible VM sizes. Important: This setting is immutable at the Azure infrastructure level once nodes are launched. Changing this value requires a roll operation for new nodes to reflect the updated configuration.
    FallbackToOndemand bool
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    Filters Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupFilters
    Filters for the VM sizes that can be launched from the virtual node group.
    Headrooms List<Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupHeadroom>
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    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, string>
    An array of labels to add to the virtual node group.Only custom user labels are allowed, and not Kubernetes built-in labels or Spot internal labels.
    LinuxOsConfigs List<Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLinuxOsConfig>
    Custom Linux OS configuration.
    LocalDnsProfiles List<Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLocalDnsProfile>
    Local DNS profile configuration for the node pool. Requires VM sizes with at least 4 vCPUs and Linux (Ubuntu 22.04+ or Azure Linux) OS. See: AKS Local DNS Custom Field.
    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
    Enter a name for the virtual node group.
    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).
    PreferredVmSizes List<string>
    Preferred VM sizes for this virtual node group. Used when nodePoolProperties.encryptionAtHost is true to constrain launches to compatible sizes.
    RestrictScaleDown bool
    When set to true, nodes in this VNG will be protected from scale-down as long as they have reschedulable workloads running.
    Scheduling Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupScheduling
    An object used to specify times when the virtual node group will turn off all its node pools. Once the shutdown time will be over, the virtual node group will return to its previous state.
    ShouldUtilizeCommitments bool
    Determines whether to utilize any existing Azure Savings Plans or Reserved Instances associated with the subscription for On-Demand VMs.
    SpotPercentage int
    Percentage of spot VMs to maintain.
    Tags Dictionary<string, string>
    Taints List<Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupTaint>
    Add taints to a virtual node group.
    UpdatePolicy Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupUpdatePolicy
    VnetSubnetIds List<string>
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    OceanId string
    The Ocean cluster identifier. Required for Launch Spec creation.
    AutoHeadroomPercentage int
    Optionally set a number between [0 .. 200] to control the percentage of VNG resources dedicated to automatic headroom.
    AvailabilityZones []string
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    DrainingTimeout int
    Time in seconds to allow the node to drain before it is terminated. The parameter value will be in range [300-3600].
    EnableNodePublicIp bool
    Enable node public IP.
    EncryptionAtHost bool
    Whether to enable host-based encryption for nodes. When set to true, use vmSizes.preferredVmSizes to provide compatible VM sizes. Important: This setting is immutable at the Azure infrastructure level once nodes are launched. Changing this value requires a roll operation for new nodes to reflect the updated configuration.
    FallbackToOndemand bool
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    Filters OceanNpVirtualNodeGroupFiltersArgs
    Filters for the VM sizes that can be launched from the virtual node group.
    Headrooms []OceanNpVirtualNodeGroupHeadroomArgs
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    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]string
    An array of labels to add to the virtual node group.Only custom user labels are allowed, and not Kubernetes built-in labels or Spot internal labels.
    LinuxOsConfigs []OceanNpVirtualNodeGroupLinuxOsConfigArgs
    Custom Linux OS configuration.
    LocalDnsProfiles []OceanNpVirtualNodeGroupLocalDnsProfileArgs
    Local DNS profile configuration for the node pool. Requires VM sizes with at least 4 vCPUs and Linux (Ubuntu 22.04+ or Azure Linux) OS. See: AKS Local DNS Custom Field.
    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
    Enter a name for the virtual node group.
    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).
    PreferredVmSizes []string
    Preferred VM sizes for this virtual node group. Used when nodePoolProperties.encryptionAtHost is true to constrain launches to compatible sizes.
    RestrictScaleDown bool
    When set to true, nodes in this VNG will be protected from scale-down as long as they have reschedulable workloads running.
    Scheduling OceanNpVirtualNodeGroupSchedulingArgs
    An object used to specify times when the virtual node group will turn off all its node pools. Once the shutdown time will be over, the virtual node group will return to its previous state.
    ShouldUtilizeCommitments bool
    Determines whether to utilize any existing Azure Savings Plans or Reserved Instances associated with the subscription for On-Demand VMs.
    SpotPercentage int
    Percentage of spot VMs to maintain.
    Tags map[string]string
    Taints []OceanNpVirtualNodeGroupTaintArgs
    Add taints to a virtual node group.
    UpdatePolicy OceanNpVirtualNodeGroupUpdatePolicyArgs
    VnetSubnetIds []string
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    ocean_id string
    The Ocean cluster identifier. Required for Launch Spec creation.
    auto_headroom_percentage number
    Optionally set a number between [0 .. 200] to control the percentage of VNG resources dedicated to automatic headroom.
    availability_zones list(string)
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    draining_timeout number
    Time in seconds to allow the node to drain before it is terminated. The parameter value will be in range [300-3600].
    enable_node_public_ip bool
    Enable node public IP.
    encryption_at_host bool
    Whether to enable host-based encryption for nodes. When set to true, use vmSizes.preferredVmSizes to provide compatible VM sizes. Important: This setting is immutable at the Azure infrastructure level once nodes are launched. Changing this value requires a roll operation for new nodes to reflect the updated configuration.
    fallback_to_ondemand bool
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    filters object
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms list(object)
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    kubernetes_version 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)
    An array of labels to add to the virtual node group.Only custom user labels are allowed, and not Kubernetes built-in labels or Spot internal labels.
    linux_os_configs list(object)
    Custom Linux OS configuration.
    local_dns_profiles list(object)
    Local DNS profile configuration for the node pool. Requires VM sizes with at least 4 vCPUs and Linux (Ubuntu 22.04+ or Azure Linux) OS. See: AKS Local DNS Custom Field.
    max_count number
    Maximum node count limit.
    max_pods_per_node number
    The maximum number of pods per node in the node pools.
    min_count number
    Minimum node count limit.
    name string
    Enter a name for the virtual node group.
    os_disk_size_gb number
    The size of the OS disk in GB.
    os_disk_type string
    The type of the OS disk.
    os_sku string
    The OS SKU of the OS type. Must correlate with the os type.
    os_type string
    The OS type of the OS disk. Can't be modified once set.
    pod_subnet_ids list(string)
    The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
    preferred_vm_sizes list(string)
    Preferred VM sizes for this virtual node group. Used when nodePoolProperties.encryptionAtHost is true to constrain launches to compatible sizes.
    restrict_scale_down bool
    When set to true, nodes in this VNG will be protected from scale-down as long as they have reschedulable workloads running.
    scheduling object
    An object used to specify times when the virtual node group will turn off all its node pools. Once the shutdown time will be over, the virtual node group will return to its previous state.
    should_utilize_commitments bool
    Determines whether to utilize any existing Azure Savings Plans or Reserved Instances associated with the subscription for On-Demand VMs.
    spot_percentage number
    Percentage of spot VMs to maintain.
    tags map(string)
    taints list(object)
    Add taints to a virtual node group.
    update_policy object
    vnet_subnet_ids list(string)
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    oceanId String
    The Ocean cluster identifier. Required for Launch Spec creation.
    autoHeadroomPercentage Integer
    Optionally set a number between [0 .. 200] to control the percentage of VNG resources dedicated to automatic headroom.
    availabilityZones List<String>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    drainingTimeout Integer
    Time in seconds to allow the node to drain before it is terminated. The parameter value will be in range [300-3600].
    enableNodePublicIp Boolean
    Enable node public IP.
    encryptionAtHost Boolean
    Whether to enable host-based encryption for nodes. When set to true, use vmSizes.preferredVmSizes to provide compatible VM sizes. Important: This setting is immutable at the Azure infrastructure level once nodes are launched. Changing this value requires a roll operation for new nodes to reflect the updated configuration.
    fallbackToOndemand Boolean
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    filters OceanNpVirtualNodeGroupFilters
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms List<OceanNpVirtualNodeGroupHeadroom>
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    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,String>
    An array of labels to add to the virtual node group.Only custom user labels are allowed, and not Kubernetes built-in labels or Spot internal labels.
    linuxOsConfigs List<OceanNpVirtualNodeGroupLinuxOsConfig>
    Custom Linux OS configuration.
    localDnsProfiles List<OceanNpVirtualNodeGroupLocalDnsProfile>
    Local DNS profile configuration for the node pool. Requires VM sizes with at least 4 vCPUs and Linux (Ubuntu 22.04+ or Azure Linux) OS. See: AKS Local DNS Custom Field.
    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
    Enter a name for the virtual node group.
    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).
    preferredVmSizes List<String>
    Preferred VM sizes for this virtual node group. Used when nodePoolProperties.encryptionAtHost is true to constrain launches to compatible sizes.
    restrictScaleDown Boolean
    When set to true, nodes in this VNG will be protected from scale-down as long as they have reschedulable workloads running.
    scheduling OceanNpVirtualNodeGroupScheduling
    An object used to specify times when the virtual node group will turn off all its node pools. Once the shutdown time will be over, the virtual node group will return to its previous state.
    shouldUtilizeCommitments Boolean
    Determines whether to utilize any existing Azure Savings Plans or Reserved Instances associated with the subscription for On-Demand VMs.
    spotPercentage Integer
    Percentage of spot VMs to maintain.
    tags Map<String,String>
    taints List<OceanNpVirtualNodeGroupTaint>
    Add taints to a virtual node group.
    updatePolicy OceanNpVirtualNodeGroupUpdatePolicy
    vnetSubnetIds List<String>
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    oceanId string
    The Ocean cluster identifier. Required for Launch Spec creation.
    autoHeadroomPercentage number
    Optionally set a number between [0 .. 200] to control the percentage of VNG resources dedicated to automatic headroom.
    availabilityZones string[]
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    drainingTimeout number
    Time in seconds to allow the node to drain before it is terminated. The parameter value will be in range [300-3600].
    enableNodePublicIp boolean
    Enable node public IP.
    encryptionAtHost boolean
    Whether to enable host-based encryption for nodes. When set to true, use vmSizes.preferredVmSizes to provide compatible VM sizes. Important: This setting is immutable at the Azure infrastructure level once nodes are launched. Changing this value requires a roll operation for new nodes to reflect the updated configuration.
    fallbackToOndemand boolean
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    filters OceanNpVirtualNodeGroupFilters
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms OceanNpVirtualNodeGroupHeadroom[]
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    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]: string}
    An array of labels to add to the virtual node group.Only custom user labels are allowed, and not Kubernetes built-in labels or Spot internal labels.
    linuxOsConfigs OceanNpVirtualNodeGroupLinuxOsConfig[]
    Custom Linux OS configuration.
    localDnsProfiles OceanNpVirtualNodeGroupLocalDnsProfile[]
    Local DNS profile configuration for the node pool. Requires VM sizes with at least 4 vCPUs and Linux (Ubuntu 22.04+ or Azure Linux) OS. See: AKS Local DNS Custom Field.
    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
    Enter a name for the virtual node group.
    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).
    preferredVmSizes string[]
    Preferred VM sizes for this virtual node group. Used when nodePoolProperties.encryptionAtHost is true to constrain launches to compatible sizes.
    restrictScaleDown boolean
    When set to true, nodes in this VNG will be protected from scale-down as long as they have reschedulable workloads running.
    scheduling OceanNpVirtualNodeGroupScheduling
    An object used to specify times when the virtual node group will turn off all its node pools. Once the shutdown time will be over, the virtual node group will return to its previous state.
    shouldUtilizeCommitments boolean
    Determines whether to utilize any existing Azure Savings Plans or Reserved Instances associated with the subscription for On-Demand VMs.
    spotPercentage number
    Percentage of spot VMs to maintain.
    tags {[key: string]: string}
    taints OceanNpVirtualNodeGroupTaint[]
    Add taints to a virtual node group.
    updatePolicy OceanNpVirtualNodeGroupUpdatePolicy
    vnetSubnetIds string[]
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    ocean_id str
    The Ocean cluster identifier. Required for Launch Spec creation.
    auto_headroom_percentage int
    Optionally set a number between [0 .. 200] to control the percentage of VNG resources dedicated to automatic headroom.
    availability_zones Sequence[str]
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    draining_timeout int
    Time in seconds to allow the node to drain before it is terminated. The parameter value will be in range [300-3600].
    enable_node_public_ip bool
    Enable node public IP.
    encryption_at_host bool
    Whether to enable host-based encryption for nodes. When set to true, use vmSizes.preferredVmSizes to provide compatible VM sizes. Important: This setting is immutable at the Azure infrastructure level once nodes are launched. Changing this value requires a roll operation for new nodes to reflect the updated configuration.
    fallback_to_ondemand bool
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    filters OceanNpVirtualNodeGroupFiltersArgs
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms Sequence[OceanNpVirtualNodeGroupHeadroomArgs]
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    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, str]
    An array of labels to add to the virtual node group.Only custom user labels are allowed, and not Kubernetes built-in labels or Spot internal labels.
    linux_os_configs Sequence[OceanNpVirtualNodeGroupLinuxOsConfigArgs]
    Custom Linux OS configuration.
    local_dns_profiles Sequence[OceanNpVirtualNodeGroupLocalDnsProfileArgs]
    Local DNS profile configuration for the node pool. Requires VM sizes with at least 4 vCPUs and Linux (Ubuntu 22.04+ or Azure Linux) OS. See: AKS Local DNS Custom Field.
    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
    Enter a name for the virtual node group.
    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).
    preferred_vm_sizes Sequence[str]
    Preferred VM sizes for this virtual node group. Used when nodePoolProperties.encryptionAtHost is true to constrain launches to compatible sizes.
    restrict_scale_down bool
    When set to true, nodes in this VNG will be protected from scale-down as long as they have reschedulable workloads running.
    scheduling OceanNpVirtualNodeGroupSchedulingArgs
    An object used to specify times when the virtual node group will turn off all its node pools. Once the shutdown time will be over, the virtual node group will return to its previous state.
    should_utilize_commitments bool
    Determines whether to utilize any existing Azure Savings Plans or Reserved Instances associated with the subscription for On-Demand VMs.
    spot_percentage int
    Percentage of spot VMs to maintain.
    tags Mapping[str, str]
    taints Sequence[OceanNpVirtualNodeGroupTaintArgs]
    Add taints to a virtual node group.
    update_policy OceanNpVirtualNodeGroupUpdatePolicyArgs
    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).
    oceanId String
    The Ocean cluster identifier. Required for Launch Spec creation.
    autoHeadroomPercentage Number
    Optionally set a number between [0 .. 200] to control the percentage of VNG resources dedicated to automatic headroom.
    availabilityZones List<String>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    drainingTimeout Number
    Time in seconds to allow the node to drain before it is terminated. The parameter value will be in range [300-3600].
    enableNodePublicIp Boolean
    Enable node public IP.
    encryptionAtHost Boolean
    Whether to enable host-based encryption for nodes. When set to true, use vmSizes.preferredVmSizes to provide compatible VM sizes. Important: This setting is immutable at the Azure infrastructure level once nodes are launched. Changing this value requires a roll operation for new nodes to reflect the updated configuration.
    fallbackToOndemand Boolean
    If no spot instance markets are available, enable Ocean to launch on-demand instances 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.
    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>
    An array of labels to add to the virtual node group.Only custom user labels are allowed, and not Kubernetes built-in labels or Spot internal labels.
    linuxOsConfigs List<Property Map>
    Custom Linux OS configuration.
    localDnsProfiles List<Property Map>
    Local DNS profile configuration for the node pool. Requires VM sizes with at least 4 vCPUs and Linux (Ubuntu 22.04+ or Azure Linux) OS. See: AKS Local DNS Custom Field.
    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
    Enter a name for the virtual node group.
    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).
    preferredVmSizes List<String>
    Preferred VM sizes for this virtual node group. Used when nodePoolProperties.encryptionAtHost is true to constrain launches to compatible sizes.
    restrictScaleDown Boolean
    When set to true, nodes in this VNG will be protected from scale-down as long as they have reschedulable workloads running.
    scheduling Property Map
    An object used to specify times when the virtual node group will turn off all its node pools. Once the shutdown time will be over, the virtual node group will return to its previous state.
    shouldUtilizeCommitments Boolean
    Determines whether to utilize any existing Azure Savings Plans or Reserved Instances associated with the subscription for On-Demand VMs.
    spotPercentage Number
    Percentage of spot VMs to maintain.
    tags Map<String>
    taints List<Property Map>
    Add taints to a virtual node group.
    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 OceanNpVirtualNodeGroup 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 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 OceanNpVirtualNodeGroup Resource

    Get an existing OceanNpVirtualNodeGroup 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?: OceanNpVirtualNodeGroupState, opts?: CustomResourceOptions): OceanNpVirtualNodeGroup
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            auto_headroom_percentage: Optional[int] = None,
            availability_zones: Optional[Sequence[str]] = None,
            draining_timeout: Optional[int] = None,
            enable_node_public_ip: Optional[bool] = None,
            encryption_at_host: Optional[bool] = None,
            fallback_to_ondemand: Optional[bool] = None,
            filters: Optional[OceanNpVirtualNodeGroupFiltersArgs] = None,
            headrooms: Optional[Sequence[OceanNpVirtualNodeGroupHeadroomArgs]] = None,
            kubernetes_version: Optional[str] = None,
            labels: Optional[Mapping[str, str]] = None,
            linux_os_configs: Optional[Sequence[OceanNpVirtualNodeGroupLinuxOsConfigArgs]] = None,
            local_dns_profiles: Optional[Sequence[OceanNpVirtualNodeGroupLocalDnsProfileArgs]] = None,
            max_count: Optional[int] = None,
            max_pods_per_node: Optional[int] = None,
            min_count: Optional[int] = None,
            name: Optional[str] = None,
            ocean_id: 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,
            preferred_vm_sizes: Optional[Sequence[str]] = None,
            restrict_scale_down: Optional[bool] = None,
            scheduling: Optional[OceanNpVirtualNodeGroupSchedulingArgs] = None,
            should_utilize_commitments: Optional[bool] = None,
            spot_percentage: Optional[int] = None,
            tags: Optional[Mapping[str, str]] = None,
            taints: Optional[Sequence[OceanNpVirtualNodeGroupTaintArgs]] = None,
            update_policy: Optional[OceanNpVirtualNodeGroupUpdatePolicyArgs] = None,
            vnet_subnet_ids: Optional[Sequence[str]] = None) -> OceanNpVirtualNodeGroup
    func GetOceanNpVirtualNodeGroup(ctx *Context, name string, id IDInput, state *OceanNpVirtualNodeGroupState, opts ...ResourceOption) (*OceanNpVirtualNodeGroup, error)
    public static OceanNpVirtualNodeGroup Get(string name, Input<string> id, OceanNpVirtualNodeGroupState? state, CustomResourceOptions? opts = null)
    public static OceanNpVirtualNodeGroup get(String name, Output<String> id, OceanNpVirtualNodeGroupState state, CustomResourceOptions options)
    resources:  _:    type: spotinst:azure:OceanNpVirtualNodeGroup    get:      id: ${id}
    import {
      to = spotinst_azure_ocean_np_virtual_node_group.example
      id = "${id}"
    }
    
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AutoHeadroomPercentage int
    Optionally set a number between [0 .. 200] to control the percentage of VNG resources dedicated to automatic headroom.
    AvailabilityZones List<string>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    DrainingTimeout int
    Time in seconds to allow the node to drain before it is terminated. The parameter value will be in range [300-3600].
    EnableNodePublicIp bool
    Enable node public IP.
    EncryptionAtHost bool
    Whether to enable host-based encryption for nodes. When set to true, use vmSizes.preferredVmSizes to provide compatible VM sizes. Important: This setting is immutable at the Azure infrastructure level once nodes are launched. Changing this value requires a roll operation for new nodes to reflect the updated configuration.
    FallbackToOndemand bool
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    Filters Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupFilters
    Filters for the VM sizes that can be launched from the virtual node group.
    Headrooms List<Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupHeadroom>
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    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, string>
    An array of labels to add to the virtual node group.Only custom user labels are allowed, and not Kubernetes built-in labels or Spot internal labels.
    LinuxOsConfigs List<Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLinuxOsConfig>
    Custom Linux OS configuration.
    LocalDnsProfiles List<Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLocalDnsProfile>
    Local DNS profile configuration for the node pool. Requires VM sizes with at least 4 vCPUs and Linux (Ubuntu 22.04+ or Azure Linux) OS. See: AKS Local DNS Custom Field.
    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
    Enter a name for the virtual node group.
    OceanId string
    The Ocean cluster identifier. Required for Launch Spec creation.
    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).
    PreferredVmSizes List<string>
    Preferred VM sizes for this virtual node group. Used when nodePoolProperties.encryptionAtHost is true to constrain launches to compatible sizes.
    RestrictScaleDown bool
    When set to true, nodes in this VNG will be protected from scale-down as long as they have reschedulable workloads running.
    Scheduling Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupScheduling
    An object used to specify times when the virtual node group will turn off all its node pools. Once the shutdown time will be over, the virtual node group will return to its previous state.
    ShouldUtilizeCommitments bool
    Determines whether to utilize any existing Azure Savings Plans or Reserved Instances associated with the subscription for On-Demand VMs.
    SpotPercentage int
    Percentage of spot VMs to maintain.
    Tags Dictionary<string, string>
    Taints List<Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupTaint>
    Add taints to a virtual node group.
    UpdatePolicy Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupUpdatePolicy
    VnetSubnetIds List<string>
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    AutoHeadroomPercentage int
    Optionally set a number between [0 .. 200] to control the percentage of VNG resources dedicated to automatic headroom.
    AvailabilityZones []string
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    DrainingTimeout int
    Time in seconds to allow the node to drain before it is terminated. The parameter value will be in range [300-3600].
    EnableNodePublicIp bool
    Enable node public IP.
    EncryptionAtHost bool
    Whether to enable host-based encryption for nodes. When set to true, use vmSizes.preferredVmSizes to provide compatible VM sizes. Important: This setting is immutable at the Azure infrastructure level once nodes are launched. Changing this value requires a roll operation for new nodes to reflect the updated configuration.
    FallbackToOndemand bool
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    Filters OceanNpVirtualNodeGroupFiltersArgs
    Filters for the VM sizes that can be launched from the virtual node group.
    Headrooms []OceanNpVirtualNodeGroupHeadroomArgs
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    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]string
    An array of labels to add to the virtual node group.Only custom user labels are allowed, and not Kubernetes built-in labels or Spot internal labels.
    LinuxOsConfigs []OceanNpVirtualNodeGroupLinuxOsConfigArgs
    Custom Linux OS configuration.
    LocalDnsProfiles []OceanNpVirtualNodeGroupLocalDnsProfileArgs
    Local DNS profile configuration for the node pool. Requires VM sizes with at least 4 vCPUs and Linux (Ubuntu 22.04+ or Azure Linux) OS. See: AKS Local DNS Custom Field.
    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
    Enter a name for the virtual node group.
    OceanId string
    The Ocean cluster identifier. Required for Launch Spec creation.
    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).
    PreferredVmSizes []string
    Preferred VM sizes for this virtual node group. Used when nodePoolProperties.encryptionAtHost is true to constrain launches to compatible sizes.
    RestrictScaleDown bool
    When set to true, nodes in this VNG will be protected from scale-down as long as they have reschedulable workloads running.
    Scheduling OceanNpVirtualNodeGroupSchedulingArgs
    An object used to specify times when the virtual node group will turn off all its node pools. Once the shutdown time will be over, the virtual node group will return to its previous state.
    ShouldUtilizeCommitments bool
    Determines whether to utilize any existing Azure Savings Plans or Reserved Instances associated with the subscription for On-Demand VMs.
    SpotPercentage int
    Percentage of spot VMs to maintain.
    Tags map[string]string
    Taints []OceanNpVirtualNodeGroupTaintArgs
    Add taints to a virtual node group.
    UpdatePolicy OceanNpVirtualNodeGroupUpdatePolicyArgs
    VnetSubnetIds []string
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    auto_headroom_percentage number
    Optionally set a number between [0 .. 200] to control the percentage of VNG resources dedicated to automatic headroom.
    availability_zones list(string)
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    draining_timeout number
    Time in seconds to allow the node to drain before it is terminated. The parameter value will be in range [300-3600].
    enable_node_public_ip bool
    Enable node public IP.
    encryption_at_host bool
    Whether to enable host-based encryption for nodes. When set to true, use vmSizes.preferredVmSizes to provide compatible VM sizes. Important: This setting is immutable at the Azure infrastructure level once nodes are launched. Changing this value requires a roll operation for new nodes to reflect the updated configuration.
    fallback_to_ondemand bool
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    filters object
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms list(object)
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    kubernetes_version 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)
    An array of labels to add to the virtual node group.Only custom user labels are allowed, and not Kubernetes built-in labels or Spot internal labels.
    linux_os_configs list(object)
    Custom Linux OS configuration.
    local_dns_profiles list(object)
    Local DNS profile configuration for the node pool. Requires VM sizes with at least 4 vCPUs and Linux (Ubuntu 22.04+ or Azure Linux) OS. See: AKS Local DNS Custom Field.
    max_count number
    Maximum node count limit.
    max_pods_per_node number
    The maximum number of pods per node in the node pools.
    min_count number
    Minimum node count limit.
    name string
    Enter a name for the virtual node group.
    ocean_id string
    The Ocean cluster identifier. Required for Launch Spec creation.
    os_disk_size_gb number
    The size of the OS disk in GB.
    os_disk_type string
    The type of the OS disk.
    os_sku string
    The OS SKU of the OS type. Must correlate with the os type.
    os_type string
    The OS type of the OS disk. Can't be modified once set.
    pod_subnet_ids list(string)
    The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
    preferred_vm_sizes list(string)
    Preferred VM sizes for this virtual node group. Used when nodePoolProperties.encryptionAtHost is true to constrain launches to compatible sizes.
    restrict_scale_down bool
    When set to true, nodes in this VNG will be protected from scale-down as long as they have reschedulable workloads running.
    scheduling object
    An object used to specify times when the virtual node group will turn off all its node pools. Once the shutdown time will be over, the virtual node group will return to its previous state.
    should_utilize_commitments bool
    Determines whether to utilize any existing Azure Savings Plans or Reserved Instances associated with the subscription for On-Demand VMs.
    spot_percentage number
    Percentage of spot VMs to maintain.
    tags map(string)
    taints list(object)
    Add taints to a virtual node group.
    update_policy object
    vnet_subnet_ids list(string)
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    autoHeadroomPercentage Integer
    Optionally set a number between [0 .. 200] to control the percentage of VNG resources dedicated to automatic headroom.
    availabilityZones List<String>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    drainingTimeout Integer
    Time in seconds to allow the node to drain before it is terminated. The parameter value will be in range [300-3600].
    enableNodePublicIp Boolean
    Enable node public IP.
    encryptionAtHost Boolean
    Whether to enable host-based encryption for nodes. When set to true, use vmSizes.preferredVmSizes to provide compatible VM sizes. Important: This setting is immutable at the Azure infrastructure level once nodes are launched. Changing this value requires a roll operation for new nodes to reflect the updated configuration.
    fallbackToOndemand Boolean
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    filters OceanNpVirtualNodeGroupFilters
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms List<OceanNpVirtualNodeGroupHeadroom>
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    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,String>
    An array of labels to add to the virtual node group.Only custom user labels are allowed, and not Kubernetes built-in labels or Spot internal labels.
    linuxOsConfigs List<OceanNpVirtualNodeGroupLinuxOsConfig>
    Custom Linux OS configuration.
    localDnsProfiles List<OceanNpVirtualNodeGroupLocalDnsProfile>
    Local DNS profile configuration for the node pool. Requires VM sizes with at least 4 vCPUs and Linux (Ubuntu 22.04+ or Azure Linux) OS. See: AKS Local DNS Custom Field.
    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
    Enter a name for the virtual node group.
    oceanId String
    The Ocean cluster identifier. Required for Launch Spec creation.
    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).
    preferredVmSizes List<String>
    Preferred VM sizes for this virtual node group. Used when nodePoolProperties.encryptionAtHost is true to constrain launches to compatible sizes.
    restrictScaleDown Boolean
    When set to true, nodes in this VNG will be protected from scale-down as long as they have reschedulable workloads running.
    scheduling OceanNpVirtualNodeGroupScheduling
    An object used to specify times when the virtual node group will turn off all its node pools. Once the shutdown time will be over, the virtual node group will return to its previous state.
    shouldUtilizeCommitments Boolean
    Determines whether to utilize any existing Azure Savings Plans or Reserved Instances associated with the subscription for On-Demand VMs.
    spotPercentage Integer
    Percentage of spot VMs to maintain.
    tags Map<String,String>
    taints List<OceanNpVirtualNodeGroupTaint>
    Add taints to a virtual node group.
    updatePolicy OceanNpVirtualNodeGroupUpdatePolicy
    vnetSubnetIds List<String>
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    autoHeadroomPercentage number
    Optionally set a number between [0 .. 200] to control the percentage of VNG resources dedicated to automatic headroom.
    availabilityZones string[]
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    drainingTimeout number
    Time in seconds to allow the node to drain before it is terminated. The parameter value will be in range [300-3600].
    enableNodePublicIp boolean
    Enable node public IP.
    encryptionAtHost boolean
    Whether to enable host-based encryption for nodes. When set to true, use vmSizes.preferredVmSizes to provide compatible VM sizes. Important: This setting is immutable at the Azure infrastructure level once nodes are launched. Changing this value requires a roll operation for new nodes to reflect the updated configuration.
    fallbackToOndemand boolean
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    filters OceanNpVirtualNodeGroupFilters
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms OceanNpVirtualNodeGroupHeadroom[]
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    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]: string}
    An array of labels to add to the virtual node group.Only custom user labels are allowed, and not Kubernetes built-in labels or Spot internal labels.
    linuxOsConfigs OceanNpVirtualNodeGroupLinuxOsConfig[]
    Custom Linux OS configuration.
    localDnsProfiles OceanNpVirtualNodeGroupLocalDnsProfile[]
    Local DNS profile configuration for the node pool. Requires VM sizes with at least 4 vCPUs and Linux (Ubuntu 22.04+ or Azure Linux) OS. See: AKS Local DNS Custom Field.
    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
    Enter a name for the virtual node group.
    oceanId string
    The Ocean cluster identifier. Required for Launch Spec creation.
    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).
    preferredVmSizes string[]
    Preferred VM sizes for this virtual node group. Used when nodePoolProperties.encryptionAtHost is true to constrain launches to compatible sizes.
    restrictScaleDown boolean
    When set to true, nodes in this VNG will be protected from scale-down as long as they have reschedulable workloads running.
    scheduling OceanNpVirtualNodeGroupScheduling
    An object used to specify times when the virtual node group will turn off all its node pools. Once the shutdown time will be over, the virtual node group will return to its previous state.
    shouldUtilizeCommitments boolean
    Determines whether to utilize any existing Azure Savings Plans or Reserved Instances associated with the subscription for On-Demand VMs.
    spotPercentage number
    Percentage of spot VMs to maintain.
    tags {[key: string]: string}
    taints OceanNpVirtualNodeGroupTaint[]
    Add taints to a virtual node group.
    updatePolicy OceanNpVirtualNodeGroupUpdatePolicy
    vnetSubnetIds string[]
    The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
    auto_headroom_percentage int
    Optionally set a number between [0 .. 200] to control the percentage of VNG resources dedicated to automatic headroom.
    availability_zones Sequence[str]
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    draining_timeout int
    Time in seconds to allow the node to drain before it is terminated. The parameter value will be in range [300-3600].
    enable_node_public_ip bool
    Enable node public IP.
    encryption_at_host bool
    Whether to enable host-based encryption for nodes. When set to true, use vmSizes.preferredVmSizes to provide compatible VM sizes. Important: This setting is immutable at the Azure infrastructure level once nodes are launched. Changing this value requires a roll operation for new nodes to reflect the updated configuration.
    fallback_to_ondemand bool
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    filters OceanNpVirtualNodeGroupFiltersArgs
    Filters for the VM sizes that can be launched from the virtual node group.
    headrooms Sequence[OceanNpVirtualNodeGroupHeadroomArgs]
    Specify the custom headroom per VNG. Provide a list of headroom objects.
    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, str]
    An array of labels to add to the virtual node group.Only custom user labels are allowed, and not Kubernetes built-in labels or Spot internal labels.
    linux_os_configs Sequence[OceanNpVirtualNodeGroupLinuxOsConfigArgs]
    Custom Linux OS configuration.
    local_dns_profiles Sequence[OceanNpVirtualNodeGroupLocalDnsProfileArgs]
    Local DNS profile configuration for the node pool. Requires VM sizes with at least 4 vCPUs and Linux (Ubuntu 22.04+ or Azure Linux) OS. See: AKS Local DNS Custom Field.
    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
    Enter a name for the virtual node group.
    ocean_id str
    The Ocean cluster identifier. Required for Launch Spec creation.
    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).
    preferred_vm_sizes Sequence[str]
    Preferred VM sizes for this virtual node group. Used when nodePoolProperties.encryptionAtHost is true to constrain launches to compatible sizes.
    restrict_scale_down bool
    When set to true, nodes in this VNG will be protected from scale-down as long as they have reschedulable workloads running.
    scheduling OceanNpVirtualNodeGroupSchedulingArgs
    An object used to specify times when the virtual node group will turn off all its node pools. Once the shutdown time will be over, the virtual node group will return to its previous state.
    should_utilize_commitments bool
    Determines whether to utilize any existing Azure Savings Plans or Reserved Instances associated with the subscription for On-Demand VMs.
    spot_percentage int
    Percentage of spot VMs to maintain.
    tags Mapping[str, str]
    taints Sequence[OceanNpVirtualNodeGroupTaintArgs]
    Add taints to a virtual node group.
    update_policy OceanNpVirtualNodeGroupUpdatePolicyArgs
    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).
    autoHeadroomPercentage Number
    Optionally set a number between [0 .. 200] to control the percentage of VNG resources dedicated to automatic headroom.
    availabilityZones List<String>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    drainingTimeout Number
    Time in seconds to allow the node to drain before it is terminated. The parameter value will be in range [300-3600].
    enableNodePublicIp Boolean
    Enable node public IP.
    encryptionAtHost Boolean
    Whether to enable host-based encryption for nodes. When set to true, use vmSizes.preferredVmSizes to provide compatible VM sizes. Important: This setting is immutable at the Azure infrastructure level once nodes are launched. Changing this value requires a roll operation for new nodes to reflect the updated configuration.
    fallbackToOndemand Boolean
    If no spot instance markets are available, enable Ocean to launch on-demand instances 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.
    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>
    An array of labels to add to the virtual node group.Only custom user labels are allowed, and not Kubernetes built-in labels or Spot internal labels.
    linuxOsConfigs List<Property Map>
    Custom Linux OS configuration.
    localDnsProfiles List<Property Map>
    Local DNS profile configuration for the node pool. Requires VM sizes with at least 4 vCPUs and Linux (Ubuntu 22.04+ or Azure Linux) OS. See: AKS Local DNS Custom Field.
    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
    Enter a name for the virtual node group.
    oceanId String
    The Ocean cluster identifier. Required for Launch Spec creation.
    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).
    preferredVmSizes List<String>
    Preferred VM sizes for this virtual node group. Used when nodePoolProperties.encryptionAtHost is true to constrain launches to compatible sizes.
    restrictScaleDown Boolean
    When set to true, nodes in this VNG will be protected from scale-down as long as they have reschedulable workloads running.
    scheduling Property Map
    An object used to specify times when the virtual node group will turn off all its node pools. Once the shutdown time will be over, the virtual node group will return to its previous state.
    shouldUtilizeCommitments Boolean
    Determines whether to utilize any existing Azure Savings Plans or Reserved Instances associated with the subscription for On-Demand VMs.
    spotPercentage Number
    Percentage of spot VMs to maintain.
    tags Map<String>
    taints List<Property Map>
    Add taints to a virtual node group.
    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

    OceanNpVirtualNodeGroupFilters, OceanNpVirtualNodeGroupFiltersArgs

    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. x8664 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.
    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. x8664 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.
    VmTypes []string
    The filtered vm types will belong to one of the vm types from this list.
    accelerated_networking 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. x8664 includes both intel64 and amd64.
    disk_performance string
    The filtered vm sizes will support at least one of the classes from this list.
    exclude_series list(string)
    Vm sizes belonging to a series from the list will not be available for scaling.
    gpu_types list(string)
    The filtered gpu types will belong to one of the gpu types from this list.
    max_gpu number
    Maximum number of GPUs available.
    max_memory_gib number
    Maximum amount of Memory (GiB).
    max_vcpu number
    Maximum number of vcpus available.
    min_disk number
    Minimum number of data disks available.
    min_gpu number
    Minimum number of GPUs available.
    min_memory_gib number
    Minimum amount of Memory (GiB).
    min_nics number
    Minimum number of network interfaces.
    min_vcpu number
    Minimum number of vcpus available.
    series list(string)
    Vm sizes belonging to a series from the list will be available for scaling.
    vm_types 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 List<String>
    The filtered vm sizes will support at least one of the architectures from this list. x8664 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.
    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. x8664 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.
    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. x8664 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.
    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. x8664 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.
    vmTypes List<String>
    The filtered vm types will belong to one of the vm types from this list.

    OceanNpVirtualNodeGroupHeadroom, OceanNpVirtualNodeGroupHeadroomArgs

    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.
    cpu_per_unit number
    Configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
    gpu_per_unit number
    Amount of GPU to allocate for headroom unit.
    memory_per_unit number
    Configure the amount of memory (MiB) to allocate the headroom.
    num_of_units number
    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.

    OceanNpVirtualNodeGroupLinuxOsConfig, OceanNpVirtualNodeGroupLinuxOsConfigArgs

    sysctls list(object)
    System Controls

    OceanNpVirtualNodeGroupLinuxOsConfigSysctl, OceanNpVirtualNodeGroupLinuxOsConfigSysctlArgs

    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.
    vm_max_map_count number
    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.

    OceanNpVirtualNodeGroupLocalDnsProfile, OceanNpVirtualNodeGroupLocalDnsProfileArgs

    Mode string
    The LocalDNS mode. Required when localDnsProfile is configured. Allowed values: "Required", "Preferred", "Disabled".
    KubeDnsOverrides List<Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverride>
    Per-zone DNS override configuration for kube-dns/CoreDNS resolution. Keys are DNS zone names (e.g. "." or "cluster.local") and all values are same as vnetDnsOverrides.
    VnetDnsOverrides List<Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverride>
    Per-zone DNS override configuration for VNet DNS resolution. Keys are DNS zone names ("." or "cluster.local").
    Mode string
    The LocalDNS mode. Required when localDnsProfile is configured. Allowed values: "Required", "Preferred", "Disabled".
    KubeDnsOverrides []OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverride
    Per-zone DNS override configuration for kube-dns/CoreDNS resolution. Keys are DNS zone names (e.g. "." or "cluster.local") and all values are same as vnetDnsOverrides.
    VnetDnsOverrides []OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverride
    Per-zone DNS override configuration for VNet DNS resolution. Keys are DNS zone names ("." or "cluster.local").
    mode string
    The LocalDNS mode. Required when localDnsProfile is configured. Allowed values: "Required", "Preferred", "Disabled".
    kube_dns_overrides list(object)
    Per-zone DNS override configuration for kube-dns/CoreDNS resolution. Keys are DNS zone names (e.g. "." or "cluster.local") and all values are same as vnetDnsOverrides.
    vnet_dns_overrides list(object)
    Per-zone DNS override configuration for VNet DNS resolution. Keys are DNS zone names ("." or "cluster.local").
    mode String
    The LocalDNS mode. Required when localDnsProfile is configured. Allowed values: "Required", "Preferred", "Disabled".
    kubeDnsOverrides List<OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverride>
    Per-zone DNS override configuration for kube-dns/CoreDNS resolution. Keys are DNS zone names (e.g. "." or "cluster.local") and all values are same as vnetDnsOverrides.
    vnetDnsOverrides List<OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverride>
    Per-zone DNS override configuration for VNet DNS resolution. Keys are DNS zone names ("." or "cluster.local").
    mode string
    The LocalDNS mode. Required when localDnsProfile is configured. Allowed values: "Required", "Preferred", "Disabled".
    kubeDnsOverrides OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverride[]
    Per-zone DNS override configuration for kube-dns/CoreDNS resolution. Keys are DNS zone names (e.g. "." or "cluster.local") and all values are same as vnetDnsOverrides.
    vnetDnsOverrides OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverride[]
    Per-zone DNS override configuration for VNet DNS resolution. Keys are DNS zone names ("." or "cluster.local").
    mode str
    The LocalDNS mode. Required when localDnsProfile is configured. Allowed values: "Required", "Preferred", "Disabled".
    kube_dns_overrides Sequence[OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverride]
    Per-zone DNS override configuration for kube-dns/CoreDNS resolution. Keys are DNS zone names (e.g. "." or "cluster.local") and all values are same as vnetDnsOverrides.
    vnet_dns_overrides Sequence[OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverride]
    Per-zone DNS override configuration for VNet DNS resolution. Keys are DNS zone names ("." or "cluster.local").
    mode String
    The LocalDNS mode. Required when localDnsProfile is configured. Allowed values: "Required", "Preferred", "Disabled".
    kubeDnsOverrides List<Property Map>
    Per-zone DNS override configuration for kube-dns/CoreDNS resolution. Keys are DNS zone names (e.g. "." or "cluster.local") and all values are same as vnetDnsOverrides.
    vnetDnsOverrides List<Property Map>
    Per-zone DNS override configuration for VNet DNS resolution. Keys are DNS zone names ("." or "cluster.local").

    OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverride, OceanNpVirtualNodeGroupLocalDnsProfileKubeDnsOverrideArgs

    Zone string
    The DNS zone name this override applies to (".", "cluster.local").
    CacheDurationInSeconds int
    Maximum TTL (Time To Live) in seconds for which DNS responses are cached.
    ForwardDestination string
    Specifies the DNS server to forward queries to. Allowed values: "VnetDNS", "ClusterCoreDNS".
    ForwardPolicy string
    Determines the policy to use when selecting the upstream DNS server. Allowed values: "Sequential", "RoundRobin", "Random".
    MaxConcurrent int
    Maximum number of concurrent DNS queries handled by LocalDNS.
    Protocol string
    Sets the protocol used for DNS queries (UDP/TCP preference). Allowed values: "PreferUDP", "ForceTCP".
    QueryLogging string
    Define the logging level for DNS queries. Allowed values: "Error", "Log".
    ServeStale string
    Policy for serving stale DNS responses during upstream failures. Allowed values: "Immediate", "Verify", "Disabled".
    ServeStaleDurationInSeconds int
    Duration (in seconds) to serve stale DNS responses if upstream is unavailable.
    Zone string
    The DNS zone name this override applies to (".", "cluster.local").
    CacheDurationInSeconds int
    Maximum TTL (Time To Live) in seconds for which DNS responses are cached.
    ForwardDestination string
    Specifies the DNS server to forward queries to. Allowed values: "VnetDNS", "ClusterCoreDNS".
    ForwardPolicy string
    Determines the policy to use when selecting the upstream DNS server. Allowed values: "Sequential", "RoundRobin", "Random".
    MaxConcurrent int
    Maximum number of concurrent DNS queries handled by LocalDNS.
    Protocol string
    Sets the protocol used for DNS queries (UDP/TCP preference). Allowed values: "PreferUDP", "ForceTCP".
    QueryLogging string
    Define the logging level for DNS queries. Allowed values: "Error", "Log".
    ServeStale string
    Policy for serving stale DNS responses during upstream failures. Allowed values: "Immediate", "Verify", "Disabled".
    ServeStaleDurationInSeconds int
    Duration (in seconds) to serve stale DNS responses if upstream is unavailable.
    zone string
    The DNS zone name this override applies to (".", "cluster.local").
    cache_duration_in_seconds number
    Maximum TTL (Time To Live) in seconds for which DNS responses are cached.
    forward_destination string
    Specifies the DNS server to forward queries to. Allowed values: "VnetDNS", "ClusterCoreDNS".
    forward_policy string
    Determines the policy to use when selecting the upstream DNS server. Allowed values: "Sequential", "RoundRobin", "Random".
    max_concurrent number
    Maximum number of concurrent DNS queries handled by LocalDNS.
    protocol string
    Sets the protocol used for DNS queries (UDP/TCP preference). Allowed values: "PreferUDP", "ForceTCP".
    query_logging string
    Define the logging level for DNS queries. Allowed values: "Error", "Log".
    serve_stale string
    Policy for serving stale DNS responses during upstream failures. Allowed values: "Immediate", "Verify", "Disabled".
    serve_stale_duration_in_seconds number
    Duration (in seconds) to serve stale DNS responses if upstream is unavailable.
    zone String
    The DNS zone name this override applies to (".", "cluster.local").
    cacheDurationInSeconds Integer
    Maximum TTL (Time To Live) in seconds for which DNS responses are cached.
    forwardDestination String
    Specifies the DNS server to forward queries to. Allowed values: "VnetDNS", "ClusterCoreDNS".
    forwardPolicy String
    Determines the policy to use when selecting the upstream DNS server. Allowed values: "Sequential", "RoundRobin", "Random".
    maxConcurrent Integer
    Maximum number of concurrent DNS queries handled by LocalDNS.
    protocol String
    Sets the protocol used for DNS queries (UDP/TCP preference). Allowed values: "PreferUDP", "ForceTCP".
    queryLogging String
    Define the logging level for DNS queries. Allowed values: "Error", "Log".
    serveStale String
    Policy for serving stale DNS responses during upstream failures. Allowed values: "Immediate", "Verify", "Disabled".
    serveStaleDurationInSeconds Integer
    Duration (in seconds) to serve stale DNS responses if upstream is unavailable.
    zone string
    The DNS zone name this override applies to (".", "cluster.local").
    cacheDurationInSeconds number
    Maximum TTL (Time To Live) in seconds for which DNS responses are cached.
    forwardDestination string
    Specifies the DNS server to forward queries to. Allowed values: "VnetDNS", "ClusterCoreDNS".
    forwardPolicy string
    Determines the policy to use when selecting the upstream DNS server. Allowed values: "Sequential", "RoundRobin", "Random".
    maxConcurrent number
    Maximum number of concurrent DNS queries handled by LocalDNS.
    protocol string
    Sets the protocol used for DNS queries (UDP/TCP preference). Allowed values: "PreferUDP", "ForceTCP".
    queryLogging string
    Define the logging level for DNS queries. Allowed values: "Error", "Log".
    serveStale string
    Policy for serving stale DNS responses during upstream failures. Allowed values: "Immediate", "Verify", "Disabled".
    serveStaleDurationInSeconds number
    Duration (in seconds) to serve stale DNS responses if upstream is unavailable.
    zone str
    The DNS zone name this override applies to (".", "cluster.local").
    cache_duration_in_seconds int
    Maximum TTL (Time To Live) in seconds for which DNS responses are cached.
    forward_destination str
    Specifies the DNS server to forward queries to. Allowed values: "VnetDNS", "ClusterCoreDNS".
    forward_policy str
    Determines the policy to use when selecting the upstream DNS server. Allowed values: "Sequential", "RoundRobin", "Random".
    max_concurrent int
    Maximum number of concurrent DNS queries handled by LocalDNS.
    protocol str
    Sets the protocol used for DNS queries (UDP/TCP preference). Allowed values: "PreferUDP", "ForceTCP".
    query_logging str
    Define the logging level for DNS queries. Allowed values: "Error", "Log".
    serve_stale str
    Policy for serving stale DNS responses during upstream failures. Allowed values: "Immediate", "Verify", "Disabled".
    serve_stale_duration_in_seconds int
    Duration (in seconds) to serve stale DNS responses if upstream is unavailable.
    zone String
    The DNS zone name this override applies to (".", "cluster.local").
    cacheDurationInSeconds Number
    Maximum TTL (Time To Live) in seconds for which DNS responses are cached.
    forwardDestination String
    Specifies the DNS server to forward queries to. Allowed values: "VnetDNS", "ClusterCoreDNS".
    forwardPolicy String
    Determines the policy to use when selecting the upstream DNS server. Allowed values: "Sequential", "RoundRobin", "Random".
    maxConcurrent Number
    Maximum number of concurrent DNS queries handled by LocalDNS.
    protocol String
    Sets the protocol used for DNS queries (UDP/TCP preference). Allowed values: "PreferUDP", "ForceTCP".
    queryLogging String
    Define the logging level for DNS queries. Allowed values: "Error", "Log".
    serveStale String
    Policy for serving stale DNS responses during upstream failures. Allowed values: "Immediate", "Verify", "Disabled".
    serveStaleDurationInSeconds Number
    Duration (in seconds) to serve stale DNS responses if upstream is unavailable.

    OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverride, OceanNpVirtualNodeGroupLocalDnsProfileVnetDnsOverrideArgs

    Zone string
    The DNS zone name this override applies to (".", "cluster.local").
    CacheDurationInSeconds int
    Maximum TTL (Time To Live) in seconds for which DNS responses are cached.
    ForwardDestination string
    Specifies the DNS server to forward queries to. Allowed values: "VnetDNS", "ClusterCoreDNS".
    ForwardPolicy string
    Determines the policy to use when selecting the upstream DNS server. Allowed values: "Sequential", "RoundRobin", "Random".
    MaxConcurrent int
    Maximum number of concurrent DNS queries handled by LocalDNS.
    Protocol string
    Sets the protocol used for DNS queries (UDP/TCP preference). Allowed values: "PreferUDP", "ForceTCP".
    QueryLogging string
    Define the logging level for DNS queries. Allowed values: "Error", "Log".
    ServeStale string
    Policy for serving stale DNS responses during upstream failures. Allowed values: "Immediate", "Verify", "Disabled".
    ServeStaleDurationInSeconds int
    Duration (in seconds) to serve stale DNS responses if upstream is unavailable.
    Zone string
    The DNS zone name this override applies to (".", "cluster.local").
    CacheDurationInSeconds int
    Maximum TTL (Time To Live) in seconds for which DNS responses are cached.
    ForwardDestination string
    Specifies the DNS server to forward queries to. Allowed values: "VnetDNS", "ClusterCoreDNS".
    ForwardPolicy string
    Determines the policy to use when selecting the upstream DNS server. Allowed values: "Sequential", "RoundRobin", "Random".
    MaxConcurrent int
    Maximum number of concurrent DNS queries handled by LocalDNS.
    Protocol string
    Sets the protocol used for DNS queries (UDP/TCP preference). Allowed values: "PreferUDP", "ForceTCP".
    QueryLogging string
    Define the logging level for DNS queries. Allowed values: "Error", "Log".
    ServeStale string
    Policy for serving stale DNS responses during upstream failures. Allowed values: "Immediate", "Verify", "Disabled".
    ServeStaleDurationInSeconds int
    Duration (in seconds) to serve stale DNS responses if upstream is unavailable.
    zone string
    The DNS zone name this override applies to (".", "cluster.local").
    cache_duration_in_seconds number
    Maximum TTL (Time To Live) in seconds for which DNS responses are cached.
    forward_destination string
    Specifies the DNS server to forward queries to. Allowed values: "VnetDNS", "ClusterCoreDNS".
    forward_policy string
    Determines the policy to use when selecting the upstream DNS server. Allowed values: "Sequential", "RoundRobin", "Random".
    max_concurrent number
    Maximum number of concurrent DNS queries handled by LocalDNS.
    protocol string
    Sets the protocol used for DNS queries (UDP/TCP preference). Allowed values: "PreferUDP", "ForceTCP".
    query_logging string
    Define the logging level for DNS queries. Allowed values: "Error", "Log".
    serve_stale string
    Policy for serving stale DNS responses during upstream failures. Allowed values: "Immediate", "Verify", "Disabled".
    serve_stale_duration_in_seconds number
    Duration (in seconds) to serve stale DNS responses if upstream is unavailable.
    zone String
    The DNS zone name this override applies to (".", "cluster.local").
    cacheDurationInSeconds Integer
    Maximum TTL (Time To Live) in seconds for which DNS responses are cached.
    forwardDestination String
    Specifies the DNS server to forward queries to. Allowed values: "VnetDNS", "ClusterCoreDNS".
    forwardPolicy String
    Determines the policy to use when selecting the upstream DNS server. Allowed values: "Sequential", "RoundRobin", "Random".
    maxConcurrent Integer
    Maximum number of concurrent DNS queries handled by LocalDNS.
    protocol String
    Sets the protocol used for DNS queries (UDP/TCP preference). Allowed values: "PreferUDP", "ForceTCP".
    queryLogging String
    Define the logging level for DNS queries. Allowed values: "Error", "Log".
    serveStale String
    Policy for serving stale DNS responses during upstream failures. Allowed values: "Immediate", "Verify", "Disabled".
    serveStaleDurationInSeconds Integer
    Duration (in seconds) to serve stale DNS responses if upstream is unavailable.
    zone string
    The DNS zone name this override applies to (".", "cluster.local").
    cacheDurationInSeconds number
    Maximum TTL (Time To Live) in seconds for which DNS responses are cached.
    forwardDestination string
    Specifies the DNS server to forward queries to. Allowed values: "VnetDNS", "ClusterCoreDNS".
    forwardPolicy string
    Determines the policy to use when selecting the upstream DNS server. Allowed values: "Sequential", "RoundRobin", "Random".
    maxConcurrent number
    Maximum number of concurrent DNS queries handled by LocalDNS.
    protocol string
    Sets the protocol used for DNS queries (UDP/TCP preference). Allowed values: "PreferUDP", "ForceTCP".
    queryLogging string
    Define the logging level for DNS queries. Allowed values: "Error", "Log".
    serveStale string
    Policy for serving stale DNS responses during upstream failures. Allowed values: "Immediate", "Verify", "Disabled".
    serveStaleDurationInSeconds number
    Duration (in seconds) to serve stale DNS responses if upstream is unavailable.
    zone str
    The DNS zone name this override applies to (".", "cluster.local").
    cache_duration_in_seconds int
    Maximum TTL (Time To Live) in seconds for which DNS responses are cached.
    forward_destination str
    Specifies the DNS server to forward queries to. Allowed values: "VnetDNS", "ClusterCoreDNS".
    forward_policy str
    Determines the policy to use when selecting the upstream DNS server. Allowed values: "Sequential", "RoundRobin", "Random".
    max_concurrent int
    Maximum number of concurrent DNS queries handled by LocalDNS.
    protocol str
    Sets the protocol used for DNS queries (UDP/TCP preference). Allowed values: "PreferUDP", "ForceTCP".
    query_logging str
    Define the logging level for DNS queries. Allowed values: "Error", "Log".
    serve_stale str
    Policy for serving stale DNS responses during upstream failures. Allowed values: "Immediate", "Verify", "Disabled".
    serve_stale_duration_in_seconds int
    Duration (in seconds) to serve stale DNS responses if upstream is unavailable.
    zone String
    The DNS zone name this override applies to (".", "cluster.local").
    cacheDurationInSeconds Number
    Maximum TTL (Time To Live) in seconds for which DNS responses are cached.
    forwardDestination String
    Specifies the DNS server to forward queries to. Allowed values: "VnetDNS", "ClusterCoreDNS".
    forwardPolicy String
    Determines the policy to use when selecting the upstream DNS server. Allowed values: "Sequential", "RoundRobin", "Random".
    maxConcurrent Number
    Maximum number of concurrent DNS queries handled by LocalDNS.
    protocol String
    Sets the protocol used for DNS queries (UDP/TCP preference). Allowed values: "PreferUDP", "ForceTCP".
    queryLogging String
    Define the logging level for DNS queries. Allowed values: "Error", "Log".
    serveStale String
    Policy for serving stale DNS responses during upstream failures. Allowed values: "Immediate", "Verify", "Disabled".
    serveStaleDurationInSeconds Number
    Duration (in seconds) to serve stale DNS responses if upstream is unavailable.

    OceanNpVirtualNodeGroupScheduling, OceanNpVirtualNodeGroupSchedulingArgs

    ShutdownHours Pulumi.SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupSchedulingShutdownHours
    An object used to specify times that the nodes in the virtual node group will be stopped.
    ShutdownHours OceanNpVirtualNodeGroupSchedulingShutdownHours
    An object used to specify times that the nodes in the virtual node group will be stopped.
    shutdown_hours object
    An object used to specify times that the nodes in the virtual node group will be stopped.
    shutdownHours OceanNpVirtualNodeGroupSchedulingShutdownHours
    An object used to specify times that the nodes in the virtual node group will be stopped.
    shutdownHours OceanNpVirtualNodeGroupSchedulingShutdownHours
    An object used to specify times that the nodes in the virtual node group will be stopped.
    shutdown_hours OceanNpVirtualNodeGroupSchedulingShutdownHours
    An object used to specify times that the nodes in the virtual node group will be stopped.
    shutdownHours Property Map
    An object used to specify times that the nodes in the virtual node group will be stopped.

    OceanNpVirtualNodeGroupSchedulingShutdownHours, OceanNpVirtualNodeGroupSchedulingShutdownHoursArgs

    IsEnabled bool
    Flag to enable or disable the shutdown hours mechanism. When false, the mechanism is deactivated, and the virtual node gorup remains in its current state.
    TimeWindows List<string>
    The times that the shutdown hours will apply. Required if isEnabled is true.
    IsEnabled bool
    Flag to enable or disable the shutdown hours mechanism. When false, the mechanism is deactivated, and the virtual node gorup remains in its current state.
    TimeWindows []string
    The times that the shutdown hours will apply. Required if isEnabled is true.
    is_enabled bool
    Flag to enable or disable the shutdown hours mechanism. When false, the mechanism is deactivated, and the virtual node gorup remains in its current state.
    time_windows list(string)
    The times that the shutdown hours will apply. Required if isEnabled is true.
    isEnabled Boolean
    Flag to enable or disable the shutdown hours mechanism. When false, the mechanism is deactivated, and the virtual node gorup remains in its current state.
    timeWindows List<String>
    The times that the shutdown hours will apply. Required if isEnabled is true.
    isEnabled boolean
    Flag to enable or disable the shutdown hours mechanism. When false, the mechanism is deactivated, and the virtual node gorup remains in its current state.
    timeWindows string[]
    The times that the shutdown hours will apply. Required if isEnabled is true.
    is_enabled bool
    Flag to enable or disable the shutdown hours mechanism. When false, the mechanism is deactivated, and the virtual node gorup remains in its current state.
    time_windows Sequence[str]
    The times that the shutdown hours will apply. Required if isEnabled is true.
    isEnabled Boolean
    Flag to enable or disable the shutdown hours mechanism. When false, the mechanism is deactivated, and the virtual node gorup remains in its current state.
    timeWindows List<String>
    The times that the shutdown hours will apply. Required if isEnabled is true.

    OceanNpVirtualNodeGroupTaint, OceanNpVirtualNodeGroupTaintArgs

    Effect string
    Set taint effect.
    Key string
    Set taint key. The following are not allowed: "kubernetes.azure.com/scalesetpriority".
    Value string
    Set taint value.
    Effect string
    Set taint effect.
    Key string
    Set taint key. The following are not allowed: "kubernetes.azure.com/scalesetpriority".
    Value string
    Set taint value.
    effect string
    Set taint effect.
    key string
    Set taint key. The following are not allowed: "kubernetes.azure.com/scalesetpriority".
    value string
    Set taint value.
    effect String
    Set taint effect.
    key String
    Set taint key. The following are not allowed: "kubernetes.azure.com/scalesetpriority".
    value String
    Set taint value.
    effect string
    Set taint effect.
    key string
    Set taint key. The following are not allowed: "kubernetes.azure.com/scalesetpriority".
    value string
    Set taint value.
    effect str
    Set taint effect.
    key str
    Set taint key. The following are not allowed: "kubernetes.azure.com/scalesetpriority".
    value str
    Set taint value.
    effect String
    Set taint effect.
    key String
    Set taint key. The following are not allowed: "kubernetes.azure.com/scalesetpriority".
    value String
    Set taint value.

    OceanNpVirtualNodeGroupUpdatePolicy, OceanNpVirtualNodeGroupUpdatePolicyArgs

    ShouldRoll bool
    If set to true along with the vng 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.OceanNpVirtualNodeGroupUpdatePolicyRollConfig
    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 vng 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 OceanNpVirtualNodeGroupUpdatePolicyRollConfig
    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 vng 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 object
    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 vng 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 OceanNpVirtualNodeGroupUpdatePolicyRollConfig
    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 vng 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 OceanNpVirtualNodeGroupUpdatePolicyRollConfig
    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 vng 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 OceanNpVirtualNodeGroupUpdatePolicyRollConfig
    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 vng 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.

    OceanNpVirtualNodeGroupUpdatePolicyRollConfig, OceanNpVirtualNodeGroupUpdatePolicyRollConfigArgs

    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.
    batch_min_healthy_percentage 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.
    batch_size_percentage 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.
    node_names 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.
    node_pool_names 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.
    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 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 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
    Viewing docs for Spotinst v3.138.1
    published on Wednesday, Sep 2, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial