1. Packages
  2. Spotinst
  3. API Docs
  4. gke
  5. OceanLaunchSpec
Spotinst v3.74.1 published on Thursday, Apr 11, 2024 by Pulumi

spotinst.gke.OceanLaunchSpec

Explore with Pulumi AI

spotinst logo
Spotinst v3.74.1 published on Thursday, Apr 11, 2024 by Pulumi

    Manages a custom Spotinst Ocean GKE Launch Spec resource.

    This resource can be imported from GKE node pool or not. If you want to import the node pool and create the VNG from it, please provide node_pool_name.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as spotinst from "@pulumi/spotinst";
    
    const example = new spotinst.gke.OceanLaunchSpec("example", {
        autoscaleHeadrooms: [{
            cpuPerUnit: 1000,
            gpuPerUnit: 0,
            memoryPerUnit: 2048,
            numOfUnits: 5,
        }],
        autoscaleHeadroomsAutomatics: [{
            autoHeadroomPercentage: 5,
        }],
        instanceTypes: ["n1-standard-1, n1-standard-2"],
        labels: [{
            key: "labelKey",
            value: "labelVal",
        }],
        metadatas: [{
            key: "gci-update-strategy",
            value: "update_disabled",
        }],
        networkInterfaces: [{
            accessConfigs: [{
                name: "external-nat-vng",
                type: "ONE_TO_ONE_NAT",
            }],
            aliasIpRanges: [{
                ipCidrRange: "/25",
                subnetworkRangeName: "gke-test-native-vpc-pods-123456-vng",
            }],
            network: "test-vng-network",
            projectId: "test-vng-network-project",
        }],
        nodePoolName: "default-pool",
        oceanId: "o-123456",
        resourceLimits: {
            maxInstanceCount: 3,
            minInstanceCount: 0,
        },
        restrictScaleDown: true,
        rootVolumeSize: 10,
        rootVolumeType: "pd-standard",
        schedulingTasks: [{
            cronExpression: "0 1 * * *",
            isEnabled: true,
            taskHeadrooms: [{
                cpuPerUnit: 1000,
                gpuPerUnit: 0,
                memoryPerUnit: 2048,
                numOfUnits: 5,
            }],
            taskType: "manualHeadroomUpdate",
        }],
        serviceAccount: "default",
        shieldedInstanceConfig: {
            enableIntegrityMonitoring: true,
            enableSecureBoot: false,
        },
        sourceImage: "image",
        storage: {
            localSsdCount: 5,
        },
        strategies: [{
            preemptiblePercentage: 30,
        }],
        tags: [
            "tag1",
            "tag2",
        ],
        taints: [{
            effect: "taintEffect",
            key: "taintKey",
            value: "taintVal",
        }],
    });
    
    import pulumi
    import pulumi_spotinst as spotinst
    
    example = spotinst.gke.OceanLaunchSpec("example",
        autoscale_headrooms=[spotinst.gke.OceanLaunchSpecAutoscaleHeadroomArgs(
            cpu_per_unit=1000,
            gpu_per_unit=0,
            memory_per_unit=2048,
            num_of_units=5,
        )],
        autoscale_headrooms_automatics=[spotinst.gke.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs(
            auto_headroom_percentage=5,
        )],
        instance_types=["n1-standard-1, n1-standard-2"],
        labels=[spotinst.gke.OceanLaunchSpecLabelArgs(
            key="labelKey",
            value="labelVal",
        )],
        metadatas=[spotinst.gke.OceanLaunchSpecMetadataArgs(
            key="gci-update-strategy",
            value="update_disabled",
        )],
        network_interfaces=[spotinst.gke.OceanLaunchSpecNetworkInterfaceArgs(
            access_configs=[spotinst.gke.OceanLaunchSpecNetworkInterfaceAccessConfigArgs(
                name="external-nat-vng",
                type="ONE_TO_ONE_NAT",
            )],
            alias_ip_ranges=[spotinst.gke.OceanLaunchSpecNetworkInterfaceAliasIpRangeArgs(
                ip_cidr_range="/25",
                subnetwork_range_name="gke-test-native-vpc-pods-123456-vng",
            )],
            network="test-vng-network",
            project_id="test-vng-network-project",
        )],
        node_pool_name="default-pool",
        ocean_id="o-123456",
        resource_limits=spotinst.gke.OceanLaunchSpecResourceLimitsArgs(
            max_instance_count=3,
            min_instance_count=0,
        ),
        restrict_scale_down=True,
        root_volume_size=10,
        root_volume_type="pd-standard",
        scheduling_tasks=[spotinst.gke.OceanLaunchSpecSchedulingTaskArgs(
            cron_expression="0 1 * * *",
            is_enabled=True,
            task_headrooms=[spotinst.gke.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs(
                cpu_per_unit=1000,
                gpu_per_unit=0,
                memory_per_unit=2048,
                num_of_units=5,
            )],
            task_type="manualHeadroomUpdate",
        )],
        service_account="default",
        shielded_instance_config=spotinst.gke.OceanLaunchSpecShieldedInstanceConfigArgs(
            enable_integrity_monitoring=True,
            enable_secure_boot=False,
        ),
        source_image="image",
        storage=spotinst.gke.OceanLaunchSpecStorageArgs(
            local_ssd_count=5,
        ),
        strategies=[spotinst.gke.OceanLaunchSpecStrategyArgs(
            preemptible_percentage=30,
        )],
        tags=[
            "tag1",
            "tag2",
        ],
        taints=[spotinst.gke.OceanLaunchSpecTaintArgs(
            effect="taintEffect",
            key="taintKey",
            value="taintVal",
        )])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/gke"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gke.NewOceanLaunchSpec(ctx, "example", &gke.OceanLaunchSpecArgs{
    			AutoscaleHeadrooms: gke.OceanLaunchSpecAutoscaleHeadroomArray{
    				&gke.OceanLaunchSpecAutoscaleHeadroomArgs{
    					CpuPerUnit:    pulumi.Int(1000),
    					GpuPerUnit:    pulumi.Int(0),
    					MemoryPerUnit: pulumi.Int(2048),
    					NumOfUnits:    pulumi.Int(5),
    				},
    			},
    			AutoscaleHeadroomsAutomatics: gke.OceanLaunchSpecAutoscaleHeadroomsAutomaticArray{
    				&gke.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs{
    					AutoHeadroomPercentage: pulumi.Int(5),
    				},
    			},
    			InstanceTypes: pulumi.StringArray{
    				pulumi.String("n1-standard-1, n1-standard-2"),
    			},
    			Labels: gke.OceanLaunchSpecLabelArray{
    				&gke.OceanLaunchSpecLabelArgs{
    					Key:   pulumi.String("labelKey"),
    					Value: pulumi.String("labelVal"),
    				},
    			},
    			Metadatas: gke.OceanLaunchSpecMetadataArray{
    				&gke.OceanLaunchSpecMetadataArgs{
    					Key:   pulumi.String("gci-update-strategy"),
    					Value: pulumi.String("update_disabled"),
    				},
    			},
    			NetworkInterfaces: gke.OceanLaunchSpecNetworkInterfaceArray{
    				&gke.OceanLaunchSpecNetworkInterfaceArgs{
    					AccessConfigs: gke.OceanLaunchSpecNetworkInterfaceAccessConfigArray{
    						&gke.OceanLaunchSpecNetworkInterfaceAccessConfigArgs{
    							Name: pulumi.String("external-nat-vng"),
    							Type: pulumi.String("ONE_TO_ONE_NAT"),
    						},
    					},
    					AliasIpRanges: gke.OceanLaunchSpecNetworkInterfaceAliasIpRangeArray{
    						&gke.OceanLaunchSpecNetworkInterfaceAliasIpRangeArgs{
    							IpCidrRange:         pulumi.String("/25"),
    							SubnetworkRangeName: pulumi.String("gke-test-native-vpc-pods-123456-vng"),
    						},
    					},
    					Network:   pulumi.String("test-vng-network"),
    					ProjectId: pulumi.String("test-vng-network-project"),
    				},
    			},
    			NodePoolName: pulumi.String("default-pool"),
    			OceanId:      pulumi.String("o-123456"),
    			ResourceLimits: &gke.OceanLaunchSpecResourceLimitsArgs{
    				MaxInstanceCount: pulumi.Int(3),
    				MinInstanceCount: pulumi.Int(0),
    			},
    			RestrictScaleDown: pulumi.Bool(true),
    			RootVolumeSize:    pulumi.Int(10),
    			RootVolumeType:    pulumi.String("pd-standard"),
    			SchedulingTasks: gke.OceanLaunchSpecSchedulingTaskArray{
    				&gke.OceanLaunchSpecSchedulingTaskArgs{
    					CronExpression: pulumi.String("0 1 * * *"),
    					IsEnabled:      pulumi.Bool(true),
    					TaskHeadrooms: gke.OceanLaunchSpecSchedulingTaskTaskHeadroomArray{
    						&gke.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs{
    							CpuPerUnit:    pulumi.Int(1000),
    							GpuPerUnit:    pulumi.Int(0),
    							MemoryPerUnit: pulumi.Int(2048),
    							NumOfUnits:    pulumi.Int(5),
    						},
    					},
    					TaskType: pulumi.String("manualHeadroomUpdate"),
    				},
    			},
    			ServiceAccount: pulumi.String("default"),
    			ShieldedInstanceConfig: &gke.OceanLaunchSpecShieldedInstanceConfigArgs{
    				EnableIntegrityMonitoring: pulumi.Bool(true),
    				EnableSecureBoot:          pulumi.Bool(false),
    			},
    			SourceImage: pulumi.String("image"),
    			Storage: &gke.OceanLaunchSpecStorageArgs{
    				LocalSsdCount: pulumi.Int(5),
    			},
    			Strategies: gke.OceanLaunchSpecStrategyArray{
    				&gke.OceanLaunchSpecStrategyArgs{
    					PreemptiblePercentage: pulumi.Int(30),
    				},
    			},
    			Tags: pulumi.StringArray{
    				pulumi.String("tag1"),
    				pulumi.String("tag2"),
    			},
    			Taints: gke.OceanLaunchSpecTaintArray{
    				&gke.OceanLaunchSpecTaintArgs{
    					Effect: pulumi.String("taintEffect"),
    					Key:    pulumi.String("taintKey"),
    					Value:  pulumi.String("taintVal"),
    				},
    			},
    		})
    		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.Gke.OceanLaunchSpec("example", new()
        {
            AutoscaleHeadrooms = new[]
            {
                new SpotInst.Gke.Inputs.OceanLaunchSpecAutoscaleHeadroomArgs
                {
                    CpuPerUnit = 1000,
                    GpuPerUnit = 0,
                    MemoryPerUnit = 2048,
                    NumOfUnits = 5,
                },
            },
            AutoscaleHeadroomsAutomatics = new[]
            {
                new SpotInst.Gke.Inputs.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs
                {
                    AutoHeadroomPercentage = 5,
                },
            },
            InstanceTypes = new[]
            {
                "n1-standard-1, n1-standard-2",
            },
            Labels = new[]
            {
                new SpotInst.Gke.Inputs.OceanLaunchSpecLabelArgs
                {
                    Key = "labelKey",
                    Value = "labelVal",
                },
            },
            Metadatas = new[]
            {
                new SpotInst.Gke.Inputs.OceanLaunchSpecMetadataArgs
                {
                    Key = "gci-update-strategy",
                    Value = "update_disabled",
                },
            },
            NetworkInterfaces = new[]
            {
                new SpotInst.Gke.Inputs.OceanLaunchSpecNetworkInterfaceArgs
                {
                    AccessConfigs = new[]
                    {
                        new SpotInst.Gke.Inputs.OceanLaunchSpecNetworkInterfaceAccessConfigArgs
                        {
                            Name = "external-nat-vng",
                            Type = "ONE_TO_ONE_NAT",
                        },
                    },
                    AliasIpRanges = new[]
                    {
                        new SpotInst.Gke.Inputs.OceanLaunchSpecNetworkInterfaceAliasIpRangeArgs
                        {
                            IpCidrRange = "/25",
                            SubnetworkRangeName = "gke-test-native-vpc-pods-123456-vng",
                        },
                    },
                    Network = "test-vng-network",
                    ProjectId = "test-vng-network-project",
                },
            },
            NodePoolName = "default-pool",
            OceanId = "o-123456",
            ResourceLimits = new SpotInst.Gke.Inputs.OceanLaunchSpecResourceLimitsArgs
            {
                MaxInstanceCount = 3,
                MinInstanceCount = 0,
            },
            RestrictScaleDown = true,
            RootVolumeSize = 10,
            RootVolumeType = "pd-standard",
            SchedulingTasks = new[]
            {
                new SpotInst.Gke.Inputs.OceanLaunchSpecSchedulingTaskArgs
                {
                    CronExpression = "0 1 * * *",
                    IsEnabled = true,
                    TaskHeadrooms = new[]
                    {
                        new SpotInst.Gke.Inputs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs
                        {
                            CpuPerUnit = 1000,
                            GpuPerUnit = 0,
                            MemoryPerUnit = 2048,
                            NumOfUnits = 5,
                        },
                    },
                    TaskType = "manualHeadroomUpdate",
                },
            },
            ServiceAccount = "default",
            ShieldedInstanceConfig = new SpotInst.Gke.Inputs.OceanLaunchSpecShieldedInstanceConfigArgs
            {
                EnableIntegrityMonitoring = true,
                EnableSecureBoot = false,
            },
            SourceImage = "image",
            Storage = new SpotInst.Gke.Inputs.OceanLaunchSpecStorageArgs
            {
                LocalSsdCount = 5,
            },
            Strategies = new[]
            {
                new SpotInst.Gke.Inputs.OceanLaunchSpecStrategyArgs
                {
                    PreemptiblePercentage = 30,
                },
            },
            Tags = new[]
            {
                "tag1",
                "tag2",
            },
            Taints = new[]
            {
                new SpotInst.Gke.Inputs.OceanLaunchSpecTaintArgs
                {
                    Effect = "taintEffect",
                    Key = "taintKey",
                    Value = "taintVal",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spotinst.gke.OceanLaunchSpec;
    import com.pulumi.spotinst.gke.OceanLaunchSpecArgs;
    import com.pulumi.spotinst.gke.inputs.OceanLaunchSpecAutoscaleHeadroomArgs;
    import com.pulumi.spotinst.gke.inputs.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs;
    import com.pulumi.spotinst.gke.inputs.OceanLaunchSpecLabelArgs;
    import com.pulumi.spotinst.gke.inputs.OceanLaunchSpecMetadataArgs;
    import com.pulumi.spotinst.gke.inputs.OceanLaunchSpecNetworkInterfaceArgs;
    import com.pulumi.spotinst.gke.inputs.OceanLaunchSpecResourceLimitsArgs;
    import com.pulumi.spotinst.gke.inputs.OceanLaunchSpecSchedulingTaskArgs;
    import com.pulumi.spotinst.gke.inputs.OceanLaunchSpecShieldedInstanceConfigArgs;
    import com.pulumi.spotinst.gke.inputs.OceanLaunchSpecStorageArgs;
    import com.pulumi.spotinst.gke.inputs.OceanLaunchSpecStrategyArgs;
    import com.pulumi.spotinst.gke.inputs.OceanLaunchSpecTaintArgs;
    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 OceanLaunchSpec("example", OceanLaunchSpecArgs.builder()        
                .autoscaleHeadrooms(OceanLaunchSpecAutoscaleHeadroomArgs.builder()
                    .cpuPerUnit(1000)
                    .gpuPerUnit(0)
                    .memoryPerUnit(2048)
                    .numOfUnits(5)
                    .build())
                .autoscaleHeadroomsAutomatics(OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs.builder()
                    .autoHeadroomPercentage(5)
                    .build())
                .instanceTypes("n1-standard-1, n1-standard-2")
                .labels(OceanLaunchSpecLabelArgs.builder()
                    .key("labelKey")
                    .value("labelVal")
                    .build())
                .metadatas(OceanLaunchSpecMetadataArgs.builder()
                    .key("gci-update-strategy")
                    .value("update_disabled")
                    .build())
                .networkInterfaces(OceanLaunchSpecNetworkInterfaceArgs.builder()
                    .accessConfigs(OceanLaunchSpecNetworkInterfaceAccessConfigArgs.builder()
                        .name("external-nat-vng")
                        .type("ONE_TO_ONE_NAT")
                        .build())
                    .aliasIpRanges(OceanLaunchSpecNetworkInterfaceAliasIpRangeArgs.builder()
                        .ipCidrRange("/25")
                        .subnetworkRangeName("gke-test-native-vpc-pods-123456-vng")
                        .build())
                    .network("test-vng-network")
                    .projectId("test-vng-network-project")
                    .build())
                .nodePoolName("default-pool")
                .oceanId("o-123456")
                .resourceLimits(OceanLaunchSpecResourceLimitsArgs.builder()
                    .maxInstanceCount(3)
                    .minInstanceCount(0)
                    .build())
                .restrictScaleDown(true)
                .rootVolumeSize(10)
                .rootVolumeType("pd-standard")
                .schedulingTasks(OceanLaunchSpecSchedulingTaskArgs.builder()
                    .cronExpression("0 1 * * *")
                    .isEnabled(true)
                    .taskHeadrooms(OceanLaunchSpecSchedulingTaskTaskHeadroomArgs.builder()
                        .cpuPerUnit(1000)
                        .gpuPerUnit(0)
                        .memoryPerUnit(2048)
                        .numOfUnits(5)
                        .build())
                    .taskType("manualHeadroomUpdate")
                    .build())
                .serviceAccount("default")
                .shieldedInstanceConfig(OceanLaunchSpecShieldedInstanceConfigArgs.builder()
                    .enableIntegrityMonitoring(true)
                    .enableSecureBoot(false)
                    .build())
                .sourceImage("image")
                .storage(OceanLaunchSpecStorageArgs.builder()
                    .localSsdCount(5)
                    .build())
                .strategies(OceanLaunchSpecStrategyArgs.builder()
                    .preemptiblePercentage(30)
                    .build())
                .tags(            
                    "tag1",
                    "tag2")
                .taints(OceanLaunchSpecTaintArgs.builder()
                    .effect("taintEffect")
                    .key("taintKey")
                    .value("taintVal")
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: spotinst:gke:OceanLaunchSpec
        properties:
          autoscaleHeadrooms:
            - cpuPerUnit: 1000
              gpuPerUnit: 0
              memoryPerUnit: 2048
              numOfUnits: 5
          autoscaleHeadroomsAutomatics:
            - autoHeadroomPercentage: 5
          instanceTypes:
            - n1-standard-1, n1-standard-2
          labels:
            - key: labelKey
              value: labelVal
          metadatas:
            - key: gci-update-strategy
              value: update_disabled
          networkInterfaces:
            - accessConfigs:
                - name: external-nat-vng
                  type: ONE_TO_ONE_NAT
              aliasIpRanges:
                - ipCidrRange: /25
                  subnetworkRangeName: gke-test-native-vpc-pods-123456-vng
              network: test-vng-network
              projectId: test-vng-network-project
          nodePoolName: default-pool
          oceanId: o-123456
          resourceLimits:
            maxInstanceCount: 3
            minInstanceCount: 0
          restrictScaleDown: true
          rootVolumeSize: 10
          rootVolumeType: pd-standard
          schedulingTasks:
            - cronExpression: 0 1 * * *
              isEnabled: true
              taskHeadrooms:
                - cpuPerUnit: 1000
                  gpuPerUnit: 0
                  memoryPerUnit: 2048
                  numOfUnits: 5
              taskType: manualHeadroomUpdate
          serviceAccount: default
          shieldedInstanceConfig:
            enableIntegrityMonitoring: true
            enableSecureBoot: false
          sourceImage: image
          storage:
            localSsdCount: 5
          strategies:
            - preemptiblePercentage: 30
          tags:
            - tag1
            - tag2
          taints:
            - effect: taintEffect
              key: taintKey
              value: taintVal
    
    output "ocean_launchspec_id" {
      value = spotinst_ocean_gke_launch_spec.example.id
    }
    

    Update Policy

    • update_policy - (Optional)
      • should_roll - (Required) Enables the roll.
      • roll_config - (Required) Holds the roll configuration.
        • batch_size_percentage - (Required) Sets the percentage of the instances to deploy in each batch.
    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
        }
    }
    
    {}
    

    Create OceanLaunchSpec Resource

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

    Constructor syntax

    new OceanLaunchSpec(name: string, args: OceanLaunchSpecArgs, opts?: CustomResourceOptions);
    @overload
    def OceanLaunchSpec(resource_name: str,
                        args: OceanLaunchSpecArgs,
                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def OceanLaunchSpec(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        ocean_id: Optional[str] = None,
                        restrict_scale_down: Optional[bool] = None,
                        name: Optional[str] = None,
                        root_volume_size: Optional[int] = None,
                        scheduling_tasks: Optional[Sequence[OceanLaunchSpecSchedulingTaskArgs]] = None,
                        root_volume_type: Optional[str] = None,
                        network_interfaces: Optional[Sequence[OceanLaunchSpecNetworkInterfaceArgs]] = None,
                        node_pool_name: Optional[str] = None,
                        autoscale_headrooms_automatics: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs]] = None,
                        resource_limits: Optional[OceanLaunchSpecResourceLimitsArgs] = None,
                        autoscale_headrooms: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]] = None,
                        labels: Optional[Sequence[OceanLaunchSpecLabelArgs]] = None,
                        instance_types: Optional[Sequence[str]] = None,
                        metadatas: Optional[Sequence[OceanLaunchSpecMetadataArgs]] = None,
                        service_account: Optional[str] = None,
                        shielded_instance_config: Optional[OceanLaunchSpecShieldedInstanceConfigArgs] = None,
                        source_image: Optional[str] = None,
                        storage: Optional[OceanLaunchSpecStorageArgs] = None,
                        strategies: Optional[Sequence[OceanLaunchSpecStrategyArgs]] = None,
                        tags: Optional[Sequence[str]] = None,
                        taints: Optional[Sequence[OceanLaunchSpecTaintArgs]] = None,
                        update_policy: Optional[OceanLaunchSpecUpdatePolicyArgs] = None)
    func NewOceanLaunchSpec(ctx *Context, name string, args OceanLaunchSpecArgs, opts ...ResourceOption) (*OceanLaunchSpec, error)
    public OceanLaunchSpec(string name, OceanLaunchSpecArgs args, CustomResourceOptions? opts = null)
    public OceanLaunchSpec(String name, OceanLaunchSpecArgs args)
    public OceanLaunchSpec(String name, OceanLaunchSpecArgs args, CustomResourceOptions options)
    
    type: spotinst:gke:OceanLaunchSpec
    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 OceanLaunchSpecArgs
    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 OceanLaunchSpecArgs
    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 OceanLaunchSpecArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args OceanLaunchSpecArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args OceanLaunchSpecArgs
    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 exampleoceanLaunchSpecResourceResourceFromGkeoceanLaunchSpec = new SpotInst.Gke.OceanLaunchSpec("exampleoceanLaunchSpecResourceResourceFromGkeoceanLaunchSpec", new()
    {
        OceanId = "string",
        RestrictScaleDown = false,
        Name = "string",
        RootVolumeSize = 0,
        SchedulingTasks = new[]
        {
            new SpotInst.Gke.Inputs.OceanLaunchSpecSchedulingTaskArgs
            {
                CronExpression = "string",
                IsEnabled = false,
                TaskType = "string",
                TaskHeadrooms = new[]
                {
                    new SpotInst.Gke.Inputs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs
                    {
                        NumOfUnits = 0,
                        CpuPerUnit = 0,
                        GpuPerUnit = 0,
                        MemoryPerUnit = 0,
                    },
                },
            },
        },
        RootVolumeType = "string",
        NetworkInterfaces = new[]
        {
            new SpotInst.Gke.Inputs.OceanLaunchSpecNetworkInterfaceArgs
            {
                Network = "string",
                AccessConfigs = new[]
                {
                    new SpotInst.Gke.Inputs.OceanLaunchSpecNetworkInterfaceAccessConfigArgs
                    {
                        Name = "string",
                        Type = "string",
                    },
                },
                AliasIpRanges = new[]
                {
                    new SpotInst.Gke.Inputs.OceanLaunchSpecNetworkInterfaceAliasIpRangeArgs
                    {
                        IpCidrRange = "string",
                        SubnetworkRangeName = "string",
                    },
                },
                ProjectId = "string",
            },
        },
        NodePoolName = "string",
        AutoscaleHeadroomsAutomatics = new[]
        {
            new SpotInst.Gke.Inputs.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs
            {
                AutoHeadroomPercentage = 0,
            },
        },
        ResourceLimits = new SpotInst.Gke.Inputs.OceanLaunchSpecResourceLimitsArgs
        {
            MaxInstanceCount = 0,
            MinInstanceCount = 0,
        },
        AutoscaleHeadrooms = new[]
        {
            new SpotInst.Gke.Inputs.OceanLaunchSpecAutoscaleHeadroomArgs
            {
                NumOfUnits = 0,
                CpuPerUnit = 0,
                GpuPerUnit = 0,
                MemoryPerUnit = 0,
            },
        },
        Labels = new[]
        {
            new SpotInst.Gke.Inputs.OceanLaunchSpecLabelArgs
            {
                Key = "string",
                Value = "string",
            },
        },
        InstanceTypes = new[]
        {
            "string",
        },
        Metadatas = new[]
        {
            new SpotInst.Gke.Inputs.OceanLaunchSpecMetadataArgs
            {
                Key = "string",
                Value = "string",
            },
        },
        ServiceAccount = "string",
        ShieldedInstanceConfig = new SpotInst.Gke.Inputs.OceanLaunchSpecShieldedInstanceConfigArgs
        {
            EnableIntegrityMonitoring = false,
            EnableSecureBoot = false,
        },
        SourceImage = "string",
        Storage = new SpotInst.Gke.Inputs.OceanLaunchSpecStorageArgs
        {
            LocalSsdCount = 0,
        },
        Strategies = new[]
        {
            new SpotInst.Gke.Inputs.OceanLaunchSpecStrategyArgs
            {
                PreemptiblePercentage = 0,
            },
        },
        Tags = new[]
        {
            "string",
        },
        Taints = new[]
        {
            new SpotInst.Gke.Inputs.OceanLaunchSpecTaintArgs
            {
                Effect = "string",
                Key = "string",
                Value = "string",
            },
        },
        UpdatePolicy = new SpotInst.Gke.Inputs.OceanLaunchSpecUpdatePolicyArgs
        {
            ShouldRoll = false,
            RollConfig = new SpotInst.Gke.Inputs.OceanLaunchSpecUpdatePolicyRollConfigArgs
            {
                BatchSizePercentage = 0,
            },
        },
    });
    
    example, err := gke.NewOceanLaunchSpec(ctx, "exampleoceanLaunchSpecResourceResourceFromGkeoceanLaunchSpec", &gke.OceanLaunchSpecArgs{
    	OceanId:           pulumi.String("string"),
    	RestrictScaleDown: pulumi.Bool(false),
    	Name:              pulumi.String("string"),
    	RootVolumeSize:    pulumi.Int(0),
    	SchedulingTasks: gke.OceanLaunchSpecSchedulingTaskArray{
    		&gke.OceanLaunchSpecSchedulingTaskArgs{
    			CronExpression: pulumi.String("string"),
    			IsEnabled:      pulumi.Bool(false),
    			TaskType:       pulumi.String("string"),
    			TaskHeadrooms: gke.OceanLaunchSpecSchedulingTaskTaskHeadroomArray{
    				&gke.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs{
    					NumOfUnits:    pulumi.Int(0),
    					CpuPerUnit:    pulumi.Int(0),
    					GpuPerUnit:    pulumi.Int(0),
    					MemoryPerUnit: pulumi.Int(0),
    				},
    			},
    		},
    	},
    	RootVolumeType: pulumi.String("string"),
    	NetworkInterfaces: gke.OceanLaunchSpecNetworkInterfaceArray{
    		&gke.OceanLaunchSpecNetworkInterfaceArgs{
    			Network: pulumi.String("string"),
    			AccessConfigs: gke.OceanLaunchSpecNetworkInterfaceAccessConfigArray{
    				&gke.OceanLaunchSpecNetworkInterfaceAccessConfigArgs{
    					Name: pulumi.String("string"),
    					Type: pulumi.String("string"),
    				},
    			},
    			AliasIpRanges: gke.OceanLaunchSpecNetworkInterfaceAliasIpRangeArray{
    				&gke.OceanLaunchSpecNetworkInterfaceAliasIpRangeArgs{
    					IpCidrRange:         pulumi.String("string"),
    					SubnetworkRangeName: pulumi.String("string"),
    				},
    			},
    			ProjectId: pulumi.String("string"),
    		},
    	},
    	NodePoolName: pulumi.String("string"),
    	AutoscaleHeadroomsAutomatics: gke.OceanLaunchSpecAutoscaleHeadroomsAutomaticArray{
    		&gke.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs{
    			AutoHeadroomPercentage: pulumi.Int(0),
    		},
    	},
    	ResourceLimits: &gke.OceanLaunchSpecResourceLimitsArgs{
    		MaxInstanceCount: pulumi.Int(0),
    		MinInstanceCount: pulumi.Int(0),
    	},
    	AutoscaleHeadrooms: gke.OceanLaunchSpecAutoscaleHeadroomArray{
    		&gke.OceanLaunchSpecAutoscaleHeadroomArgs{
    			NumOfUnits:    pulumi.Int(0),
    			CpuPerUnit:    pulumi.Int(0),
    			GpuPerUnit:    pulumi.Int(0),
    			MemoryPerUnit: pulumi.Int(0),
    		},
    	},
    	Labels: gke.OceanLaunchSpecLabelArray{
    		&gke.OceanLaunchSpecLabelArgs{
    			Key:   pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	InstanceTypes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Metadatas: gke.OceanLaunchSpecMetadataArray{
    		&gke.OceanLaunchSpecMetadataArgs{
    			Key:   pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	ServiceAccount: pulumi.String("string"),
    	ShieldedInstanceConfig: &gke.OceanLaunchSpecShieldedInstanceConfigArgs{
    		EnableIntegrityMonitoring: pulumi.Bool(false),
    		EnableSecureBoot:          pulumi.Bool(false),
    	},
    	SourceImage: pulumi.String("string"),
    	Storage: &gke.OceanLaunchSpecStorageArgs{
    		LocalSsdCount: pulumi.Int(0),
    	},
    	Strategies: gke.OceanLaunchSpecStrategyArray{
    		&gke.OceanLaunchSpecStrategyArgs{
    			PreemptiblePercentage: pulumi.Int(0),
    		},
    	},
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Taints: gke.OceanLaunchSpecTaintArray{
    		&gke.OceanLaunchSpecTaintArgs{
    			Effect: pulumi.String("string"),
    			Key:    pulumi.String("string"),
    			Value:  pulumi.String("string"),
    		},
    	},
    	UpdatePolicy: &gke.OceanLaunchSpecUpdatePolicyArgs{
    		ShouldRoll: pulumi.Bool(false),
    		RollConfig: &gke.OceanLaunchSpecUpdatePolicyRollConfigArgs{
    			BatchSizePercentage: pulumi.Int(0),
    		},
    	},
    })
    
    var exampleoceanLaunchSpecResourceResourceFromGkeoceanLaunchSpec = new OceanLaunchSpec("exampleoceanLaunchSpecResourceResourceFromGkeoceanLaunchSpec", OceanLaunchSpecArgs.builder()        
        .oceanId("string")
        .restrictScaleDown(false)
        .name("string")
        .rootVolumeSize(0)
        .schedulingTasks(OceanLaunchSpecSchedulingTaskArgs.builder()
            .cronExpression("string")
            .isEnabled(false)
            .taskType("string")
            .taskHeadrooms(OceanLaunchSpecSchedulingTaskTaskHeadroomArgs.builder()
                .numOfUnits(0)
                .cpuPerUnit(0)
                .gpuPerUnit(0)
                .memoryPerUnit(0)
                .build())
            .build())
        .rootVolumeType("string")
        .networkInterfaces(OceanLaunchSpecNetworkInterfaceArgs.builder()
            .network("string")
            .accessConfigs(OceanLaunchSpecNetworkInterfaceAccessConfigArgs.builder()
                .name("string")
                .type("string")
                .build())
            .aliasIpRanges(OceanLaunchSpecNetworkInterfaceAliasIpRangeArgs.builder()
                .ipCidrRange("string")
                .subnetworkRangeName("string")
                .build())
            .projectId("string")
            .build())
        .nodePoolName("string")
        .autoscaleHeadroomsAutomatics(OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs.builder()
            .autoHeadroomPercentage(0)
            .build())
        .resourceLimits(OceanLaunchSpecResourceLimitsArgs.builder()
            .maxInstanceCount(0)
            .minInstanceCount(0)
            .build())
        .autoscaleHeadrooms(OceanLaunchSpecAutoscaleHeadroomArgs.builder()
            .numOfUnits(0)
            .cpuPerUnit(0)
            .gpuPerUnit(0)
            .memoryPerUnit(0)
            .build())
        .labels(OceanLaunchSpecLabelArgs.builder()
            .key("string")
            .value("string")
            .build())
        .instanceTypes("string")
        .metadatas(OceanLaunchSpecMetadataArgs.builder()
            .key("string")
            .value("string")
            .build())
        .serviceAccount("string")
        .shieldedInstanceConfig(OceanLaunchSpecShieldedInstanceConfigArgs.builder()
            .enableIntegrityMonitoring(false)
            .enableSecureBoot(false)
            .build())
        .sourceImage("string")
        .storage(OceanLaunchSpecStorageArgs.builder()
            .localSsdCount(0)
            .build())
        .strategies(OceanLaunchSpecStrategyArgs.builder()
            .preemptiblePercentage(0)
            .build())
        .tags("string")
        .taints(OceanLaunchSpecTaintArgs.builder()
            .effect("string")
            .key("string")
            .value("string")
            .build())
        .updatePolicy(OceanLaunchSpecUpdatePolicyArgs.builder()
            .shouldRoll(false)
            .rollConfig(OceanLaunchSpecUpdatePolicyRollConfigArgs.builder()
                .batchSizePercentage(0)
                .build())
            .build())
        .build());
    
    exampleocean_launch_spec_resource_resource_from_gkeocean_launch_spec = spotinst.gke.OceanLaunchSpec("exampleoceanLaunchSpecResourceResourceFromGkeoceanLaunchSpec",
        ocean_id="string",
        restrict_scale_down=False,
        name="string",
        root_volume_size=0,
        scheduling_tasks=[spotinst.gke.OceanLaunchSpecSchedulingTaskArgs(
            cron_expression="string",
            is_enabled=False,
            task_type="string",
            task_headrooms=[spotinst.gke.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs(
                num_of_units=0,
                cpu_per_unit=0,
                gpu_per_unit=0,
                memory_per_unit=0,
            )],
        )],
        root_volume_type="string",
        network_interfaces=[spotinst.gke.OceanLaunchSpecNetworkInterfaceArgs(
            network="string",
            access_configs=[spotinst.gke.OceanLaunchSpecNetworkInterfaceAccessConfigArgs(
                name="string",
                type="string",
            )],
            alias_ip_ranges=[spotinst.gke.OceanLaunchSpecNetworkInterfaceAliasIpRangeArgs(
                ip_cidr_range="string",
                subnetwork_range_name="string",
            )],
            project_id="string",
        )],
        node_pool_name="string",
        autoscale_headrooms_automatics=[spotinst.gke.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs(
            auto_headroom_percentage=0,
        )],
        resource_limits=spotinst.gke.OceanLaunchSpecResourceLimitsArgs(
            max_instance_count=0,
            min_instance_count=0,
        ),
        autoscale_headrooms=[spotinst.gke.OceanLaunchSpecAutoscaleHeadroomArgs(
            num_of_units=0,
            cpu_per_unit=0,
            gpu_per_unit=0,
            memory_per_unit=0,
        )],
        labels=[spotinst.gke.OceanLaunchSpecLabelArgs(
            key="string",
            value="string",
        )],
        instance_types=["string"],
        metadatas=[spotinst.gke.OceanLaunchSpecMetadataArgs(
            key="string",
            value="string",
        )],
        service_account="string",
        shielded_instance_config=spotinst.gke.OceanLaunchSpecShieldedInstanceConfigArgs(
            enable_integrity_monitoring=False,
            enable_secure_boot=False,
        ),
        source_image="string",
        storage=spotinst.gke.OceanLaunchSpecStorageArgs(
            local_ssd_count=0,
        ),
        strategies=[spotinst.gke.OceanLaunchSpecStrategyArgs(
            preemptible_percentage=0,
        )],
        tags=["string"],
        taints=[spotinst.gke.OceanLaunchSpecTaintArgs(
            effect="string",
            key="string",
            value="string",
        )],
        update_policy=spotinst.gke.OceanLaunchSpecUpdatePolicyArgs(
            should_roll=False,
            roll_config=spotinst.gke.OceanLaunchSpecUpdatePolicyRollConfigArgs(
                batch_size_percentage=0,
            ),
        ))
    
    const exampleoceanLaunchSpecResourceResourceFromGkeoceanLaunchSpec = new spotinst.gke.OceanLaunchSpec("exampleoceanLaunchSpecResourceResourceFromGkeoceanLaunchSpec", {
        oceanId: "string",
        restrictScaleDown: false,
        name: "string",
        rootVolumeSize: 0,
        schedulingTasks: [{
            cronExpression: "string",
            isEnabled: false,
            taskType: "string",
            taskHeadrooms: [{
                numOfUnits: 0,
                cpuPerUnit: 0,
                gpuPerUnit: 0,
                memoryPerUnit: 0,
            }],
        }],
        rootVolumeType: "string",
        networkInterfaces: [{
            network: "string",
            accessConfigs: [{
                name: "string",
                type: "string",
            }],
            aliasIpRanges: [{
                ipCidrRange: "string",
                subnetworkRangeName: "string",
            }],
            projectId: "string",
        }],
        nodePoolName: "string",
        autoscaleHeadroomsAutomatics: [{
            autoHeadroomPercentage: 0,
        }],
        resourceLimits: {
            maxInstanceCount: 0,
            minInstanceCount: 0,
        },
        autoscaleHeadrooms: [{
            numOfUnits: 0,
            cpuPerUnit: 0,
            gpuPerUnit: 0,
            memoryPerUnit: 0,
        }],
        labels: [{
            key: "string",
            value: "string",
        }],
        instanceTypes: ["string"],
        metadatas: [{
            key: "string",
            value: "string",
        }],
        serviceAccount: "string",
        shieldedInstanceConfig: {
            enableIntegrityMonitoring: false,
            enableSecureBoot: false,
        },
        sourceImage: "string",
        storage: {
            localSsdCount: 0,
        },
        strategies: [{
            preemptiblePercentage: 0,
        }],
        tags: ["string"],
        taints: [{
            effect: "string",
            key: "string",
            value: "string",
        }],
        updatePolicy: {
            shouldRoll: false,
            rollConfig: {
                batchSizePercentage: 0,
            },
        },
    });
    
    type: spotinst:gke:OceanLaunchSpec
    properties:
        autoscaleHeadrooms:
            - cpuPerUnit: 0
              gpuPerUnit: 0
              memoryPerUnit: 0
              numOfUnits: 0
        autoscaleHeadroomsAutomatics:
            - autoHeadroomPercentage: 0
        instanceTypes:
            - string
        labels:
            - key: string
              value: string
        metadatas:
            - key: string
              value: string
        name: string
        networkInterfaces:
            - accessConfigs:
                - name: string
                  type: string
              aliasIpRanges:
                - ipCidrRange: string
                  subnetworkRangeName: string
              network: string
              projectId: string
        nodePoolName: string
        oceanId: string
        resourceLimits:
            maxInstanceCount: 0
            minInstanceCount: 0
        restrictScaleDown: false
        rootVolumeSize: 0
        rootVolumeType: string
        schedulingTasks:
            - cronExpression: string
              isEnabled: false
              taskHeadrooms:
                - cpuPerUnit: 0
                  gpuPerUnit: 0
                  memoryPerUnit: 0
                  numOfUnits: 0
              taskType: string
        serviceAccount: string
        shieldedInstanceConfig:
            enableIntegrityMonitoring: false
            enableSecureBoot: false
        sourceImage: string
        storage:
            localSsdCount: 0
        strategies:
            - preemptiblePercentage: 0
        tags:
            - string
        taints:
            - effect: string
              key: string
              value: string
        updatePolicy:
            rollConfig:
                batchSizePercentage: 0
            shouldRoll: false
    

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

    OceanId string
    The Ocean cluster ID.
    AutoscaleHeadrooms List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecAutoscaleHeadroom>
    Set custom headroom per launch spec. provide list of headrooms object.
    AutoscaleHeadroomsAutomatics List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecAutoscaleHeadroomsAutomatic>
    Set automatic headroom per launch spec.
    InstanceTypes List<string>
    List of supported machine types for the Launch Spec.
    Labels List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecLabel>
    Optionally adds labels to instances launched in an Ocean cluster.
    Metadatas List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecMetadata>
    Cluster's metadata.
    Name string
    The name of the access configuration.
    NetworkInterfaces List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecNetworkInterface>
    Settings for network interfaces.
    NodePoolName string
    The node pool you wish to use in your Launch Spec.
    ResourceLimits Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecResourceLimits
    The Ocean virtual node group resource limits object.
    RestrictScaleDown bool
    Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    RootVolumeSize int
    Root volume size (in GB).
    RootVolumeType string
    Root volume disk type. Valid values: "pd-standard", "pd-ssd".
    SchedulingTasks List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecSchedulingTask>
    Used to define scheduled tasks such as a manual headroom update.
    ServiceAccount string
    The account used by applications running on the VM to call GCP APIs.
    ShieldedInstanceConfig Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecShieldedInstanceConfig
    The Ocean shielded instance configuration object.
    SourceImage string
    Image URL.
    Storage Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecStorage
    The Ocean virtual node group storage object.
    Strategies List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecStrategy>
    The Ocean Launch Spec Strategy object.
    Tags List<string>
    Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
    Taints List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecTaint>
    Optionally adds labels to instances launched in an Ocean cluster.
    UpdatePolicy Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecUpdatePolicy
    OceanId string
    The Ocean cluster ID.
    AutoscaleHeadrooms []OceanLaunchSpecAutoscaleHeadroomArgs
    Set custom headroom per launch spec. provide list of headrooms object.
    AutoscaleHeadroomsAutomatics []OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs
    Set automatic headroom per launch spec.
    InstanceTypes []string
    List of supported machine types for the Launch Spec.
    Labels []OceanLaunchSpecLabelArgs
    Optionally adds labels to instances launched in an Ocean cluster.
    Metadatas []OceanLaunchSpecMetadataArgs
    Cluster's metadata.
    Name string
    The name of the access configuration.
    NetworkInterfaces []OceanLaunchSpecNetworkInterfaceArgs
    Settings for network interfaces.
    NodePoolName string
    The node pool you wish to use in your Launch Spec.
    ResourceLimits OceanLaunchSpecResourceLimitsArgs
    The Ocean virtual node group resource limits object.
    RestrictScaleDown bool
    Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    RootVolumeSize int
    Root volume size (in GB).
    RootVolumeType string
    Root volume disk type. Valid values: "pd-standard", "pd-ssd".
    SchedulingTasks []OceanLaunchSpecSchedulingTaskArgs
    Used to define scheduled tasks such as a manual headroom update.
    ServiceAccount string
    The account used by applications running on the VM to call GCP APIs.
    ShieldedInstanceConfig OceanLaunchSpecShieldedInstanceConfigArgs
    The Ocean shielded instance configuration object.
    SourceImage string
    Image URL.
    Storage OceanLaunchSpecStorageArgs
    The Ocean virtual node group storage object.
    Strategies []OceanLaunchSpecStrategyArgs
    The Ocean Launch Spec Strategy object.
    Tags []string
    Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
    Taints []OceanLaunchSpecTaintArgs
    Optionally adds labels to instances launched in an Ocean cluster.
    UpdatePolicy OceanLaunchSpecUpdatePolicyArgs
    oceanId String
    The Ocean cluster ID.
    autoscaleHeadrooms List<OceanLaunchSpecAutoscaleHeadroom>
    Set custom headroom per launch spec. provide list of headrooms object.
    autoscaleHeadroomsAutomatics List<OceanLaunchSpecAutoscaleHeadroomsAutomatic>
    Set automatic headroom per launch spec.
    instanceTypes List<String>
    List of supported machine types for the Launch Spec.
    labels List<OceanLaunchSpecLabel>
    Optionally adds labels to instances launched in an Ocean cluster.
    metadatas List<OceanLaunchSpecMetadata>
    Cluster's metadata.
    name String
    The name of the access configuration.
    networkInterfaces List<OceanLaunchSpecNetworkInterface>
    Settings for network interfaces.
    nodePoolName String
    The node pool you wish to use in your Launch Spec.
    resourceLimits OceanLaunchSpecResourceLimits
    The Ocean virtual node group resource limits object.
    restrictScaleDown Boolean
    Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    rootVolumeSize Integer
    Root volume size (in GB).
    rootVolumeType String
    Root volume disk type. Valid values: "pd-standard", "pd-ssd".
    schedulingTasks List<OceanLaunchSpecSchedulingTask>
    Used to define scheduled tasks such as a manual headroom update.
    serviceAccount String
    The account used by applications running on the VM to call GCP APIs.
    shieldedInstanceConfig OceanLaunchSpecShieldedInstanceConfig
    The Ocean shielded instance configuration object.
    sourceImage String
    Image URL.
    storage OceanLaunchSpecStorage
    The Ocean virtual node group storage object.
    strategies List<OceanLaunchSpecStrategy>
    The Ocean Launch Spec Strategy object.
    tags List<String>
    Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
    taints List<OceanLaunchSpecTaint>
    Optionally adds labels to instances launched in an Ocean cluster.
    updatePolicy OceanLaunchSpecUpdatePolicy
    oceanId string
    The Ocean cluster ID.
    autoscaleHeadrooms OceanLaunchSpecAutoscaleHeadroom[]
    Set custom headroom per launch spec. provide list of headrooms object.
    autoscaleHeadroomsAutomatics OceanLaunchSpecAutoscaleHeadroomsAutomatic[]
    Set automatic headroom per launch spec.
    instanceTypes string[]
    List of supported machine types for the Launch Spec.
    labels OceanLaunchSpecLabel[]
    Optionally adds labels to instances launched in an Ocean cluster.
    metadatas OceanLaunchSpecMetadata[]
    Cluster's metadata.
    name string
    The name of the access configuration.
    networkInterfaces OceanLaunchSpecNetworkInterface[]
    Settings for network interfaces.
    nodePoolName string
    The node pool you wish to use in your Launch Spec.
    resourceLimits OceanLaunchSpecResourceLimits
    The Ocean virtual node group resource limits object.
    restrictScaleDown boolean
    Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    rootVolumeSize number
    Root volume size (in GB).
    rootVolumeType string
    Root volume disk type. Valid values: "pd-standard", "pd-ssd".
    schedulingTasks OceanLaunchSpecSchedulingTask[]
    Used to define scheduled tasks such as a manual headroom update.
    serviceAccount string
    The account used by applications running on the VM to call GCP APIs.
    shieldedInstanceConfig OceanLaunchSpecShieldedInstanceConfig
    The Ocean shielded instance configuration object.
    sourceImage string
    Image URL.
    storage OceanLaunchSpecStorage
    The Ocean virtual node group storage object.
    strategies OceanLaunchSpecStrategy[]
    The Ocean Launch Spec Strategy object.
    tags string[]
    Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
    taints OceanLaunchSpecTaint[]
    Optionally adds labels to instances launched in an Ocean cluster.
    updatePolicy OceanLaunchSpecUpdatePolicy
    ocean_id str
    The Ocean cluster ID.
    autoscale_headrooms Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]
    Set custom headroom per launch spec. provide list of headrooms object.
    autoscale_headrooms_automatics Sequence[OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs]
    Set automatic headroom per launch spec.
    instance_types Sequence[str]
    List of supported machine types for the Launch Spec.
    labels Sequence[OceanLaunchSpecLabelArgs]
    Optionally adds labels to instances launched in an Ocean cluster.
    metadatas Sequence[OceanLaunchSpecMetadataArgs]
    Cluster's metadata.
    name str
    The name of the access configuration.
    network_interfaces Sequence[OceanLaunchSpecNetworkInterfaceArgs]
    Settings for network interfaces.
    node_pool_name str
    The node pool you wish to use in your Launch Spec.
    resource_limits OceanLaunchSpecResourceLimitsArgs
    The Ocean virtual node group resource limits object.
    restrict_scale_down bool
    Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    root_volume_size int
    Root volume size (in GB).
    root_volume_type str
    Root volume disk type. Valid values: "pd-standard", "pd-ssd".
    scheduling_tasks Sequence[OceanLaunchSpecSchedulingTaskArgs]
    Used to define scheduled tasks such as a manual headroom update.
    service_account str
    The account used by applications running on the VM to call GCP APIs.
    shielded_instance_config OceanLaunchSpecShieldedInstanceConfigArgs
    The Ocean shielded instance configuration object.
    source_image str
    Image URL.
    storage OceanLaunchSpecStorageArgs
    The Ocean virtual node group storage object.
    strategies Sequence[OceanLaunchSpecStrategyArgs]
    The Ocean Launch Spec Strategy object.
    tags Sequence[str]
    Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
    taints Sequence[OceanLaunchSpecTaintArgs]
    Optionally adds labels to instances launched in an Ocean cluster.
    update_policy OceanLaunchSpecUpdatePolicyArgs
    oceanId String
    The Ocean cluster ID.
    autoscaleHeadrooms List<Property Map>
    Set custom headroom per launch spec. provide list of headrooms object.
    autoscaleHeadroomsAutomatics List<Property Map>
    Set automatic headroom per launch spec.
    instanceTypes List<String>
    List of supported machine types for the Launch Spec.
    labels List<Property Map>
    Optionally adds labels to instances launched in an Ocean cluster.
    metadatas List<Property Map>
    Cluster's metadata.
    name String
    The name of the access configuration.
    networkInterfaces List<Property Map>
    Settings for network interfaces.
    nodePoolName String
    The node pool you wish to use in your Launch Spec.
    resourceLimits Property Map
    The Ocean virtual node group resource limits object.
    restrictScaleDown Boolean
    Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    rootVolumeSize Number
    Root volume size (in GB).
    rootVolumeType String
    Root volume disk type. Valid values: "pd-standard", "pd-ssd".
    schedulingTasks List<Property Map>
    Used to define scheduled tasks such as a manual headroom update.
    serviceAccount String
    The account used by applications running on the VM to call GCP APIs.
    shieldedInstanceConfig Property Map
    The Ocean shielded instance configuration object.
    sourceImage String
    Image URL.
    storage Property Map
    The Ocean virtual node group storage object.
    strategies List<Property Map>
    The Ocean Launch Spec Strategy object.
    tags List<String>
    Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
    taints List<Property Map>
    Optionally adds labels to instances launched in an Ocean cluster.
    updatePolicy Property Map

    Outputs

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

    Get an existing OceanLaunchSpec 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?: OceanLaunchSpecState, opts?: CustomResourceOptions): OceanLaunchSpec
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            autoscale_headrooms: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]] = None,
            autoscale_headrooms_automatics: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs]] = None,
            instance_types: Optional[Sequence[str]] = None,
            labels: Optional[Sequence[OceanLaunchSpecLabelArgs]] = None,
            metadatas: Optional[Sequence[OceanLaunchSpecMetadataArgs]] = None,
            name: Optional[str] = None,
            network_interfaces: Optional[Sequence[OceanLaunchSpecNetworkInterfaceArgs]] = None,
            node_pool_name: Optional[str] = None,
            ocean_id: Optional[str] = None,
            resource_limits: Optional[OceanLaunchSpecResourceLimitsArgs] = None,
            restrict_scale_down: Optional[bool] = None,
            root_volume_size: Optional[int] = None,
            root_volume_type: Optional[str] = None,
            scheduling_tasks: Optional[Sequence[OceanLaunchSpecSchedulingTaskArgs]] = None,
            service_account: Optional[str] = None,
            shielded_instance_config: Optional[OceanLaunchSpecShieldedInstanceConfigArgs] = None,
            source_image: Optional[str] = None,
            storage: Optional[OceanLaunchSpecStorageArgs] = None,
            strategies: Optional[Sequence[OceanLaunchSpecStrategyArgs]] = None,
            tags: Optional[Sequence[str]] = None,
            taints: Optional[Sequence[OceanLaunchSpecTaintArgs]] = None,
            update_policy: Optional[OceanLaunchSpecUpdatePolicyArgs] = None) -> OceanLaunchSpec
    func GetOceanLaunchSpec(ctx *Context, name string, id IDInput, state *OceanLaunchSpecState, opts ...ResourceOption) (*OceanLaunchSpec, error)
    public static OceanLaunchSpec Get(string name, Input<string> id, OceanLaunchSpecState? state, CustomResourceOptions? opts = null)
    public static OceanLaunchSpec get(String name, Output<String> id, OceanLaunchSpecState 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:
    AutoscaleHeadrooms List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecAutoscaleHeadroom>
    Set custom headroom per launch spec. provide list of headrooms object.
    AutoscaleHeadroomsAutomatics List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecAutoscaleHeadroomsAutomatic>
    Set automatic headroom per launch spec.
    InstanceTypes List<string>
    List of supported machine types for the Launch Spec.
    Labels List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecLabel>
    Optionally adds labels to instances launched in an Ocean cluster.
    Metadatas List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecMetadata>
    Cluster's metadata.
    Name string
    The name of the access configuration.
    NetworkInterfaces List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecNetworkInterface>
    Settings for network interfaces.
    NodePoolName string
    The node pool you wish to use in your Launch Spec.
    OceanId string
    The Ocean cluster ID.
    ResourceLimits Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecResourceLimits
    The Ocean virtual node group resource limits object.
    RestrictScaleDown bool
    Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    RootVolumeSize int
    Root volume size (in GB).
    RootVolumeType string
    Root volume disk type. Valid values: "pd-standard", "pd-ssd".
    SchedulingTasks List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecSchedulingTask>
    Used to define scheduled tasks such as a manual headroom update.
    ServiceAccount string
    The account used by applications running on the VM to call GCP APIs.
    ShieldedInstanceConfig Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecShieldedInstanceConfig
    The Ocean shielded instance configuration object.
    SourceImage string
    Image URL.
    Storage Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecStorage
    The Ocean virtual node group storage object.
    Strategies List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecStrategy>
    The Ocean Launch Spec Strategy object.
    Tags List<string>
    Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
    Taints List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecTaint>
    Optionally adds labels to instances launched in an Ocean cluster.
    UpdatePolicy Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecUpdatePolicy
    AutoscaleHeadrooms []OceanLaunchSpecAutoscaleHeadroomArgs
    Set custom headroom per launch spec. provide list of headrooms object.
    AutoscaleHeadroomsAutomatics []OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs
    Set automatic headroom per launch spec.
    InstanceTypes []string
    List of supported machine types for the Launch Spec.
    Labels []OceanLaunchSpecLabelArgs
    Optionally adds labels to instances launched in an Ocean cluster.
    Metadatas []OceanLaunchSpecMetadataArgs
    Cluster's metadata.
    Name string
    The name of the access configuration.
    NetworkInterfaces []OceanLaunchSpecNetworkInterfaceArgs
    Settings for network interfaces.
    NodePoolName string
    The node pool you wish to use in your Launch Spec.
    OceanId string
    The Ocean cluster ID.
    ResourceLimits OceanLaunchSpecResourceLimitsArgs
    The Ocean virtual node group resource limits object.
    RestrictScaleDown bool
    Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    RootVolumeSize int
    Root volume size (in GB).
    RootVolumeType string
    Root volume disk type. Valid values: "pd-standard", "pd-ssd".
    SchedulingTasks []OceanLaunchSpecSchedulingTaskArgs
    Used to define scheduled tasks such as a manual headroom update.
    ServiceAccount string
    The account used by applications running on the VM to call GCP APIs.
    ShieldedInstanceConfig OceanLaunchSpecShieldedInstanceConfigArgs
    The Ocean shielded instance configuration object.
    SourceImage string
    Image URL.
    Storage OceanLaunchSpecStorageArgs
    The Ocean virtual node group storage object.
    Strategies []OceanLaunchSpecStrategyArgs
    The Ocean Launch Spec Strategy object.
    Tags []string
    Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
    Taints []OceanLaunchSpecTaintArgs
    Optionally adds labels to instances launched in an Ocean cluster.
    UpdatePolicy OceanLaunchSpecUpdatePolicyArgs
    autoscaleHeadrooms List<OceanLaunchSpecAutoscaleHeadroom>
    Set custom headroom per launch spec. provide list of headrooms object.
    autoscaleHeadroomsAutomatics List<OceanLaunchSpecAutoscaleHeadroomsAutomatic>
    Set automatic headroom per launch spec.
    instanceTypes List<String>
    List of supported machine types for the Launch Spec.
    labels List<OceanLaunchSpecLabel>
    Optionally adds labels to instances launched in an Ocean cluster.
    metadatas List<OceanLaunchSpecMetadata>
    Cluster's metadata.
    name String
    The name of the access configuration.
    networkInterfaces List<OceanLaunchSpecNetworkInterface>
    Settings for network interfaces.
    nodePoolName String
    The node pool you wish to use in your Launch Spec.
    oceanId String
    The Ocean cluster ID.
    resourceLimits OceanLaunchSpecResourceLimits
    The Ocean virtual node group resource limits object.
    restrictScaleDown Boolean
    Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    rootVolumeSize Integer
    Root volume size (in GB).
    rootVolumeType String
    Root volume disk type. Valid values: "pd-standard", "pd-ssd".
    schedulingTasks List<OceanLaunchSpecSchedulingTask>
    Used to define scheduled tasks such as a manual headroom update.
    serviceAccount String
    The account used by applications running on the VM to call GCP APIs.
    shieldedInstanceConfig OceanLaunchSpecShieldedInstanceConfig
    The Ocean shielded instance configuration object.
    sourceImage String
    Image URL.
    storage OceanLaunchSpecStorage
    The Ocean virtual node group storage object.
    strategies List<OceanLaunchSpecStrategy>
    The Ocean Launch Spec Strategy object.
    tags List<String>
    Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
    taints List<OceanLaunchSpecTaint>
    Optionally adds labels to instances launched in an Ocean cluster.
    updatePolicy OceanLaunchSpecUpdatePolicy
    autoscaleHeadrooms OceanLaunchSpecAutoscaleHeadroom[]
    Set custom headroom per launch spec. provide list of headrooms object.
    autoscaleHeadroomsAutomatics OceanLaunchSpecAutoscaleHeadroomsAutomatic[]
    Set automatic headroom per launch spec.
    instanceTypes string[]
    List of supported machine types for the Launch Spec.
    labels OceanLaunchSpecLabel[]
    Optionally adds labels to instances launched in an Ocean cluster.
    metadatas OceanLaunchSpecMetadata[]
    Cluster's metadata.
    name string
    The name of the access configuration.
    networkInterfaces OceanLaunchSpecNetworkInterface[]
    Settings for network interfaces.
    nodePoolName string
    The node pool you wish to use in your Launch Spec.
    oceanId string
    The Ocean cluster ID.
    resourceLimits OceanLaunchSpecResourceLimits
    The Ocean virtual node group resource limits object.
    restrictScaleDown boolean
    Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    rootVolumeSize number
    Root volume size (in GB).
    rootVolumeType string
    Root volume disk type. Valid values: "pd-standard", "pd-ssd".
    schedulingTasks OceanLaunchSpecSchedulingTask[]
    Used to define scheduled tasks such as a manual headroom update.
    serviceAccount string
    The account used by applications running on the VM to call GCP APIs.
    shieldedInstanceConfig OceanLaunchSpecShieldedInstanceConfig
    The Ocean shielded instance configuration object.
    sourceImage string
    Image URL.
    storage OceanLaunchSpecStorage
    The Ocean virtual node group storage object.
    strategies OceanLaunchSpecStrategy[]
    The Ocean Launch Spec Strategy object.
    tags string[]
    Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
    taints OceanLaunchSpecTaint[]
    Optionally adds labels to instances launched in an Ocean cluster.
    updatePolicy OceanLaunchSpecUpdatePolicy
    autoscale_headrooms Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]
    Set custom headroom per launch spec. provide list of headrooms object.
    autoscale_headrooms_automatics Sequence[OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs]
    Set automatic headroom per launch spec.
    instance_types Sequence[str]
    List of supported machine types for the Launch Spec.
    labels Sequence[OceanLaunchSpecLabelArgs]
    Optionally adds labels to instances launched in an Ocean cluster.
    metadatas Sequence[OceanLaunchSpecMetadataArgs]
    Cluster's metadata.
    name str
    The name of the access configuration.
    network_interfaces Sequence[OceanLaunchSpecNetworkInterfaceArgs]
    Settings for network interfaces.
    node_pool_name str
    The node pool you wish to use in your Launch Spec.
    ocean_id str
    The Ocean cluster ID.
    resource_limits OceanLaunchSpecResourceLimitsArgs
    The Ocean virtual node group resource limits object.
    restrict_scale_down bool
    Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    root_volume_size int
    Root volume size (in GB).
    root_volume_type str
    Root volume disk type. Valid values: "pd-standard", "pd-ssd".
    scheduling_tasks Sequence[OceanLaunchSpecSchedulingTaskArgs]
    Used to define scheduled tasks such as a manual headroom update.
    service_account str
    The account used by applications running on the VM to call GCP APIs.
    shielded_instance_config OceanLaunchSpecShieldedInstanceConfigArgs
    The Ocean shielded instance configuration object.
    source_image str
    Image URL.
    storage OceanLaunchSpecStorageArgs
    The Ocean virtual node group storage object.
    strategies Sequence[OceanLaunchSpecStrategyArgs]
    The Ocean Launch Spec Strategy object.
    tags Sequence[str]
    Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
    taints Sequence[OceanLaunchSpecTaintArgs]
    Optionally adds labels to instances launched in an Ocean cluster.
    update_policy OceanLaunchSpecUpdatePolicyArgs
    autoscaleHeadrooms List<Property Map>
    Set custom headroom per launch spec. provide list of headrooms object.
    autoscaleHeadroomsAutomatics List<Property Map>
    Set automatic headroom per launch spec.
    instanceTypes List<String>
    List of supported machine types for the Launch Spec.
    labels List<Property Map>
    Optionally adds labels to instances launched in an Ocean cluster.
    metadatas List<Property Map>
    Cluster's metadata.
    name String
    The name of the access configuration.
    networkInterfaces List<Property Map>
    Settings for network interfaces.
    nodePoolName String
    The node pool you wish to use in your Launch Spec.
    oceanId String
    The Ocean cluster ID.
    resourceLimits Property Map
    The Ocean virtual node group resource limits object.
    restrictScaleDown Boolean
    Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    rootVolumeSize Number
    Root volume size (in GB).
    rootVolumeType String
    Root volume disk type. Valid values: "pd-standard", "pd-ssd".
    schedulingTasks List<Property Map>
    Used to define scheduled tasks such as a manual headroom update.
    serviceAccount String
    The account used by applications running on the VM to call GCP APIs.
    shieldedInstanceConfig Property Map
    The Ocean shielded instance configuration object.
    sourceImage String
    Image URL.
    storage Property Map
    The Ocean virtual node group storage object.
    strategies List<Property Map>
    The Ocean Launch Spec Strategy object.
    tags List<String>
    Every node launched from this configuration will be tagged with those tags. Note: during creation some tags are automatically imported to the state file, it is required to manually add it to the template configuration
    taints List<Property Map>
    Optionally adds labels to instances launched in an Ocean cluster.
    updatePolicy Property Map

    Supporting Types

    OceanLaunchSpecAutoscaleHeadroom, OceanLaunchSpecAutoscaleHeadroomArgs

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

    OceanLaunchSpecAutoscaleHeadroomsAutomatic, OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs

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

    OceanLaunchSpecLabel, OceanLaunchSpecLabelArgs

    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.

    OceanLaunchSpecMetadata, OceanLaunchSpecMetadataArgs

    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.

    OceanLaunchSpecNetworkInterface, OceanLaunchSpecNetworkInterfaceArgs

    Network string
    The name of the network.
    AccessConfigs List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecNetworkInterfaceAccessConfig>
    The network protocol of the VNG.
    AliasIpRanges List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecNetworkInterfaceAliasIpRange>
    use the imported node pool’s associated aliasIpRange to assign secondary IP addresses to the nodes. Cannot be changed after VNG creation.
    ProjectId string
    Use a network resource from a different project. Set the project identifier to use its network resource. This parameter is relevant only if the network resource is in a different project.
    Network string
    The name of the network.
    AccessConfigs []OceanLaunchSpecNetworkInterfaceAccessConfig
    The network protocol of the VNG.
    AliasIpRanges []OceanLaunchSpecNetworkInterfaceAliasIpRange
    use the imported node pool’s associated aliasIpRange to assign secondary IP addresses to the nodes. Cannot be changed after VNG creation.
    ProjectId string
    Use a network resource from a different project. Set the project identifier to use its network resource. This parameter is relevant only if the network resource is in a different project.
    network String
    The name of the network.
    accessConfigs List<OceanLaunchSpecNetworkInterfaceAccessConfig>
    The network protocol of the VNG.
    aliasIpRanges List<OceanLaunchSpecNetworkInterfaceAliasIpRange>
    use the imported node pool’s associated aliasIpRange to assign secondary IP addresses to the nodes. Cannot be changed after VNG creation.
    projectId String
    Use a network resource from a different project. Set the project identifier to use its network resource. This parameter is relevant only if the network resource is in a different project.
    network string
    The name of the network.
    accessConfigs OceanLaunchSpecNetworkInterfaceAccessConfig[]
    The network protocol of the VNG.
    aliasIpRanges OceanLaunchSpecNetworkInterfaceAliasIpRange[]
    use the imported node pool’s associated aliasIpRange to assign secondary IP addresses to the nodes. Cannot be changed after VNG creation.
    projectId string
    Use a network resource from a different project. Set the project identifier to use its network resource. This parameter is relevant only if the network resource is in a different project.
    network str
    The name of the network.
    access_configs Sequence[OceanLaunchSpecNetworkInterfaceAccessConfig]
    The network protocol of the VNG.
    alias_ip_ranges Sequence[OceanLaunchSpecNetworkInterfaceAliasIpRange]
    use the imported node pool’s associated aliasIpRange to assign secondary IP addresses to the nodes. Cannot be changed after VNG creation.
    project_id str
    Use a network resource from a different project. Set the project identifier to use its network resource. This parameter is relevant only if the network resource is in a different project.
    network String
    The name of the network.
    accessConfigs List<Property Map>
    The network protocol of the VNG.
    aliasIpRanges List<Property Map>
    use the imported node pool’s associated aliasIpRange to assign secondary IP addresses to the nodes. Cannot be changed after VNG creation.
    projectId String
    Use a network resource from a different project. Set the project identifier to use its network resource. This parameter is relevant only if the network resource is in a different project.

    OceanLaunchSpecNetworkInterfaceAccessConfig, OceanLaunchSpecNetworkInterfaceAccessConfigArgs

    Name string
    The name of the access configuration.
    Type string
    The type of the access configuration.
    Name string
    The name of the access configuration.
    Type string
    The type of the access configuration.
    name String
    The name of the access configuration.
    type String
    The type of the access configuration.
    name string
    The name of the access configuration.
    type string
    The type of the access configuration.
    name str
    The name of the access configuration.
    type str
    The type of the access configuration.
    name String
    The name of the access configuration.
    type String
    The type of the access configuration.

    OceanLaunchSpecNetworkInterfaceAliasIpRange, OceanLaunchSpecNetworkInterfaceAliasIpRangeArgs

    IpCidrRange string
    specify the IP address range in CIDR notation that can be used for the alias IP addresses associated with the imported node pool.
    SubnetworkRangeName string

    specify the IP address range for the subnet secondary IP range.

    IpCidrRange string
    specify the IP address range in CIDR notation that can be used for the alias IP addresses associated with the imported node pool.
    SubnetworkRangeName string

    specify the IP address range for the subnet secondary IP range.

    ipCidrRange String
    specify the IP address range in CIDR notation that can be used for the alias IP addresses associated with the imported node pool.
    subnetworkRangeName String

    specify the IP address range for the subnet secondary IP range.

    ipCidrRange string
    specify the IP address range in CIDR notation that can be used for the alias IP addresses associated with the imported node pool.
    subnetworkRangeName string

    specify the IP address range for the subnet secondary IP range.

    ip_cidr_range str
    specify the IP address range in CIDR notation that can be used for the alias IP addresses associated with the imported node pool.
    subnetwork_range_name str

    specify the IP address range for the subnet secondary IP range.

    ipCidrRange String
    specify the IP address range in CIDR notation that can be used for the alias IP addresses associated with the imported node pool.
    subnetworkRangeName String

    specify the IP address range for the subnet secondary IP range.

    OceanLaunchSpecResourceLimits, OceanLaunchSpecResourceLimitsArgs

    MaxInstanceCount int
    Option to set a maximum number of instances per virtual node group. Can be null. If set, the value must be greater than or equal to 0.
    MinInstanceCount int
    Option to set a minimum number of instances per virtual node group. Can be null. If set, the value must be greater than or equal to 0.
    MaxInstanceCount int
    Option to set a maximum number of instances per virtual node group. Can be null. If set, the value must be greater than or equal to 0.
    MinInstanceCount int
    Option to set a minimum number of instances per virtual node group. Can be null. If set, the value must be greater than or equal to 0.
    maxInstanceCount Integer
    Option to set a maximum number of instances per virtual node group. Can be null. If set, the value must be greater than or equal to 0.
    minInstanceCount Integer
    Option to set a minimum number of instances per virtual node group. Can be null. If set, the value must be greater than or equal to 0.
    maxInstanceCount number
    Option to set a maximum number of instances per virtual node group. Can be null. If set, the value must be greater than or equal to 0.
    minInstanceCount number
    Option to set a minimum number of instances per virtual node group. Can be null. If set, the 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. Can be null. If set, the value must be greater than or equal to 0.
    min_instance_count int
    Option to set a minimum number of instances per virtual node group. Can be null. If set, the value must be greater than or equal to 0.
    maxInstanceCount Number
    Option to set a maximum number of instances per virtual node group. Can be null. If set, the value must be greater than or equal to 0.
    minInstanceCount Number
    Option to set a minimum number of instances per virtual node group. Can be null. If set, the value must be greater than or equal to 0.

    OceanLaunchSpecSchedulingTask, OceanLaunchSpecSchedulingTaskArgs

    CronExpression string
    A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
    IsEnabled bool
    Describes whether the task is enabled. When True, the task runs. When False, it does not run.
    TaskType string
    The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
    TaskHeadrooms List<Pulumi.SpotInst.Gke.Inputs.OceanLaunchSpecSchedulingTaskTaskHeadroom>
    The config of this scheduled task. Depends on the value of taskType.
    CronExpression string
    A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
    IsEnabled bool
    Describes whether the task is enabled. When True, the task runs. When False, it does not run.
    TaskType string
    The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
    TaskHeadrooms []OceanLaunchSpecSchedulingTaskTaskHeadroom
    The config of this scheduled task. Depends on the value of taskType.
    cronExpression String
    A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
    isEnabled Boolean
    Describes whether the task is enabled. When True, the task runs. When False, it does not run.
    taskType String
    The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
    taskHeadrooms List<OceanLaunchSpecSchedulingTaskTaskHeadroom>
    The config of this scheduled task. Depends on the value of taskType.
    cronExpression string
    A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
    isEnabled boolean
    Describes whether the task is enabled. When True, the task runs. When False, it does not run.
    taskType string
    The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
    taskHeadrooms OceanLaunchSpecSchedulingTaskTaskHeadroom[]
    The config of this scheduled task. Depends on the value of taskType.
    cron_expression str
    A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
    is_enabled bool
    Describes whether the task is enabled. When True, the task runs. When False, it does not run.
    task_type str
    The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
    task_headrooms Sequence[OceanLaunchSpecSchedulingTaskTaskHeadroom]
    The config of this scheduled task. Depends on the value of taskType.
    cronExpression String
    A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
    isEnabled Boolean
    Describes whether the task is enabled. When True, the task runs. When False, it does not run.
    taskType String
    The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
    taskHeadrooms List<Property Map>
    The config of this scheduled task. Depends on the value of taskType.

    OceanLaunchSpecSchedulingTaskTaskHeadroom, OceanLaunchSpecSchedulingTaskTaskHeadroomArgs

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

    OceanLaunchSpecShieldedInstanceConfig, OceanLaunchSpecShieldedInstanceConfigArgs

    EnableIntegrityMonitoring bool
    Boolean. Enable the integrity monitoring parameter on the GCP instances.
    EnableSecureBoot bool
    Boolean. Enable the secure boot parameter on the GCP instances.
    EnableIntegrityMonitoring bool
    Boolean. Enable the integrity monitoring parameter on the GCP instances.
    EnableSecureBoot bool
    Boolean. Enable the secure boot parameter on the GCP instances.
    enableIntegrityMonitoring Boolean
    Boolean. Enable the integrity monitoring parameter on the GCP instances.
    enableSecureBoot Boolean
    Boolean. Enable the secure boot parameter on the GCP instances.
    enableIntegrityMonitoring boolean
    Boolean. Enable the integrity monitoring parameter on the GCP instances.
    enableSecureBoot boolean
    Boolean. Enable the secure boot parameter on the GCP instances.
    enable_integrity_monitoring bool
    Boolean. Enable the integrity monitoring parameter on the GCP instances.
    enable_secure_boot bool
    Boolean. Enable the secure boot parameter on the GCP instances.
    enableIntegrityMonitoring Boolean
    Boolean. Enable the integrity monitoring parameter on the GCP instances.
    enableSecureBoot Boolean
    Boolean. Enable the secure boot parameter on the GCP instances.

    OceanLaunchSpecStorage, OceanLaunchSpecStorageArgs

    LocalSsdCount int
    Defines the number of local SSDs to be attached per node for this VNG.
    LocalSsdCount int
    Defines the number of local SSDs to be attached per node for this VNG.
    localSsdCount Integer
    Defines the number of local SSDs to be attached per node for this VNG.
    localSsdCount number
    Defines the number of local SSDs to be attached per node for this VNG.
    local_ssd_count int
    Defines the number of local SSDs to be attached per node for this VNG.
    localSsdCount Number
    Defines the number of local SSDs to be attached per node for this VNG.

    OceanLaunchSpecStrategy, OceanLaunchSpecStrategyArgs

    PreemptiblePercentage int
    Defines the desired preemptible percentage for this launch specification.
    PreemptiblePercentage int
    Defines the desired preemptible percentage for this launch specification.
    preemptiblePercentage Integer
    Defines the desired preemptible percentage for this launch specification.
    preemptiblePercentage number
    Defines the desired preemptible percentage for this launch specification.
    preemptible_percentage int
    Defines the desired preemptible percentage for this launch specification.
    preemptiblePercentage Number
    Defines the desired preemptible percentage for this launch specification.

    OceanLaunchSpecTaint, OceanLaunchSpecTaintArgs

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

    OceanLaunchSpecUpdatePolicy, OceanLaunchSpecUpdatePolicyArgs

    OceanLaunchSpecUpdatePolicyRollConfig, OceanLaunchSpecUpdatePolicyRollConfigArgs

    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.74.1 published on Thursday, Apr 11, 2024 by Pulumi