1. Packages
  2. Spotinst Provider
  3. API Docs
  4. azure
  5. OceanNpVirtualNodeGroup
Spotinst v3.116.0 published on Friday, Mar 28, 2025 by Pulumi

spotinst.azure.OceanNpVirtualNodeGroup

Explore with Pulumi AI

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",
    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,
    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,
        }],
    }],
    spotPercentage: 50,
    fallbackToOndemand: 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"],
    },
    scheduling: {
        shutdownHours: {
            isEnabled: true,
            timeWindows: [
                "Fri:15:30-Sat:20:30",
                "Sun:08:30-Mon:08:30",
            ],
        },
    },
});
Copy
import pulumi
import pulumi_spotinst as spotinst

example = spotinst.azure.OceanNpVirtualNodeGroup("example",
    name="testVng",
    ocean_id="o-134abcd",
    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,
    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,
        }],
    }],
    spot_percentage=50,
    fallback_to_ondemand=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"],
    },
    scheduling={
        "shutdown_hours": {
            "is_enabled": True,
            "time_windows": [
                "Fri:15:30-Sat:20:30",
                "Sun:08:30-Mon:08:30",
            ],
        },
    })
Copy
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"),
			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),
			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),
						},
					},
				},
			},
			SpotPercentage:     pulumi.Int(50),
			FallbackToOndemand: 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"),
				},
			},
			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
	})
}
Copy
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",
        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,
        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,
                    },
                },
            },
        },
        SpotPercentage = 50,
        FallbackToOndemand = 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",
            },
        },
        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",
                },
            },
        },
    });

});
Copy
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.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.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var example = new OceanNpVirtualNodeGroup("example", OceanNpVirtualNodeGroupArgs.builder()
            .name("testVng")
            .oceanId("o-134abcd")
            .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)
            .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())
            .spotPercentage(50)
            .fallbackToOndemand(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)
                .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")
                .build())
            .scheduling(OceanNpVirtualNodeGroupSchedulingArgs.builder()
                .shutdownHours(OceanNpVirtualNodeGroupSchedulingShutdownHoursArgs.builder()
                    .isEnabled(true)
                    .timeWindows(                    
                        "Fri:15:30-Sat:20:30",
                        "Sun:08:30-Mon:08:30")
                    .build())
                .build())
            .build());

    }
}
Copy
resources:
  example:
    type: spotinst:azure:OceanNpVirtualNodeGroup
    properties:
      name: testVng
      oceanId: o-134abcd
      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
      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
      spotPercentage: 50
      fallbackToOndemand: 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
      scheduling:
        shutdownHours:
          isEnabled: true
          timeWindows:
            - Fri:15:30-Sat:20:30
            - Sun:08:30-Mon:08:30
Copy
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,
                            labels: Optional[Mapping[str, str]] = None,
                            vnet_subnet_ids: Optional[Sequence[str]] = None,
                            name: Optional[str] = None,
                            headrooms: Optional[Sequence[OceanNpVirtualNodeGroupHeadroomArgs]] = None,
                            kubernetes_version: Optional[str] = None,
                            availability_zones: Optional[Sequence[str]] = None,
                            linux_os_configs: Optional[Sequence[OceanNpVirtualNodeGroupLinuxOsConfigArgs]] = None,
                            max_count: Optional[int] = None,
                            max_pods_per_node: Optional[int] = None,
                            os_disk_size_gb: Optional[int] = None,
                            filters: Optional[OceanNpVirtualNodeGroupFiltersArgs] = None,
                            fallback_to_ondemand: Optional[bool] = None,
                            min_count: Optional[int] = None,
                            os_disk_type: Optional[str] = None,
                            os_sku: Optional[str] = None,
                            os_type: Optional[str] = None,
                            pod_subnet_ids: Optional[Sequence[str]] = None,
                            scheduling: Optional[OceanNpVirtualNodeGroupSchedulingArgs] = None,
                            spot_percentage: Optional[int] = None,
                            tags: Optional[Mapping[str, str]] = None,
                            taints: Optional[Sequence[OceanNpVirtualNodeGroupTaintArgs]] = None,
                            update_policy: Optional[OceanNpVirtualNodeGroupUpdatePolicyArgs] = None,
                            enable_node_public_ip: Optional[bool] = 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.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. OceanNpVirtualNodeGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. OceanNpVirtualNodeGroupArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. OceanNpVirtualNodeGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. 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",
    Labels = 
    {
        { "string", "string" },
    },
    VnetSubnetIds = new[]
    {
        "string",
    },
    Name = "string",
    Headrooms = new[]
    {
        new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupHeadroomArgs
        {
            CpuPerUnit = 0,
            GpuPerUnit = 0,
            MemoryPerUnit = 0,
            NumOfUnits = 0,
        },
    },
    KubernetesVersion = "string",
    AvailabilityZones = new[]
    {
        "string",
    },
    LinuxOsConfigs = new[]
    {
        new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLinuxOsConfigArgs
        {
            Sysctls = new[]
            {
                new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupLinuxOsConfigSysctlArgs
                {
                    VmMaxMapCount = 0,
                },
            },
        },
    },
    MaxCount = 0,
    MaxPodsPerNode = 0,
    OsDiskSizeGb = 0,
    Filters = new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupFiltersArgs
    {
        AcceleratedNetworking = "string",
        Architectures = new[]
        {
            "string",
        },
        DiskPerformance = "string",
        ExcludeSeries = new[]
        {
            "string",
        },
        GpuTypes = new[]
        {
            "string",
        },
        MaxGpu = 0,
        MaxMemoryGib = 0,
        MaxVcpu = 0,
        MinDisk = 0,
        MinGpu = 0,
        MinMemoryGib = 0,
        MinNics = 0,
        MinVcpu = 0,
        Series = new[]
        {
            "string",
        },
        VmTypes = new[]
        {
            "string",
        },
    },
    FallbackToOndemand = false,
    MinCount = 0,
    OsDiskType = "string",
    OsSku = "string",
    OsType = "string",
    PodSubnetIds = new[]
    {
        "string",
    },
    Scheduling = new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupSchedulingArgs
    {
        ShutdownHours = new SpotInst.Azure.Inputs.OceanNpVirtualNodeGroupSchedulingShutdownHoursArgs
        {
            IsEnabled = false,
            TimeWindows = new[]
            {
                "string",
            },
        },
    },
    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",
            },
        },
    },
    EnableNodePublicIp = false,
});
Copy
example, err := azure.NewOceanNpVirtualNodeGroup(ctx, "oceanNpVirtualNodeGroupResource", &azure.OceanNpVirtualNodeGroupArgs{
	OceanId: pulumi.String("string"),
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	VnetSubnetIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	Name: 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"),
	AvailabilityZones: pulumi.StringArray{
		pulumi.String("string"),
	},
	LinuxOsConfigs: azure.OceanNpVirtualNodeGroupLinuxOsConfigArray{
		&azure.OceanNpVirtualNodeGroupLinuxOsConfigArgs{
			Sysctls: azure.OceanNpVirtualNodeGroupLinuxOsConfigSysctlArray{
				&azure.OceanNpVirtualNodeGroupLinuxOsConfigSysctlArgs{
					VmMaxMapCount: pulumi.Int(0),
				},
			},
		},
	},
	MaxCount:       pulumi.Int(0),
	MaxPodsPerNode: pulumi.Int(0),
	OsDiskSizeGb:   pulumi.Int(0),
	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"),
		},
	},
	FallbackToOndemand: pulumi.Bool(false),
	MinCount:           pulumi.Int(0),
	OsDiskType:         pulumi.String("string"),
	OsSku:              pulumi.String("string"),
	OsType:             pulumi.String("string"),
	PodSubnetIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	Scheduling: &azure.OceanNpVirtualNodeGroupSchedulingArgs{
		ShutdownHours: &azure.OceanNpVirtualNodeGroupSchedulingShutdownHoursArgs{
			IsEnabled: pulumi.Bool(false),
			TimeWindows: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
	},
	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"),
			},
		},
	},
	EnableNodePublicIp: pulumi.Bool(false),
})
Copy
var oceanNpVirtualNodeGroupResource = new OceanNpVirtualNodeGroup("oceanNpVirtualNodeGroupResource", OceanNpVirtualNodeGroupArgs.builder()
    .oceanId("string")
    .labels(Map.of("string", "string"))
    .vnetSubnetIds("string")
    .name("string")
    .headrooms(OceanNpVirtualNodeGroupHeadroomArgs.builder()
        .cpuPerUnit(0)
        .gpuPerUnit(0)
        .memoryPerUnit(0)
        .numOfUnits(0)
        .build())
    .kubernetesVersion("string")
    .availabilityZones("string")
    .linuxOsConfigs(OceanNpVirtualNodeGroupLinuxOsConfigArgs.builder()
        .sysctls(OceanNpVirtualNodeGroupLinuxOsConfigSysctlArgs.builder()
            .vmMaxMapCount(0)
            .build())
        .build())
    .maxCount(0)
    .maxPodsPerNode(0)
    .osDiskSizeGb(0)
    .filters(OceanNpVirtualNodeGroupFiltersArgs.builder()
        .acceleratedNetworking("string")
        .architectures("string")
        .diskPerformance("string")
        .excludeSeries("string")
        .gpuTypes("string")
        .maxGpu(0)
        .maxMemoryGib(0)
        .maxVcpu(0)
        .minDisk(0)
        .minGpu(0)
        .minMemoryGib(0)
        .minNics(0)
        .minVcpu(0)
        .series("string")
        .vmTypes("string")
        .build())
    .fallbackToOndemand(false)
    .minCount(0)
    .osDiskType("string")
    .osSku("string")
    .osType("string")
    .podSubnetIds("string")
    .scheduling(OceanNpVirtualNodeGroupSchedulingArgs.builder()
        .shutdownHours(OceanNpVirtualNodeGroupSchedulingShutdownHoursArgs.builder()
            .isEnabled(false)
            .timeWindows("string")
            .build())
        .build())
    .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())
    .enableNodePublicIp(false)
    .build());
Copy
ocean_np_virtual_node_group_resource = spotinst.azure.OceanNpVirtualNodeGroup("oceanNpVirtualNodeGroupResource",
    ocean_id="string",
    labels={
        "string": "string",
    },
    vnet_subnet_ids=["string"],
    name="string",
    headrooms=[{
        "cpu_per_unit": 0,
        "gpu_per_unit": 0,
        "memory_per_unit": 0,
        "num_of_units": 0,
    }],
    kubernetes_version="string",
    availability_zones=["string"],
    linux_os_configs=[{
        "sysctls": [{
            "vm_max_map_count": 0,
        }],
    }],
    max_count=0,
    max_pods_per_node=0,
    os_disk_size_gb=0,
    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"],
    },
    fallback_to_ondemand=False,
    min_count=0,
    os_disk_type="string",
    os_sku="string",
    os_type="string",
    pod_subnet_ids=["string"],
    scheduling={
        "shutdown_hours": {
            "is_enabled": False,
            "time_windows": ["string"],
        },
    },
    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"],
        },
    },
    enable_node_public_ip=False)
Copy
const oceanNpVirtualNodeGroupResource = new spotinst.azure.OceanNpVirtualNodeGroup("oceanNpVirtualNodeGroupResource", {
    oceanId: "string",
    labels: {
        string: "string",
    },
    vnetSubnetIds: ["string"],
    name: "string",
    headrooms: [{
        cpuPerUnit: 0,
        gpuPerUnit: 0,
        memoryPerUnit: 0,
        numOfUnits: 0,
    }],
    kubernetesVersion: "string",
    availabilityZones: ["string"],
    linuxOsConfigs: [{
        sysctls: [{
            vmMaxMapCount: 0,
        }],
    }],
    maxCount: 0,
    maxPodsPerNode: 0,
    osDiskSizeGb: 0,
    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"],
    },
    fallbackToOndemand: false,
    minCount: 0,
    osDiskType: "string",
    osSku: "string",
    osType: "string",
    podSubnetIds: ["string"],
    scheduling: {
        shutdownHours: {
            isEnabled: false,
            timeWindows: ["string"],
        },
    },
    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"],
        },
    },
    enableNodePublicIp: false,
});
Copy
type: spotinst:azure:OceanNpVirtualNodeGroup
properties:
    availabilityZones:
        - string
    enableNodePublicIp: false
    fallbackToOndemand: false
    filters:
        acceleratedNetworking: string
        architectures:
            - string
        diskPerformance: string
        excludeSeries:
            - string
        gpuTypes:
            - string
        maxGpu: 0
        maxMemoryGib: 0
        maxVcpu: 0
        minDisk: 0
        minGpu: 0
        minMemoryGib: 0
        minNics: 0
        minVcpu: 0
        series:
            - string
        vmTypes:
            - string
    headrooms:
        - cpuPerUnit: 0
          gpuPerUnit: 0
          memoryPerUnit: 0
          numOfUnits: 0
    kubernetesVersion: string
    labels:
        string: string
    linuxOsConfigs:
        - sysctls:
            - vmMaxMapCount: 0
    maxCount: 0
    maxPodsPerNode: 0
    minCount: 0
    name: string
    oceanId: string
    osDiskSizeGb: 0
    osDiskType: string
    osSku: string
    osType: string
    podSubnetIds:
        - string
    scheduling:
        shutdownHours:
            isEnabled: false
            timeWindows:
                - string
    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
Copy

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 This property is required. string
The Ocean cluster identifier. Required for Launch Spec creation.
AvailabilityZones List<string>
An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
EnableNodePublicIp bool
Enable node public IP.
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.
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).
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.
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 This property is required. string
The Ocean cluster identifier. Required for Launch Spec creation.
AvailabilityZones []string
An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
EnableNodePublicIp bool
Enable node public IP.
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.
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).
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.
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).
oceanId This property is required. String
The Ocean cluster identifier. Required for Launch Spec creation.
availabilityZones List<String>
An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
enableNodePublicIp Boolean
Enable node public IP.
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.
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).
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.
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 This property is required. string
The Ocean cluster identifier. Required for Launch Spec creation.
availabilityZones string[]
An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
enableNodePublicIp boolean
Enable node public IP.
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.
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).
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.
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 This property is required. str
The Ocean cluster identifier. Required for Launch Spec creation.
availability_zones Sequence[str]
An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
enable_node_public_ip bool
Enable node public IP.
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.
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).
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.
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 This property is required. String
The Ocean cluster identifier. Required for Launch Spec creation.
availabilityZones List<String>
An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
enableNodePublicIp Boolean
Enable node public IP.
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.
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).
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.
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 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,
        availability_zones: Optional[Sequence[str]] = None,
        enable_node_public_ip: 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,
        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,
        scheduling: Optional[OceanNpVirtualNodeGroupSchedulingArgs] = 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}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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:
AvailabilityZones List<string>
An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
EnableNodePublicIp bool
Enable node public IP.
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.
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).
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.
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).
AvailabilityZones []string
An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
EnableNodePublicIp bool
Enable node public IP.
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.
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).
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.
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).
availabilityZones List<String>
An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
enableNodePublicIp Boolean
Enable node public IP.
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.
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).
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.
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).
availabilityZones string[]
An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
enableNodePublicIp boolean
Enable node public IP.
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.
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).
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.
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).
availability_zones Sequence[str]
An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
enable_node_public_ip bool
Enable node public IP.
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.
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).
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.
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).
availabilityZones List<String>
An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
enableNodePublicIp Boolean
Enable node public IP.
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.
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).
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.
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. x86_64 includes both intel64 and amd64.
DiskPerformance string
The filtered vm sizes will support at least one of the classes from this list.
ExcludeSeries List<string>
Vm sizes belonging to a series from the list will not be available for scaling.
GpuTypes List<string>
The filtered gpu types will belong to one of the gpu types from this list.
MaxGpu double
Maximum number of GPUs available.
MaxMemoryGib double
Maximum amount of Memory (GiB).
MaxVcpu int
Maximum number of vcpus available.
MinDisk int
Minimum number of data disks available.
MinGpu double
Minimum number of GPUs available.
MinMemoryGib double
Minimum amount of Memory (GiB).
MinNics int
Minimum number of network interfaces.
MinVcpu int
Minimum number of vcpus available.
Series List<string>
Vm sizes belonging to a series from the list will be available for scaling.
VmTypes List<string>
The filtered vm types will belong to one of the vm types from this list.
AcceleratedNetworking string
In case acceleratedNetworking is set to Enabled, accelerated networking applies only to the VM that enables it.
Architectures []string
The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.
DiskPerformance string
The filtered vm sizes will support at least one of the classes from this list.
ExcludeSeries []string
Vm sizes belonging to a series from the list will not be available for scaling.
GpuTypes []string
The filtered gpu types will belong to one of the gpu types from this list.
MaxGpu float64
Maximum number of GPUs available.
MaxMemoryGib float64
Maximum amount of Memory (GiB).
MaxVcpu int
Maximum number of vcpus available.
MinDisk int
Minimum number of data disks available.
MinGpu float64
Minimum number of GPUs available.
MinMemoryGib float64
Minimum amount of Memory (GiB).
MinNics int
Minimum number of network interfaces.
MinVcpu int
Minimum number of vcpus available.
Series []string
Vm sizes belonging to a series from the list will be available for scaling.
VmTypes []string
The filtered vm types will belong to one of the vm types from this list.
acceleratedNetworking String
In case acceleratedNetworking is set to Enabled, accelerated networking applies only to the VM that enables it.
architectures List<String>
The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.
diskPerformance String
The filtered vm sizes will support at least one of the classes from this list.
excludeSeries List<String>
Vm sizes belonging to a series from the list will not be available for scaling.
gpuTypes List<String>
The filtered gpu types will belong to one of the gpu types from this list.
maxGpu Double
Maximum number of GPUs available.
maxMemoryGib Double
Maximum amount of Memory (GiB).
maxVcpu Integer
Maximum number of vcpus available.
minDisk Integer
Minimum number of data disks available.
minGpu Double
Minimum number of GPUs available.
minMemoryGib Double
Minimum amount of Memory (GiB).
minNics Integer
Minimum number of network interfaces.
minVcpu Integer
Minimum number of vcpus available.
series List<String>
Vm sizes belonging to a series from the list will be available for scaling.
vmTypes List<String>
The filtered vm types will belong to one of the vm types from this list.
acceleratedNetworking string
In case acceleratedNetworking is set to Enabled, accelerated networking applies only to the VM that enables it.
architectures string[]
The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.
diskPerformance string
The filtered vm sizes will support at least one of the classes from this list.
excludeSeries string[]
Vm sizes belonging to a series from the list will not be available for scaling.
gpuTypes string[]
The filtered gpu types will belong to one of the gpu types from this list.
maxGpu number
Maximum number of GPUs available.
maxMemoryGib number
Maximum amount of Memory (GiB).
maxVcpu number
Maximum number of vcpus available.
minDisk number
Minimum number of data disks available.
minGpu number
Minimum number of GPUs available.
minMemoryGib number
Minimum amount of Memory (GiB).
minNics number
Minimum number of network interfaces.
minVcpu number
Minimum number of vcpus available.
series string[]
Vm sizes belonging to a series from the list will be available for scaling.
vmTypes string[]
The filtered vm types will belong to one of the vm types from this list.
accelerated_networking str
In case acceleratedNetworking is set to Enabled, accelerated networking applies only to the VM that enables it.
architectures Sequence[str]
The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.
disk_performance str
The filtered vm sizes will support at least one of the classes from this list.
exclude_series Sequence[str]
Vm sizes belonging to a series from the list will not be available for scaling.
gpu_types Sequence[str]
The filtered gpu types will belong to one of the gpu types from this list.
max_gpu float
Maximum number of GPUs available.
max_memory_gib float
Maximum amount of Memory (GiB).
max_vcpu int
Maximum number of vcpus available.
min_disk int
Minimum number of data disks available.
min_gpu float
Minimum number of GPUs available.
min_memory_gib float
Minimum amount of Memory (GiB).
min_nics int
Minimum number of network interfaces.
min_vcpu int
Minimum number of vcpus available.
series Sequence[str]
Vm sizes belonging to a series from the list will be available for scaling.
vm_types Sequence[str]
The filtered vm types will belong to one of the vm types from this list.
acceleratedNetworking String
In case acceleratedNetworking is set to Enabled, accelerated networking applies only to the VM that enables it.
architectures List<String>
The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.
diskPerformance String
The filtered vm sizes will support at least one of the classes from this list.
excludeSeries List<String>
Vm sizes belonging to a series from the list will not be available for scaling.
gpuTypes List<String>
The filtered gpu types will belong to one of the gpu types from this list.
maxGpu Number
Maximum number of GPUs available.
maxMemoryGib Number
Maximum amount of Memory (GiB).
maxVcpu Number
Maximum number of vcpus available.
minDisk Number
Minimum number of data disks available.
minGpu Number
Minimum number of GPUs available.
minMemoryGib Number
Minimum amount of Memory (GiB).
minNics Number
Minimum number of network interfaces.
minVcpu Number
Minimum number of vcpus available.
series List<String>
Vm sizes belonging to a series from the list will be available for scaling.
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.
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

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

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.
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.
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 This property is required. string
Set taint effect.
Key This property is required. string
Set taint key. The following are not allowed: "kubernetes.azure.com/scalesetpriority".
Value This property is required. string
Set taint value.
Effect This property is required. string
Set taint effect.
Key This property is required. string
Set taint key. The following are not allowed: "kubernetes.azure.com/scalesetpriority".
Value This property is required. string
Set taint value.
effect This property is required. String
Set taint effect.
key This property is required. String
Set taint key. The following are not allowed: "kubernetes.azure.com/scalesetpriority".
value This property is required. String
Set taint value.
effect This property is required. string
Set taint effect.
key This property is required. string
Set taint key. The following are not allowed: "kubernetes.azure.com/scalesetpriority".
value This property is required. string
Set taint value.
effect This property is required. str
Set taint effect.
key This property is required. str
Set taint key. The following are not allowed: "kubernetes.azure.com/scalesetpriority".
value This property is required. str
Set taint value.
effect This property is required. String
Set taint effect.
key This property is required. String
Set taint key. The following are not allowed: "kubernetes.azure.com/scalesetpriority".
value This property is required. String
Set taint value.

OceanNpVirtualNodeGroupUpdatePolicy
, OceanNpVirtualNodeGroupUpdatePolicyArgs

ShouldRoll This property is required. 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 This property is required. 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.
shouldRoll This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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.
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.