1. Packages
  2. Spotinst
  3. API Docs
  4. azure
  5. OceanVirtualNodeGroup
Spotinst v3.76.0 published on Wednesday, Apr 24, 2024 by Pulumi

spotinst.azure.OceanVirtualNodeGroup

Explore with Pulumi AI

spotinst logo
Spotinst v3.76.0 published on Wednesday, Apr 24, 2024 by Pulumi

    Manages a Spotinst Ocean AKS Virtual Node Group resource.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as spotinst from "@pulumi/spotinst";
    
    const example = new spotinst.azure.OceanVirtualNodeGroup("example", {
        name: "vng_name",
        oceanId: "o-12345",
        zones: [
            "1",
            "2",
            "3",
        ],
        labels: [{
            key: "label_key",
            value: "label_value",
        }],
        taints: [{
            key: "taint_key",
            value: "taint_value",
            effect: "NoSchedule",
        }],
        resourceLimits: [{
            maxInstanceCount: 4,
        }],
        autoscales: [{
            autoHeadroomPercentage: 5,
            autoscaleHeadrooms: [{
                cpuPerUnit: 4,
                gpuPerUnit: 8,
                memoryPerUnit: 100,
                numOfUnits: 16,
            }],
        }],
        launchSpecifications: [{
            osDisk: {
                sizeGb: 100,
                type: "Standard_LRS",
                utilizeEphemeralStorage: false,
            },
            tags: [{
                key: "label_key",
                value: "label_value",
            }],
            maxPods: 30,
        }],
    });
    
    import pulumi
    import pulumi_spotinst as spotinst
    
    example = spotinst.azure.OceanVirtualNodeGroup("example",
        name="vng_name",
        ocean_id="o-12345",
        zones=[
            "1",
            "2",
            "3",
        ],
        labels=[spotinst.azure.OceanVirtualNodeGroupLabelArgs(
            key="label_key",
            value="label_value",
        )],
        taints=[spotinst.azure.OceanVirtualNodeGroupTaintArgs(
            key="taint_key",
            value="taint_value",
            effect="NoSchedule",
        )],
        resource_limits=[spotinst.azure.OceanVirtualNodeGroupResourceLimitArgs(
            max_instance_count=4,
        )],
        autoscales=[spotinst.azure.OceanVirtualNodeGroupAutoscaleArgs(
            auto_headroom_percentage=5,
            autoscale_headrooms=[spotinst.azure.OceanVirtualNodeGroupAutoscaleAutoscaleHeadroomArgs(
                cpu_per_unit=4,
                gpu_per_unit=8,
                memory_per_unit=100,
                num_of_units=16,
            )],
        )],
        launch_specifications=[spotinst.azure.OceanVirtualNodeGroupLaunchSpecificationArgs(
            os_disk=spotinst.azure.OceanVirtualNodeGroupLaunchSpecificationOsDiskArgs(
                size_gb=100,
                type="Standard_LRS",
                utilize_ephemeral_storage=False,
            ),
            tags=[spotinst.azure.OceanVirtualNodeGroupLaunchSpecificationTagArgs(
                key="label_key",
                value="label_value",
            )],
            max_pods=30,
        )])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/azure"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := azure.NewOceanVirtualNodeGroup(ctx, "example", &azure.OceanVirtualNodeGroupArgs{
    			Name:    pulumi.String("vng_name"),
    			OceanId: pulumi.String("o-12345"),
    			Zones: pulumi.StringArray{
    				pulumi.String("1"),
    				pulumi.String("2"),
    				pulumi.String("3"),
    			},
    			Labels: azure.OceanVirtualNodeGroupLabelArray{
    				&azure.OceanVirtualNodeGroupLabelArgs{
    					Key:   pulumi.String("label_key"),
    					Value: pulumi.String("label_value"),
    				},
    			},
    			Taints: azure.OceanVirtualNodeGroupTaintArray{
    				&azure.OceanVirtualNodeGroupTaintArgs{
    					Key:    pulumi.String("taint_key"),
    					Value:  pulumi.String("taint_value"),
    					Effect: pulumi.String("NoSchedule"),
    				},
    			},
    			ResourceLimits: azure.OceanVirtualNodeGroupResourceLimitArray{
    				&azure.OceanVirtualNodeGroupResourceLimitArgs{
    					MaxInstanceCount: pulumi.Int(4),
    				},
    			},
    			Autoscales: azure.OceanVirtualNodeGroupAutoscaleArray{
    				&azure.OceanVirtualNodeGroupAutoscaleArgs{
    					AutoHeadroomPercentage: pulumi.Int(5),
    					AutoscaleHeadrooms: azure.OceanVirtualNodeGroupAutoscaleAutoscaleHeadroomArray{
    						&azure.OceanVirtualNodeGroupAutoscaleAutoscaleHeadroomArgs{
    							CpuPerUnit:    pulumi.Int(4),
    							GpuPerUnit:    pulumi.Int(8),
    							MemoryPerUnit: pulumi.Int(100),
    							NumOfUnits:    pulumi.Int(16),
    						},
    					},
    				},
    			},
    			LaunchSpecifications: azure.OceanVirtualNodeGroupLaunchSpecificationArray{
    				&azure.OceanVirtualNodeGroupLaunchSpecificationArgs{
    					OsDisk: &azure.OceanVirtualNodeGroupLaunchSpecificationOsDiskArgs{
    						SizeGb:                  pulumi.Int(100),
    						Type:                    pulumi.String("Standard_LRS"),
    						UtilizeEphemeralStorage: pulumi.Bool(false),
    					},
    					Tags: azure.OceanVirtualNodeGroupLaunchSpecificationTagArray{
    						&azure.OceanVirtualNodeGroupLaunchSpecificationTagArgs{
    							Key:   pulumi.String("label_key"),
    							Value: pulumi.String("label_value"),
    						},
    					},
    					MaxPods: pulumi.Int(30),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using SpotInst = Pulumi.SpotInst;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new SpotInst.Azure.OceanVirtualNodeGroup("example", new()
        {
            Name = "vng_name",
            OceanId = "o-12345",
            Zones = new[]
            {
                "1",
                "2",
                "3",
            },
            Labels = new[]
            {
                new SpotInst.Azure.Inputs.OceanVirtualNodeGroupLabelArgs
                {
                    Key = "label_key",
                    Value = "label_value",
                },
            },
            Taints = new[]
            {
                new SpotInst.Azure.Inputs.OceanVirtualNodeGroupTaintArgs
                {
                    Key = "taint_key",
                    Value = "taint_value",
                    Effect = "NoSchedule",
                },
            },
            ResourceLimits = new[]
            {
                new SpotInst.Azure.Inputs.OceanVirtualNodeGroupResourceLimitArgs
                {
                    MaxInstanceCount = 4,
                },
            },
            Autoscales = new[]
            {
                new SpotInst.Azure.Inputs.OceanVirtualNodeGroupAutoscaleArgs
                {
                    AutoHeadroomPercentage = 5,
                    AutoscaleHeadrooms = new[]
                    {
                        new SpotInst.Azure.Inputs.OceanVirtualNodeGroupAutoscaleAutoscaleHeadroomArgs
                        {
                            CpuPerUnit = 4,
                            GpuPerUnit = 8,
                            MemoryPerUnit = 100,
                            NumOfUnits = 16,
                        },
                    },
                },
            },
            LaunchSpecifications = new[]
            {
                new SpotInst.Azure.Inputs.OceanVirtualNodeGroupLaunchSpecificationArgs
                {
                    OsDisk = new SpotInst.Azure.Inputs.OceanVirtualNodeGroupLaunchSpecificationOsDiskArgs
                    {
                        SizeGb = 100,
                        Type = "Standard_LRS",
                        UtilizeEphemeralStorage = false,
                    },
                    Tags = new[]
                    {
                        new SpotInst.Azure.Inputs.OceanVirtualNodeGroupLaunchSpecificationTagArgs
                        {
                            Key = "label_key",
                            Value = "label_value",
                        },
                    },
                    MaxPods = 30,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spotinst.azure.OceanVirtualNodeGroup;
    import com.pulumi.spotinst.azure.OceanVirtualNodeGroupArgs;
    import com.pulumi.spotinst.azure.inputs.OceanVirtualNodeGroupLabelArgs;
    import com.pulumi.spotinst.azure.inputs.OceanVirtualNodeGroupTaintArgs;
    import com.pulumi.spotinst.azure.inputs.OceanVirtualNodeGroupResourceLimitArgs;
    import com.pulumi.spotinst.azure.inputs.OceanVirtualNodeGroupAutoscaleArgs;
    import com.pulumi.spotinst.azure.inputs.OceanVirtualNodeGroupLaunchSpecificationArgs;
    import com.pulumi.spotinst.azure.inputs.OceanVirtualNodeGroupLaunchSpecificationOsDiskArgs;
    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 OceanVirtualNodeGroup("example", OceanVirtualNodeGroupArgs.builder()        
                .name("vng_name")
                .oceanId("o-12345")
                .zones(            
                    "1",
                    "2",
                    "3")
                .labels(OceanVirtualNodeGroupLabelArgs.builder()
                    .key("label_key")
                    .value("label_value")
                    .build())
                .taints(OceanVirtualNodeGroupTaintArgs.builder()
                    .key("taint_key")
                    .value("taint_value")
                    .effect("NoSchedule")
                    .build())
                .resourceLimits(OceanVirtualNodeGroupResourceLimitArgs.builder()
                    .maxInstanceCount(4)
                    .build())
                .autoscales(OceanVirtualNodeGroupAutoscaleArgs.builder()
                    .autoHeadroomPercentage(5)
                    .autoscaleHeadrooms(OceanVirtualNodeGroupAutoscaleAutoscaleHeadroomArgs.builder()
                        .cpuPerUnit(4)
                        .gpuPerUnit(8)
                        .memoryPerUnit(100)
                        .numOfUnits(16)
                        .build())
                    .build())
                .launchSpecifications(OceanVirtualNodeGroupLaunchSpecificationArgs.builder()
                    .osDisk(OceanVirtualNodeGroupLaunchSpecificationOsDiskArgs.builder()
                        .sizeGb(100)
                        .type("Standard_LRS")
                        .utilizeEphemeralStorage(false)
                        .build())
                    .tags(OceanVirtualNodeGroupLaunchSpecificationTagArgs.builder()
                        .key("label_key")
                        .value("label_value")
                        .build())
                    .maxPods(30)
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: spotinst:azure:OceanVirtualNodeGroup
        properties:
          name: vng_name
          oceanId: o-12345
          zones:
            - '1'
            - '2'
            - '3'
          labels:
            - key: label_key
              value: label_value
          taints:
            - key: taint_key
              value: taint_value
              effect: NoSchedule
          resourceLimits:
            - maxInstanceCount: 4
          autoscales:
            - autoHeadroomPercentage: 5
              autoscaleHeadrooms:
                - cpuPerUnit: 4
                  gpuPerUnit: 8
                  memoryPerUnit: 100
                  numOfUnits: 16
          launchSpecifications:
            - osDisk:
                sizeGb: 100
                type: Standard_LRS
                utilizeEphemeralStorage: false
              tags:
                - key: label_key
                  value: label_value
              maxPods: 30
    
    output "ocean_id" {
      value = spotinst_ocean_aks_.example.id
    }
    

    Create OceanVirtualNodeGroup Resource

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

    Constructor syntax

    new OceanVirtualNodeGroup(name: string, args: OceanVirtualNodeGroupArgs, opts?: CustomResourceOptions);
    @overload
    def OceanVirtualNodeGroup(resource_name: str,
                              args: OceanVirtualNodeGroupArgs,
                              opts: Optional[ResourceOptions] = None)
    
    @overload
    def OceanVirtualNodeGroup(resource_name: str,
                              opts: Optional[ResourceOptions] = None,
                              ocean_id: Optional[str] = None,
                              autoscales: Optional[Sequence[OceanVirtualNodeGroupAutoscaleArgs]] = None,
                              labels: Optional[Sequence[OceanVirtualNodeGroupLabelArgs]] = None,
                              launch_specifications: Optional[Sequence[OceanVirtualNodeGroupLaunchSpecificationArgs]] = None,
                              name: Optional[str] = None,
                              resource_limits: Optional[Sequence[OceanVirtualNodeGroupResourceLimitArgs]] = None,
                              taints: Optional[Sequence[OceanVirtualNodeGroupTaintArgs]] = None,
                              zones: Optional[Sequence[str]] = None)
    func NewOceanVirtualNodeGroup(ctx *Context, name string, args OceanVirtualNodeGroupArgs, opts ...ResourceOption) (*OceanVirtualNodeGroup, error)
    public OceanVirtualNodeGroup(string name, OceanVirtualNodeGroupArgs args, CustomResourceOptions? opts = null)
    public OceanVirtualNodeGroup(String name, OceanVirtualNodeGroupArgs args)
    public OceanVirtualNodeGroup(String name, OceanVirtualNodeGroupArgs args, CustomResourceOptions options)
    
    type: spotinst:azure:OceanVirtualNodeGroup
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args OceanVirtualNodeGroupArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args OceanVirtualNodeGroupArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args OceanVirtualNodeGroupArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args OceanVirtualNodeGroupArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args OceanVirtualNodeGroupArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

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

    var oceanVirtualNodeGroupResource = new SpotInst.Azure.OceanVirtualNodeGroup("oceanVirtualNodeGroupResource", new()
    {
        OceanId = "string",
        Autoscales = new[]
        {
            new SpotInst.Azure.Inputs.OceanVirtualNodeGroupAutoscaleArgs
            {
                AutoHeadroomPercentage = 0,
                AutoscaleHeadrooms = new[]
                {
                    new SpotInst.Azure.Inputs.OceanVirtualNodeGroupAutoscaleAutoscaleHeadroomArgs
                    {
                        NumOfUnits = 0,
                        CpuPerUnit = 0,
                        GpuPerUnit = 0,
                        MemoryPerUnit = 0,
                    },
                },
            },
        },
        Labels = new[]
        {
            new SpotInst.Azure.Inputs.OceanVirtualNodeGroupLabelArgs
            {
                Key = "string",
                Value = "string",
            },
        },
        LaunchSpecifications = new[]
        {
            new SpotInst.Azure.Inputs.OceanVirtualNodeGroupLaunchSpecificationArgs
            {
                MaxPods = 0,
                OsDisk = new SpotInst.Azure.Inputs.OceanVirtualNodeGroupLaunchSpecificationOsDiskArgs
                {
                    SizeGb = 0,
                    Type = "string",
                    UtilizeEphemeralStorage = false,
                },
                Tags = new[]
                {
                    new SpotInst.Azure.Inputs.OceanVirtualNodeGroupLaunchSpecificationTagArgs
                    {
                        Key = "string",
                        Value = "string",
                    },
                },
            },
        },
        Name = "string",
        ResourceLimits = new[]
        {
            new SpotInst.Azure.Inputs.OceanVirtualNodeGroupResourceLimitArgs
            {
                MaxInstanceCount = 0,
            },
        },
        Taints = new[]
        {
            new SpotInst.Azure.Inputs.OceanVirtualNodeGroupTaintArgs
            {
                Effect = "string",
                Key = "string",
                Value = "string",
            },
        },
        Zones = new[]
        {
            "string",
        },
    });
    
    example, err := azure.NewOceanVirtualNodeGroup(ctx, "oceanVirtualNodeGroupResource", &azure.OceanVirtualNodeGroupArgs{
    	OceanId: pulumi.String("string"),
    	Autoscales: azure.OceanVirtualNodeGroupAutoscaleArray{
    		&azure.OceanVirtualNodeGroupAutoscaleArgs{
    			AutoHeadroomPercentage: pulumi.Int(0),
    			AutoscaleHeadrooms: azure.OceanVirtualNodeGroupAutoscaleAutoscaleHeadroomArray{
    				&azure.OceanVirtualNodeGroupAutoscaleAutoscaleHeadroomArgs{
    					NumOfUnits:    pulumi.Int(0),
    					CpuPerUnit:    pulumi.Int(0),
    					GpuPerUnit:    pulumi.Int(0),
    					MemoryPerUnit: pulumi.Int(0),
    				},
    			},
    		},
    	},
    	Labels: azure.OceanVirtualNodeGroupLabelArray{
    		&azure.OceanVirtualNodeGroupLabelArgs{
    			Key:   pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	LaunchSpecifications: azure.OceanVirtualNodeGroupLaunchSpecificationArray{
    		&azure.OceanVirtualNodeGroupLaunchSpecificationArgs{
    			MaxPods: pulumi.Int(0),
    			OsDisk: &azure.OceanVirtualNodeGroupLaunchSpecificationOsDiskArgs{
    				SizeGb:                  pulumi.Int(0),
    				Type:                    pulumi.String("string"),
    				UtilizeEphemeralStorage: pulumi.Bool(false),
    			},
    			Tags: azure.OceanVirtualNodeGroupLaunchSpecificationTagArray{
    				&azure.OceanVirtualNodeGroupLaunchSpecificationTagArgs{
    					Key:   pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	Name: pulumi.String("string"),
    	ResourceLimits: azure.OceanVirtualNodeGroupResourceLimitArray{
    		&azure.OceanVirtualNodeGroupResourceLimitArgs{
    			MaxInstanceCount: pulumi.Int(0),
    		},
    	},
    	Taints: azure.OceanVirtualNodeGroupTaintArray{
    		&azure.OceanVirtualNodeGroupTaintArgs{
    			Effect: pulumi.String("string"),
    			Key:    pulumi.String("string"),
    			Value:  pulumi.String("string"),
    		},
    	},
    	Zones: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var oceanVirtualNodeGroupResource = new OceanVirtualNodeGroup("oceanVirtualNodeGroupResource", OceanVirtualNodeGroupArgs.builder()        
        .oceanId("string")
        .autoscales(OceanVirtualNodeGroupAutoscaleArgs.builder()
            .autoHeadroomPercentage(0)
            .autoscaleHeadrooms(OceanVirtualNodeGroupAutoscaleAutoscaleHeadroomArgs.builder()
                .numOfUnits(0)
                .cpuPerUnit(0)
                .gpuPerUnit(0)
                .memoryPerUnit(0)
                .build())
            .build())
        .labels(OceanVirtualNodeGroupLabelArgs.builder()
            .key("string")
            .value("string")
            .build())
        .launchSpecifications(OceanVirtualNodeGroupLaunchSpecificationArgs.builder()
            .maxPods(0)
            .osDisk(OceanVirtualNodeGroupLaunchSpecificationOsDiskArgs.builder()
                .sizeGb(0)
                .type("string")
                .utilizeEphemeralStorage(false)
                .build())
            .tags(OceanVirtualNodeGroupLaunchSpecificationTagArgs.builder()
                .key("string")
                .value("string")
                .build())
            .build())
        .name("string")
        .resourceLimits(OceanVirtualNodeGroupResourceLimitArgs.builder()
            .maxInstanceCount(0)
            .build())
        .taints(OceanVirtualNodeGroupTaintArgs.builder()
            .effect("string")
            .key("string")
            .value("string")
            .build())
        .zones("string")
        .build());
    
    ocean_virtual_node_group_resource = spotinst.azure.OceanVirtualNodeGroup("oceanVirtualNodeGroupResource",
        ocean_id="string",
        autoscales=[spotinst.azure.OceanVirtualNodeGroupAutoscaleArgs(
            auto_headroom_percentage=0,
            autoscale_headrooms=[spotinst.azure.OceanVirtualNodeGroupAutoscaleAutoscaleHeadroomArgs(
                num_of_units=0,
                cpu_per_unit=0,
                gpu_per_unit=0,
                memory_per_unit=0,
            )],
        )],
        labels=[spotinst.azure.OceanVirtualNodeGroupLabelArgs(
            key="string",
            value="string",
        )],
        launch_specifications=[spotinst.azure.OceanVirtualNodeGroupLaunchSpecificationArgs(
            max_pods=0,
            os_disk=spotinst.azure.OceanVirtualNodeGroupLaunchSpecificationOsDiskArgs(
                size_gb=0,
                type="string",
                utilize_ephemeral_storage=False,
            ),
            tags=[spotinst.azure.OceanVirtualNodeGroupLaunchSpecificationTagArgs(
                key="string",
                value="string",
            )],
        )],
        name="string",
        resource_limits=[spotinst.azure.OceanVirtualNodeGroupResourceLimitArgs(
            max_instance_count=0,
        )],
        taints=[spotinst.azure.OceanVirtualNodeGroupTaintArgs(
            effect="string",
            key="string",
            value="string",
        )],
        zones=["string"])
    
    const oceanVirtualNodeGroupResource = new spotinst.azure.OceanVirtualNodeGroup("oceanVirtualNodeGroupResource", {
        oceanId: "string",
        autoscales: [{
            autoHeadroomPercentage: 0,
            autoscaleHeadrooms: [{
                numOfUnits: 0,
                cpuPerUnit: 0,
                gpuPerUnit: 0,
                memoryPerUnit: 0,
            }],
        }],
        labels: [{
            key: "string",
            value: "string",
        }],
        launchSpecifications: [{
            maxPods: 0,
            osDisk: {
                sizeGb: 0,
                type: "string",
                utilizeEphemeralStorage: false,
            },
            tags: [{
                key: "string",
                value: "string",
            }],
        }],
        name: "string",
        resourceLimits: [{
            maxInstanceCount: 0,
        }],
        taints: [{
            effect: "string",
            key: "string",
            value: "string",
        }],
        zones: ["string"],
    });
    
    type: spotinst:azure:OceanVirtualNodeGroup
    properties:
        autoscales:
            - autoHeadroomPercentage: 0
              autoscaleHeadrooms:
                - cpuPerUnit: 0
                  gpuPerUnit: 0
                  memoryPerUnit: 0
                  numOfUnits: 0
        labels:
            - key: string
              value: string
        launchSpecifications:
            - maxPods: 0
              osDisk:
                sizeGb: 0
                type: string
                utilizeEphemeralStorage: false
              tags:
                - key: string
                  value: string
        name: string
        oceanId: string
        resourceLimits:
            - maxInstanceCount: 0
        taints:
            - effect: string
              key: string
              value: string
        zones:
            - string
    

    OceanVirtualNodeGroup Resource Properties

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

    Inputs

    The OceanVirtualNodeGroup resource accepts the following input properties:

    OceanId string
    The Ocean cluster ID.
    Autoscales List<Pulumi.SpotInst.Azure.Inputs.OceanVirtualNodeGroupAutoscale>
    .
    Labels List<Pulumi.SpotInst.Azure.Inputs.OceanVirtualNodeGroupLabel>
    Additional labels for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    LaunchSpecifications List<Pulumi.SpotInst.Azure.Inputs.OceanVirtualNodeGroupLaunchSpecification>
    .
    Name string
    Set name for the virtual node group.
    ResourceLimits List<Pulumi.SpotInst.Azure.Inputs.OceanVirtualNodeGroupResourceLimit>
    .
    Taints List<Pulumi.SpotInst.Azure.Inputs.OceanVirtualNodeGroupTaint>
    Additional taints for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    Zones List<string>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    OceanId string
    The Ocean cluster ID.
    Autoscales []OceanVirtualNodeGroupAutoscaleArgs
    .
    Labels []OceanVirtualNodeGroupLabelArgs
    Additional labels for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    LaunchSpecifications []OceanVirtualNodeGroupLaunchSpecificationArgs
    .
    Name string
    Set name for the virtual node group.
    ResourceLimits []OceanVirtualNodeGroupResourceLimitArgs
    .
    Taints []OceanVirtualNodeGroupTaintArgs
    Additional taints for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    Zones []string
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    oceanId String
    The Ocean cluster ID.
    autoscales List<OceanVirtualNodeGroupAutoscale>
    .
    labels List<OceanVirtualNodeGroupLabel>
    Additional labels for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    launchSpecifications List<OceanVirtualNodeGroupLaunchSpecification>
    .
    name String
    Set name for the virtual node group.
    resourceLimits List<OceanVirtualNodeGroupResourceLimit>
    .
    taints List<OceanVirtualNodeGroupTaint>
    Additional taints for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    zones List<String>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    oceanId string
    The Ocean cluster ID.
    autoscales OceanVirtualNodeGroupAutoscale[]
    .
    labels OceanVirtualNodeGroupLabel[]
    Additional labels for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    launchSpecifications OceanVirtualNodeGroupLaunchSpecification[]
    .
    name string
    Set name for the virtual node group.
    resourceLimits OceanVirtualNodeGroupResourceLimit[]
    .
    taints OceanVirtualNodeGroupTaint[]
    Additional taints for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    zones string[]
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    ocean_id str
    The Ocean cluster ID.
    autoscales Sequence[OceanVirtualNodeGroupAutoscaleArgs]
    .
    labels Sequence[OceanVirtualNodeGroupLabelArgs]
    Additional labels for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    launch_specifications Sequence[OceanVirtualNodeGroupLaunchSpecificationArgs]
    .
    name str
    Set name for the virtual node group.
    resource_limits Sequence[OceanVirtualNodeGroupResourceLimitArgs]
    .
    taints Sequence[OceanVirtualNodeGroupTaintArgs]
    Additional taints for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    zones Sequence[str]
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    oceanId String
    The Ocean cluster ID.
    autoscales List<Property Map>
    .
    labels List<Property Map>
    Additional labels for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    launchSpecifications List<Property Map>
    .
    name String
    Set name for the virtual node group.
    resourceLimits List<Property Map>
    .
    taints List<Property Map>
    Additional taints for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    zones List<String>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the OceanVirtualNodeGroup 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 OceanVirtualNodeGroup Resource

    Get an existing OceanVirtualNodeGroup 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?: OceanVirtualNodeGroupState, opts?: CustomResourceOptions): OceanVirtualNodeGroup
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            autoscales: Optional[Sequence[OceanVirtualNodeGroupAutoscaleArgs]] = None,
            labels: Optional[Sequence[OceanVirtualNodeGroupLabelArgs]] = None,
            launch_specifications: Optional[Sequence[OceanVirtualNodeGroupLaunchSpecificationArgs]] = None,
            name: Optional[str] = None,
            ocean_id: Optional[str] = None,
            resource_limits: Optional[Sequence[OceanVirtualNodeGroupResourceLimitArgs]] = None,
            taints: Optional[Sequence[OceanVirtualNodeGroupTaintArgs]] = None,
            zones: Optional[Sequence[str]] = None) -> OceanVirtualNodeGroup
    func GetOceanVirtualNodeGroup(ctx *Context, name string, id IDInput, state *OceanVirtualNodeGroupState, opts ...ResourceOption) (*OceanVirtualNodeGroup, error)
    public static OceanVirtualNodeGroup Get(string name, Input<string> id, OceanVirtualNodeGroupState? state, CustomResourceOptions? opts = null)
    public static OceanVirtualNodeGroup get(String name, Output<String> id, OceanVirtualNodeGroupState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Autoscales List<Pulumi.SpotInst.Azure.Inputs.OceanVirtualNodeGroupAutoscale>
    .
    Labels List<Pulumi.SpotInst.Azure.Inputs.OceanVirtualNodeGroupLabel>
    Additional labels for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    LaunchSpecifications List<Pulumi.SpotInst.Azure.Inputs.OceanVirtualNodeGroupLaunchSpecification>
    .
    Name string
    Set name for the virtual node group.
    OceanId string
    The Ocean cluster ID.
    ResourceLimits List<Pulumi.SpotInst.Azure.Inputs.OceanVirtualNodeGroupResourceLimit>
    .
    Taints List<Pulumi.SpotInst.Azure.Inputs.OceanVirtualNodeGroupTaint>
    Additional taints for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    Zones List<string>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    Autoscales []OceanVirtualNodeGroupAutoscaleArgs
    .
    Labels []OceanVirtualNodeGroupLabelArgs
    Additional labels for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    LaunchSpecifications []OceanVirtualNodeGroupLaunchSpecificationArgs
    .
    Name string
    Set name for the virtual node group.
    OceanId string
    The Ocean cluster ID.
    ResourceLimits []OceanVirtualNodeGroupResourceLimitArgs
    .
    Taints []OceanVirtualNodeGroupTaintArgs
    Additional taints for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    Zones []string
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    autoscales List<OceanVirtualNodeGroupAutoscale>
    .
    labels List<OceanVirtualNodeGroupLabel>
    Additional labels for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    launchSpecifications List<OceanVirtualNodeGroupLaunchSpecification>
    .
    name String
    Set name for the virtual node group.
    oceanId String
    The Ocean cluster ID.
    resourceLimits List<OceanVirtualNodeGroupResourceLimit>
    .
    taints List<OceanVirtualNodeGroupTaint>
    Additional taints for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    zones List<String>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    autoscales OceanVirtualNodeGroupAutoscale[]
    .
    labels OceanVirtualNodeGroupLabel[]
    Additional labels for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    launchSpecifications OceanVirtualNodeGroupLaunchSpecification[]
    .
    name string
    Set name for the virtual node group.
    oceanId string
    The Ocean cluster ID.
    resourceLimits OceanVirtualNodeGroupResourceLimit[]
    .
    taints OceanVirtualNodeGroupTaint[]
    Additional taints for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    zones string[]
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    autoscales Sequence[OceanVirtualNodeGroupAutoscaleArgs]
    .
    labels Sequence[OceanVirtualNodeGroupLabelArgs]
    Additional labels for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    launch_specifications Sequence[OceanVirtualNodeGroupLaunchSpecificationArgs]
    .
    name str
    Set name for the virtual node group.
    ocean_id str
    The Ocean cluster ID.
    resource_limits Sequence[OceanVirtualNodeGroupResourceLimitArgs]
    .
    taints Sequence[OceanVirtualNodeGroupTaintArgs]
    Additional taints for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    zones Sequence[str]
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
    autoscales List<Property Map>
    .
    labels List<Property Map>
    Additional labels for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    launchSpecifications List<Property Map>
    .
    name String
    Set name for the virtual node group.
    oceanId String
    The Ocean cluster ID.
    resourceLimits List<Property Map>
    .
    taints List<Property Map>
    Additional taints for the virtual node group. Only custom user labels are allowed. Kubernetes built-in labels and Spot internal labels are not allowed.
    zones List<String>
    An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.

    Supporting Types

    OceanVirtualNodeGroupAutoscale, OceanVirtualNodeGroupAutoscaleArgs

    AutoHeadroomPercentage int
    Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.is_enabled = true is set on the Ocean cluster.
    AutoscaleHeadrooms List<Pulumi.SpotInst.Azure.Inputs.OceanVirtualNodeGroupAutoscaleAutoscaleHeadroom>
    AutoHeadroomPercentage int
    Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.is_enabled = true is set on the Ocean cluster.
    AutoscaleHeadrooms []OceanVirtualNodeGroupAutoscaleAutoscaleHeadroom
    autoHeadroomPercentage Integer
    Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.is_enabled = true is set on the Ocean cluster.
    autoscaleHeadrooms List<OceanVirtualNodeGroupAutoscaleAutoscaleHeadroom>
    autoHeadroomPercentage number
    Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.is_enabled = true is set on the Ocean cluster.
    autoscaleHeadrooms OceanVirtualNodeGroupAutoscaleAutoscaleHeadroom[]
    auto_headroom_percentage int
    Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.is_enabled = true is set on the Ocean cluster.
    autoscale_headrooms Sequence[OceanVirtualNodeGroupAutoscaleAutoscaleHeadroom]
    autoHeadroomPercentage Number
    Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.is_enabled = true is set on the Ocean cluster.
    autoscaleHeadrooms List<Property Map>

    OceanVirtualNodeGroupAutoscaleAutoscaleHeadroom, OceanVirtualNodeGroupAutoscaleAutoscaleHeadroomArgs

    numOfUnits Integer
    cpuPerUnit Integer
    gpuPerUnit Integer
    memoryPerUnit Integer

    OceanVirtualNodeGroupLabel, OceanVirtualNodeGroupLabelArgs

    Key string
    The label key.
    Value string
    The label value.
    Key string
    The label key.
    Value string
    The label value.
    key String
    The label key.
    value String
    The label value.
    key string
    The label key.
    value string
    The label value.
    key str
    The label key.
    value str
    The label value.
    key String
    The label key.
    value String
    The label value.

    OceanVirtualNodeGroupLaunchSpecification, OceanVirtualNodeGroupLaunchSpecificationArgs

    MaxPods int
    The maximum number of pods per node in an AKS cluster.
    OsDisk Pulumi.SpotInst.Azure.Inputs.OceanVirtualNodeGroupLaunchSpecificationOsDisk
    Specify OS disk specification other than default.
    Tags List<Pulumi.SpotInst.Azure.Inputs.OceanVirtualNodeGroupLaunchSpecificationTag>
    Additional key-value pairs to be used to tag the VMs in the virtual node group.
    MaxPods int
    The maximum number of pods per node in an AKS cluster.
    OsDisk OceanVirtualNodeGroupLaunchSpecificationOsDisk
    Specify OS disk specification other than default.
    Tags []OceanVirtualNodeGroupLaunchSpecificationTag
    Additional key-value pairs to be used to tag the VMs in the virtual node group.
    maxPods Integer
    The maximum number of pods per node in an AKS cluster.
    osDisk OceanVirtualNodeGroupLaunchSpecificationOsDisk
    Specify OS disk specification other than default.
    tags List<OceanVirtualNodeGroupLaunchSpecificationTag>
    Additional key-value pairs to be used to tag the VMs in the virtual node group.
    maxPods number
    The maximum number of pods per node in an AKS cluster.
    osDisk OceanVirtualNodeGroupLaunchSpecificationOsDisk
    Specify OS disk specification other than default.
    tags OceanVirtualNodeGroupLaunchSpecificationTag[]
    Additional key-value pairs to be used to tag the VMs in the virtual node group.
    max_pods int
    The maximum number of pods per node in an AKS cluster.
    os_disk OceanVirtualNodeGroupLaunchSpecificationOsDisk
    Specify OS disk specification other than default.
    tags Sequence[OceanVirtualNodeGroupLaunchSpecificationTag]
    Additional key-value pairs to be used to tag the VMs in the virtual node group.
    maxPods Number
    The maximum number of pods per node in an AKS cluster.
    osDisk Property Map
    Specify OS disk specification other than default.
    tags List<Property Map>
    Additional key-value pairs to be used to tag the VMs in the virtual node group.

    OceanVirtualNodeGroupLaunchSpecificationOsDisk, OceanVirtualNodeGroupLaunchSpecificationOsDiskArgs

    sizeGb Integer
    type String
    utilizeEphemeralStorage Boolean
    sizeGb number
    type string
    utilizeEphemeralStorage boolean
    sizeGb Number
    type String
    utilizeEphemeralStorage Boolean

    OceanVirtualNodeGroupLaunchSpecificationTag, OceanVirtualNodeGroupLaunchSpecificationTagArgs

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

    OceanVirtualNodeGroupResourceLimit, OceanVirtualNodeGroupResourceLimitArgs

    MaxInstanceCount int
    Option to set a maximum number of instances per virtual node group. If set, value must be greater than or equal to 0.
    MaxInstanceCount int
    Option to set a maximum number of instances per virtual node group. If set, value must be greater than or equal to 0.
    maxInstanceCount Integer
    Option to set a maximum number of instances per virtual node group. If set, value must be greater than or equal to 0.
    maxInstanceCount number
    Option to set a maximum number of instances per virtual node group. If set, value must be greater than or equal to 0.
    max_instance_count int
    Option to set a maximum number of instances per virtual node group. If set, value must be greater than or equal to 0.
    maxInstanceCount Number
    Option to set a maximum number of instances per virtual node group. If set, value must be greater than or equal to 0.

    OceanVirtualNodeGroupTaint, OceanVirtualNodeGroupTaintArgs

    Effect string
    The effect of the taint. Valid values: "NoSchedule", "PreferNoSchedule", "NoExecute", "PreferNoExecute".
    Key string
    The taint key.
    Value string
    The taint value.
    Effect string
    The effect of the taint. Valid values: "NoSchedule", "PreferNoSchedule", "NoExecute", "PreferNoExecute".
    Key string
    The taint key.
    Value string
    The taint value.
    effect String
    The effect of the taint. Valid values: "NoSchedule", "PreferNoSchedule", "NoExecute", "PreferNoExecute".
    key String
    The taint key.
    value String
    The taint value.
    effect string
    The effect of the taint. Valid values: "NoSchedule", "PreferNoSchedule", "NoExecute", "PreferNoExecute".
    key string
    The taint key.
    value string
    The taint value.
    effect str
    The effect of the taint. Valid values: "NoSchedule", "PreferNoSchedule", "NoExecute", "PreferNoExecute".
    key str
    The taint key.
    value str
    The taint value.
    effect String
    The effect of the taint. Valid values: "NoSchedule", "PreferNoSchedule", "NoExecute", "PreferNoExecute".
    key String
    The taint key.
    value String
    The taint value.

    Package Details

    Repository
    Spotinst pulumi/pulumi-spotinst
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the spotinst Terraform Provider.
    spotinst logo
    Spotinst v3.76.0 published on Wednesday, Apr 24, 2024 by Pulumi