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

spotinst.azure.Ocean

Explore with Pulumi AI

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

    Manages a Spotinst Ocean AKS resource.

    This resource contains arguments (such as image and extension) that are automatically populated from the data reported by the Ocean AKS Connector deployed into your cluster. You can override the upstream configuration by defining the corresponding arguments.

    Prerequisites

    Installation of the Ocean controller is required by this resource. You can accomplish this by using the spotinst/ocean-controller module as follows:

    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) {
        }
    }
    
    {}
    

    You must configure the same cluster_identifier and acd_identifier both for the Ocean controller and for the spotinst.azure.Ocean resource.

    Example Usage

    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spotinst.azure.Ocean;
    import com.pulumi.spotinst.azure.OceanArgs;
    import com.pulumi.spotinst.azure.inputs.OceanAutoscalerArgs;
    import com.pulumi.spotinst.azure.inputs.OceanAutoscalerAutoscaleDownArgs;
    import com.pulumi.spotinst.azure.inputs.OceanAutoscalerAutoscaleHeadroomArgs;
    import com.pulumi.spotinst.azure.inputs.OceanAutoscalerAutoscaleHeadroomAutomaticArgs;
    import com.pulumi.spotinst.azure.inputs.OceanAutoscalerResourceLimitsArgs;
    import com.pulumi.spotinst.azure.inputs.OceanExtensionArgs;
    import com.pulumi.spotinst.azure.inputs.OceanHealthArgs;
    import com.pulumi.spotinst.azure.inputs.OceanImageArgs;
    import com.pulumi.spotinst.azure.inputs.OceanLoadBalancerArgs;
    import com.pulumi.spotinst.azure.inputs.OceanManagedServiceIdentityArgs;
    import com.pulumi.spotinst.azure.inputs.OceanNetworkArgs;
    import com.pulumi.spotinst.azure.inputs.OceanOsDiskArgs;
    import com.pulumi.spotinst.azure.inputs.OceanStrategyArgs;
    import com.pulumi.spotinst.azure.inputs.OceanTagArgs;
    import com.pulumi.spotinst.azure.inputs.OceanVmSizeArgs;
    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 Ocean("example", OceanArgs.builder()        
                .acdIdentifier("acd-12345678")
                .aksName("ocean-westus-dev-aks")
                .aksResourceGroupName("ocean-westus-dev")
                .autoscaler(OceanAutoscalerArgs.builder()
                    .autoscaleDown(OceanAutoscalerAutoscaleDownArgs.builder()
                        .maxScaleDownPercentage(10)
                        .build())
                    .autoscaleHeadroom(OceanAutoscalerAutoscaleHeadroomArgs.builder()
                        .automatic(OceanAutoscalerAutoscaleHeadroomAutomaticArgs.builder()
                            .isEnabled(true)
                            .percentage(10)
                            .build())
                        .build())
                    .autoscaleIsEnabled(true)
                    .resourceLimits(OceanAutoscalerResourceLimitsArgs.builder()
                        .maxMemoryGib(40)
                        .maxVcpu(1024)
                        .build())
                    .build())
                .controllerClusterId("ocean-westus-dev-aks")
                .customData("[... redacted ...]")
                .extensions(OceanExtensionArgs.builder()
                    .apiVersion("1.0")
                    .minorVersionAutoUpgrade(true)
                    .name("extension-name")
                    .publisher("Microsoft.Azure.Extensions")
                    .type("Linux")
                    .build())
                .health(OceanHealthArgs.builder()
                    .gracePeriod(10)
                    .build())
                .images(OceanImageArgs.builder()
                    .marketplaces(OceanImageMarketplaceArgs.builder()
                        .offer("UbuntuServer")
                        .publisher("Canonical")
                        .sku("18.04-LTS")
                        .version("latest")
                        .build())
                    .build())
                .loadBalancers(OceanLoadBalancerArgs.builder()
                    .backendPoolNames("terraform-backend-pool")
                    .loadBalancerSku("Standard")
                    .name("load-balancer-name")
                    .resourceGroupName("resource-group-name")
                    .type("loadBalancer")
                    .build())
                .managedServiceIdentities(OceanManagedServiceIdentityArgs.builder()
                    .name("ocean-westus-dev-aks-agentpool")
                    .resourceGroupName("MC_ocean-westus-dev_ocean-westus-dev-aks_westus")
                    .build())
                .maxPods(30)
                .network(OceanNetworkArgs.builder()
                    .networkInterfaces(OceanNetworkNetworkInterfaceArgs.builder()
                        .additionalIpConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                        .assignPublicIp(false)
                        .isPrimary(false)
                        .subnetName("subnet-name")
                        .build())
                    .resourceGroupName("ocean-westus-dev")
                    .virtualNetworkName("vn-name")
                    .build())
                .osDisk(OceanOsDiskArgs.builder()
                    .sizeGb(130)
                    .type("Standard_LRS")
                    .build())
                .resourceGroupName("some-resource-group-name")
                .sshPublicKey("ssh-rsa [... redacted ...] generated-by-azure")
                .strategies(OceanStrategyArgs.builder()
                    .fallbackToOndemand(true)
                    .spotPercentage(40)
                    .build())
                .tags(OceanTagArgs.builder()
                    .key("Environment")
                    .value("Dev")
                    .build())
                .userName("some-name")
                .vmSizes(OceanVmSizeArgs.builder()
                    .whitelists("standard_ds2_v2")
                    .build())
                .zones(            
                    "1",
                    "2",
                    "3")
                .build());
    
        }
    }
    
    resources:
      example:
        type: spotinst:azure:Ocean
        properties:
          # --- AKS -----------------------------------------------------------
          acdIdentifier: acd-12345678
          aksName: ocean-westus-dev-aks
          aksResourceGroupName: ocean-westus-dev
          # --- Auto Scaler ------------------------------------------------------
          autoscaler:
            autoscaleDown:
              maxScaleDownPercentage: 10
            autoscaleHeadroom:
              automatic:
                isEnabled: true
                percentage: 10
            autoscaleIsEnabled: true
            resourceLimits:
              maxMemoryGib: 40
              maxVcpu: 1024
          controllerClusterId: ocean-westus-dev-aks
          customData: '[... redacted ...]'
          # --- Extensions -------------------------------------------------------
          extensions:
            - apiVersion: '1.0'
              minorVersionAutoUpgrade: true
              name: extension-name
              publisher: Microsoft.Azure.Extensions
              type: Linux
          # --- Health ----------------------------------------------------------
          health:
            gracePeriod: 10
          # --- Image ---------------------------------------------------------
          images:
            - marketplaces:
                - offer: UbuntuServer
                  publisher: Canonical
                  sku: 18.04-LTS
                  version: latest
          # --- Load Balancers ---------------------------------------------------
          loadBalancers:
            - backendPoolNames:
                - terraform-backend-pool
              loadBalancerSku: Standard
              name: load-balancer-name
              resourceGroupName: resource-group-name
              type: loadBalancer
          managedServiceIdentities:
            - name: ocean-westus-dev-aks-agentpool
              resourceGroupName: MC_ocean-westus-dev_ocean-westus-dev-aks_westus
          maxPods: 30
          # --- NETWORK ---------------------------------------------------------
          network:
            networkInterfaces:
              - additionalIpConfig:
                  - name: ip-config-name
                    privateIpVersion: ipv4
                assignPublicIp: false
                isPrimary: false
                subnetName: subnet-name
            resourceGroupName: ocean-westus-dev
            virtualNetworkName: vn-name
          # --- OSDisk --------------------------------------------------------
          osDisk:
            sizeGb: 130
            type: Standard_LRS
          # --- Launch Specification ------------------------------------------
          resourceGroupName: some-resource-group-name
          # --- Login ---------------------------------------------------------
          sshPublicKey: ssh-rsa [... redacted ...] generated-by-azure
          # --- Strategy --------------------------------------------------------
          strategies:
            - fallbackToOndemand: true
              spotPercentage: 40
          tags:
            - key: Environment
              value: Dev
          userName: some-name
          # --- VMSizes --------------------------------------------------------
          vmSizes:
            - whitelists:
                - standard_ds2_v2
          zones:
            - '1'
            - '2'
            - '3'
    
    output "ocean_id" {
      value = spotinst_ocean_aks.example.id
    }
    

    Create Ocean Resource

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

    Constructor syntax

    new Ocean(name: string, args: OceanArgs, opts?: CustomResourceOptions);
    @overload
    def Ocean(resource_name: str,
              args: OceanArgs,
              opts: Optional[ResourceOptions] = None)
    
    @overload
    def Ocean(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              acd_identifier: Optional[str] = None,
              aks_name: Optional[str] = None,
              aks_resource_group_name: Optional[str] = None,
              ssh_public_key: Optional[str] = None,
              managed_service_identities: Optional[Sequence[OceanManagedServiceIdentityArgs]] = None,
              network: Optional[OceanNetworkArgs] = None,
              extensions: Optional[Sequence[OceanExtensionArgs]] = None,
              health: Optional[OceanHealthArgs] = None,
              images: Optional[Sequence[OceanImageArgs]] = None,
              load_balancers: Optional[Sequence[OceanLoadBalancerArgs]] = None,
              controller_cluster_id: Optional[str] = None,
              max_pods: Optional[int] = None,
              name: Optional[str] = None,
              custom_data: Optional[str] = None,
              os_disk: Optional[OceanOsDiskArgs] = None,
              resource_group_name: Optional[str] = None,
              autoscaler: Optional[OceanAutoscalerArgs] = None,
              strategies: Optional[Sequence[OceanStrategyArgs]] = None,
              tags: Optional[Sequence[OceanTagArgs]] = None,
              user_name: Optional[str] = None,
              vm_sizes: Optional[Sequence[OceanVmSizeArgs]] = None,
              zones: Optional[Sequence[str]] = None)
    func NewOcean(ctx *Context, name string, args OceanArgs, opts ...ResourceOption) (*Ocean, error)
    public Ocean(string name, OceanArgs args, CustomResourceOptions? opts = null)
    public Ocean(String name, OceanArgs args)
    public Ocean(String name, OceanArgs args, CustomResourceOptions options)
    
    type: spotinst:azure:Ocean
    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 OceanArgs
    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 OceanArgs
    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 OceanArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args OceanArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args OceanArgs
    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 spotinstOceanResource = new SpotInst.Azure.Ocean("spotinstOceanResource", new()
    {
        AcdIdentifier = "string",
        AksName = "string",
        AksResourceGroupName = "string",
        SshPublicKey = "string",
        ManagedServiceIdentities = new[]
        {
            new SpotInst.Azure.Inputs.OceanManagedServiceIdentityArgs
            {
                Name = "string",
                ResourceGroupName = "string",
            },
        },
        Network = new SpotInst.Azure.Inputs.OceanNetworkArgs
        {
            NetworkInterfaces = new[]
            {
                new SpotInst.Azure.Inputs.OceanNetworkNetworkInterfaceArgs
                {
                    AdditionalIpConfigs = new[]
                    {
                        new SpotInst.Azure.Inputs.OceanNetworkNetworkInterfaceAdditionalIpConfigArgs
                        {
                            Name = "string",
                            PrivateIpVersion = "string",
                        },
                    },
                    AssignPublicIp = false,
                    IsPrimary = false,
                    SecurityGroup = new SpotInst.Azure.Inputs.OceanNetworkNetworkInterfaceSecurityGroupArgs
                    {
                        Name = "string",
                        ResourceGroupName = "string",
                    },
                    SubnetName = "string",
                },
            },
            ResourceGroupName = "string",
            VirtualNetworkName = "string",
        },
        Extensions = new[]
        {
            new SpotInst.Azure.Inputs.OceanExtensionArgs
            {
                ApiVersion = "string",
                MinorVersionAutoUpgrade = false,
                Name = "string",
                Publisher = "string",
                Type = "string",
            },
        },
        Health = new SpotInst.Azure.Inputs.OceanHealthArgs
        {
            GracePeriod = 0,
        },
        Images = new[]
        {
            new SpotInst.Azure.Inputs.OceanImageArgs
            {
                Marketplaces = new[]
                {
                    new SpotInst.Azure.Inputs.OceanImageMarketplaceArgs
                    {
                        Offer = "string",
                        Publisher = "string",
                        Sku = "string",
                        Version = "string",
                    },
                },
            },
        },
        LoadBalancers = new[]
        {
            new SpotInst.Azure.Inputs.OceanLoadBalancerArgs
            {
                BackendPoolNames = new[]
                {
                    "string",
                },
                LoadBalancerSku = "string",
                Name = "string",
                ResourceGroupName = "string",
                Type = "string",
            },
        },
        ControllerClusterId = "string",
        MaxPods = 0,
        Name = "string",
        CustomData = "string",
        OsDisk = new SpotInst.Azure.Inputs.OceanOsDiskArgs
        {
            SizeGb = 0,
            Type = "string",
        },
        ResourceGroupName = "string",
        Autoscaler = new SpotInst.Azure.Inputs.OceanAutoscalerArgs
        {
            AutoscaleDown = new SpotInst.Azure.Inputs.OceanAutoscalerAutoscaleDownArgs
            {
                MaxScaleDownPercentage = 0,
            },
            AutoscaleHeadroom = new SpotInst.Azure.Inputs.OceanAutoscalerAutoscaleHeadroomArgs
            {
                Automatic = new SpotInst.Azure.Inputs.OceanAutoscalerAutoscaleHeadroomAutomaticArgs
                {
                    IsEnabled = false,
                    Percentage = 0,
                },
            },
            AutoscaleIsEnabled = false,
            ResourceLimits = new SpotInst.Azure.Inputs.OceanAutoscalerResourceLimitsArgs
            {
                MaxMemoryGib = 0,
                MaxVcpu = 0,
            },
        },
        Strategies = new[]
        {
            new SpotInst.Azure.Inputs.OceanStrategyArgs
            {
                FallbackToOndemand = false,
                SpotPercentage = 0,
            },
        },
        Tags = new[]
        {
            new SpotInst.Azure.Inputs.OceanTagArgs
            {
                Key = "string",
                Value = "string",
            },
        },
        UserName = "string",
        VmSizes = new[]
        {
            new SpotInst.Azure.Inputs.OceanVmSizeArgs
            {
                Whitelists = new[]
                {
                    "string",
                },
            },
        },
        Zones = new[]
        {
            "string",
        },
    });
    
    example, err := azure.NewOcean(ctx, "spotinstOceanResource", &azure.OceanArgs{
    	AcdIdentifier:        pulumi.String("string"),
    	AksName:              pulumi.String("string"),
    	AksResourceGroupName: pulumi.String("string"),
    	SshPublicKey:         pulumi.String("string"),
    	ManagedServiceIdentities: azure.OceanManagedServiceIdentityArray{
    		&azure.OceanManagedServiceIdentityArgs{
    			Name:              pulumi.String("string"),
    			ResourceGroupName: pulumi.String("string"),
    		},
    	},
    	Network: &azure.OceanNetworkArgs{
    		NetworkInterfaces: azure.OceanNetworkNetworkInterfaceArray{
    			&azure.OceanNetworkNetworkInterfaceArgs{
    				AdditionalIpConfigs: azure.OceanNetworkNetworkInterfaceAdditionalIpConfigArray{
    					&azure.OceanNetworkNetworkInterfaceAdditionalIpConfigArgs{
    						Name:             pulumi.String("string"),
    						PrivateIpVersion: pulumi.String("string"),
    					},
    				},
    				AssignPublicIp: pulumi.Bool(false),
    				IsPrimary:      pulumi.Bool(false),
    				SecurityGroup: &azure.OceanNetworkNetworkInterfaceSecurityGroupArgs{
    					Name:              pulumi.String("string"),
    					ResourceGroupName: pulumi.String("string"),
    				},
    				SubnetName: pulumi.String("string"),
    			},
    		},
    		ResourceGroupName:  pulumi.String("string"),
    		VirtualNetworkName: pulumi.String("string"),
    	},
    	Extensions: azure.OceanExtensionArray{
    		&azure.OceanExtensionArgs{
    			ApiVersion:              pulumi.String("string"),
    			MinorVersionAutoUpgrade: pulumi.Bool(false),
    			Name:                    pulumi.String("string"),
    			Publisher:               pulumi.String("string"),
    			Type:                    pulumi.String("string"),
    		},
    	},
    	Health: &azure.OceanHealthArgs{
    		GracePeriod: pulumi.Int(0),
    	},
    	Images: azure.OceanImageArray{
    		&azure.OceanImageArgs{
    			Marketplaces: azure.OceanImageMarketplaceArray{
    				&azure.OceanImageMarketplaceArgs{
    					Offer:     pulumi.String("string"),
    					Publisher: pulumi.String("string"),
    					Sku:       pulumi.String("string"),
    					Version:   pulumi.String("string"),
    				},
    			},
    		},
    	},
    	LoadBalancers: azure.OceanLoadBalancerArray{
    		&azure.OceanLoadBalancerArgs{
    			BackendPoolNames: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			LoadBalancerSku:   pulumi.String("string"),
    			Name:              pulumi.String("string"),
    			ResourceGroupName: pulumi.String("string"),
    			Type:              pulumi.String("string"),
    		},
    	},
    	ControllerClusterId: pulumi.String("string"),
    	MaxPods:             pulumi.Int(0),
    	Name:                pulumi.String("string"),
    	CustomData:          pulumi.String("string"),
    	OsDisk: &azure.OceanOsDiskArgs{
    		SizeGb: pulumi.Int(0),
    		Type:   pulumi.String("string"),
    	},
    	ResourceGroupName: pulumi.String("string"),
    	Autoscaler: &azure.OceanAutoscalerArgs{
    		AutoscaleDown: &azure.OceanAutoscalerAutoscaleDownArgs{
    			MaxScaleDownPercentage: pulumi.Float64(0),
    		},
    		AutoscaleHeadroom: &azure.OceanAutoscalerAutoscaleHeadroomArgs{
    			Automatic: &azure.OceanAutoscalerAutoscaleHeadroomAutomaticArgs{
    				IsEnabled:  pulumi.Bool(false),
    				Percentage: pulumi.Int(0),
    			},
    		},
    		AutoscaleIsEnabled: pulumi.Bool(false),
    		ResourceLimits: &azure.OceanAutoscalerResourceLimitsArgs{
    			MaxMemoryGib: pulumi.Int(0),
    			MaxVcpu:      pulumi.Int(0),
    		},
    	},
    	Strategies: azure.OceanStrategyArray{
    		&azure.OceanStrategyArgs{
    			FallbackToOndemand: pulumi.Bool(false),
    			SpotPercentage:     pulumi.Int(0),
    		},
    	},
    	Tags: azure.OceanTagArray{
    		&azure.OceanTagArgs{
    			Key:   pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	UserName: pulumi.String("string"),
    	VmSizes: azure.OceanVmSizeArray{
    		&azure.OceanVmSizeArgs{
    			Whitelists: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	Zones: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var spotinstOceanResource = new Ocean("spotinstOceanResource", OceanArgs.builder()        
        .acdIdentifier("string")
        .aksName("string")
        .aksResourceGroupName("string")
        .sshPublicKey("string")
        .managedServiceIdentities(OceanManagedServiceIdentityArgs.builder()
            .name("string")
            .resourceGroupName("string")
            .build())
        .network(OceanNetworkArgs.builder()
            .networkInterfaces(OceanNetworkNetworkInterfaceArgs.builder()
                .additionalIpConfigs(OceanNetworkNetworkInterfaceAdditionalIpConfigArgs.builder()
                    .name("string")
                    .privateIpVersion("string")
                    .build())
                .assignPublicIp(false)
                .isPrimary(false)
                .securityGroup(OceanNetworkNetworkInterfaceSecurityGroupArgs.builder()
                    .name("string")
                    .resourceGroupName("string")
                    .build())
                .subnetName("string")
                .build())
            .resourceGroupName("string")
            .virtualNetworkName("string")
            .build())
        .extensions(OceanExtensionArgs.builder()
            .apiVersion("string")
            .minorVersionAutoUpgrade(false)
            .name("string")
            .publisher("string")
            .type("string")
            .build())
        .health(OceanHealthArgs.builder()
            .gracePeriod(0)
            .build())
        .images(OceanImageArgs.builder()
            .marketplaces(OceanImageMarketplaceArgs.builder()
                .offer("string")
                .publisher("string")
                .sku("string")
                .version("string")
                .build())
            .build())
        .loadBalancers(OceanLoadBalancerArgs.builder()
            .backendPoolNames("string")
            .loadBalancerSku("string")
            .name("string")
            .resourceGroupName("string")
            .type("string")
            .build())
        .controllerClusterId("string")
        .maxPods(0)
        .name("string")
        .customData("string")
        .osDisk(OceanOsDiskArgs.builder()
            .sizeGb(0)
            .type("string")
            .build())
        .resourceGroupName("string")
        .autoscaler(OceanAutoscalerArgs.builder()
            .autoscaleDown(OceanAutoscalerAutoscaleDownArgs.builder()
                .maxScaleDownPercentage(0)
                .build())
            .autoscaleHeadroom(OceanAutoscalerAutoscaleHeadroomArgs.builder()
                .automatic(OceanAutoscalerAutoscaleHeadroomAutomaticArgs.builder()
                    .isEnabled(false)
                    .percentage(0)
                    .build())
                .build())
            .autoscaleIsEnabled(false)
            .resourceLimits(OceanAutoscalerResourceLimitsArgs.builder()
                .maxMemoryGib(0)
                .maxVcpu(0)
                .build())
            .build())
        .strategies(OceanStrategyArgs.builder()
            .fallbackToOndemand(false)
            .spotPercentage(0)
            .build())
        .tags(OceanTagArgs.builder()
            .key("string")
            .value("string")
            .build())
        .userName("string")
        .vmSizes(OceanVmSizeArgs.builder()
            .whitelists("string")
            .build())
        .zones("string")
        .build());
    
    spotinst_ocean_resource = spotinst.azure.Ocean("spotinstOceanResource",
        acd_identifier="string",
        aks_name="string",
        aks_resource_group_name="string",
        ssh_public_key="string",
        managed_service_identities=[spotinst.azure.OceanManagedServiceIdentityArgs(
            name="string",
            resource_group_name="string",
        )],
        network=spotinst.azure.OceanNetworkArgs(
            network_interfaces=[spotinst.azure.OceanNetworkNetworkInterfaceArgs(
                additional_ip_configs=[spotinst.azure.OceanNetworkNetworkInterfaceAdditionalIpConfigArgs(
                    name="string",
                    private_ip_version="string",
                )],
                assign_public_ip=False,
                is_primary=False,
                security_group=spotinst.azure.OceanNetworkNetworkInterfaceSecurityGroupArgs(
                    name="string",
                    resource_group_name="string",
                ),
                subnet_name="string",
            )],
            resource_group_name="string",
            virtual_network_name="string",
        ),
        extensions=[spotinst.azure.OceanExtensionArgs(
            api_version="string",
            minor_version_auto_upgrade=False,
            name="string",
            publisher="string",
            type="string",
        )],
        health=spotinst.azure.OceanHealthArgs(
            grace_period=0,
        ),
        images=[spotinst.azure.OceanImageArgs(
            marketplaces=[spotinst.azure.OceanImageMarketplaceArgs(
                offer="string",
                publisher="string",
                sku="string",
                version="string",
            )],
        )],
        load_balancers=[spotinst.azure.OceanLoadBalancerArgs(
            backend_pool_names=["string"],
            load_balancer_sku="string",
            name="string",
            resource_group_name="string",
            type="string",
        )],
        controller_cluster_id="string",
        max_pods=0,
        name="string",
        custom_data="string",
        os_disk=spotinst.azure.OceanOsDiskArgs(
            size_gb=0,
            type="string",
        ),
        resource_group_name="string",
        autoscaler=spotinst.azure.OceanAutoscalerArgs(
            autoscale_down=spotinst.azure.OceanAutoscalerAutoscaleDownArgs(
                max_scale_down_percentage=0,
            ),
            autoscale_headroom=spotinst.azure.OceanAutoscalerAutoscaleHeadroomArgs(
                automatic=spotinst.azure.OceanAutoscalerAutoscaleHeadroomAutomaticArgs(
                    is_enabled=False,
                    percentage=0,
                ),
            ),
            autoscale_is_enabled=False,
            resource_limits=spotinst.azure.OceanAutoscalerResourceLimitsArgs(
                max_memory_gib=0,
                max_vcpu=0,
            ),
        ),
        strategies=[spotinst.azure.OceanStrategyArgs(
            fallback_to_ondemand=False,
            spot_percentage=0,
        )],
        tags=[spotinst.azure.OceanTagArgs(
            key="string",
            value="string",
        )],
        user_name="string",
        vm_sizes=[spotinst.azure.OceanVmSizeArgs(
            whitelists=["string"],
        )],
        zones=["string"])
    
    const spotinstOceanResource = new spotinst.azure.Ocean("spotinstOceanResource", {
        acdIdentifier: "string",
        aksName: "string",
        aksResourceGroupName: "string",
        sshPublicKey: "string",
        managedServiceIdentities: [{
            name: "string",
            resourceGroupName: "string",
        }],
        network: {
            networkInterfaces: [{
                additionalIpConfigs: [{
                    name: "string",
                    privateIpVersion: "string",
                }],
                assignPublicIp: false,
                isPrimary: false,
                securityGroup: {
                    name: "string",
                    resourceGroupName: "string",
                },
                subnetName: "string",
            }],
            resourceGroupName: "string",
            virtualNetworkName: "string",
        },
        extensions: [{
            apiVersion: "string",
            minorVersionAutoUpgrade: false,
            name: "string",
            publisher: "string",
            type: "string",
        }],
        health: {
            gracePeriod: 0,
        },
        images: [{
            marketplaces: [{
                offer: "string",
                publisher: "string",
                sku: "string",
                version: "string",
            }],
        }],
        loadBalancers: [{
            backendPoolNames: ["string"],
            loadBalancerSku: "string",
            name: "string",
            resourceGroupName: "string",
            type: "string",
        }],
        controllerClusterId: "string",
        maxPods: 0,
        name: "string",
        customData: "string",
        osDisk: {
            sizeGb: 0,
            type: "string",
        },
        resourceGroupName: "string",
        autoscaler: {
            autoscaleDown: {
                maxScaleDownPercentage: 0,
            },
            autoscaleHeadroom: {
                automatic: {
                    isEnabled: false,
                    percentage: 0,
                },
            },
            autoscaleIsEnabled: false,
            resourceLimits: {
                maxMemoryGib: 0,
                maxVcpu: 0,
            },
        },
        strategies: [{
            fallbackToOndemand: false,
            spotPercentage: 0,
        }],
        tags: [{
            key: "string",
            value: "string",
        }],
        userName: "string",
        vmSizes: [{
            whitelists: ["string"],
        }],
        zones: ["string"],
    });
    
    type: spotinst:azure:Ocean
    properties:
        acdIdentifier: string
        aksName: string
        aksResourceGroupName: string
        autoscaler:
            autoscaleDown:
                maxScaleDownPercentage: 0
            autoscaleHeadroom:
                automatic:
                    isEnabled: false
                    percentage: 0
            autoscaleIsEnabled: false
            resourceLimits:
                maxMemoryGib: 0
                maxVcpu: 0
        controllerClusterId: string
        customData: string
        extensions:
            - apiVersion: string
              minorVersionAutoUpgrade: false
              name: string
              publisher: string
              type: string
        health:
            gracePeriod: 0
        images:
            - marketplaces:
                - offer: string
                  publisher: string
                  sku: string
                  version: string
        loadBalancers:
            - backendPoolNames:
                - string
              loadBalancerSku: string
              name: string
              resourceGroupName: string
              type: string
        managedServiceIdentities:
            - name: string
              resourceGroupName: string
        maxPods: 0
        name: string
        network:
            networkInterfaces:
                - additionalIpConfigs:
                    - name: string
                      privateIpVersion: string
                  assignPublicIp: false
                  isPrimary: false
                  securityGroup:
                    name: string
                    resourceGroupName: string
                  subnetName: string
            resourceGroupName: string
            virtualNetworkName: string
        osDisk:
            sizeGb: 0
            type: string
        resourceGroupName: string
        sshPublicKey: string
        strategies:
            - fallbackToOndemand: false
              spotPercentage: 0
        tags:
            - key: string
              value: string
        userName: string
        vmSizes:
            - whitelists:
                - string
        zones:
            - string
    

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

    AcdIdentifier string
    The AKS identifier. A valid identifier should be formatted as acd-nnnnnnnn and previously used identifiers cannot be reused.
    AksName string
    The AKS cluster name.
    AksResourceGroupName string
    Name of the Azure Resource Group where the AKS cluster is located.
    SshPublicKey string
    SSH public key for admin access to Linux VMs.
    Autoscaler Pulumi.SpotInst.Azure.Inputs.OceanAutoscaler
    The Ocean Kubernetes Autoscaler object.
    ControllerClusterId string
    A unique identifier used for connecting the Ocean SaaS platform and the Kubernetes cluster. Typically, the cluster name is used as its identifier.
    CustomData string
    Must contain a valid Base64 encoded string.
    Extensions List<Pulumi.SpotInst.Azure.Inputs.OceanExtension>
    List of Azure extension objects.
    Health Pulumi.SpotInst.Azure.Inputs.OceanHealth
    The Ocean AKS Health object.
    Images List<Pulumi.SpotInst.Azure.Inputs.OceanImage>
    Image of VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace).
    LoadBalancers List<Pulumi.SpotInst.Azure.Inputs.OceanLoadBalancer>
    Configure Load Balancer.
    ManagedServiceIdentities List<Pulumi.SpotInst.Azure.Inputs.OceanManagedServiceIdentity>
    List of Managed Service Identity objects.
    MaxPods int
    The maximum number of pods per node in an AKS cluster.
    Name string
    Name of the Load Balancer.
    Network Pulumi.SpotInst.Azure.Inputs.OceanNetwork
    Define the Virtual Network and Subnet.
    OsDisk Pulumi.SpotInst.Azure.Inputs.OceanOsDisk
    OS disk specifications.
    ResourceGroupName string
    The Resource Group name of the Load Balancer.
    Strategies List<Pulumi.SpotInst.Azure.Inputs.OceanStrategy>
    The Ocean AKS strategy object.
    Tags List<Pulumi.SpotInst.Azure.Inputs.OceanTag>
    Unique key-value pairs that will be used to tag VMs that are launched in the cluster.
    UserName string
    Username for admin access to VMs.
    VmSizes List<Pulumi.SpotInst.Azure.Inputs.OceanVmSize>
    The types of virtual machines that may or may not be a part of the Ocean cluster.
    Zones List<string>
    An Array holding default Availability Zones, this configures the availability zones the Ocean may launch instances in.
    AcdIdentifier string
    The AKS identifier. A valid identifier should be formatted as acd-nnnnnnnn and previously used identifiers cannot be reused.
    AksName string
    The AKS cluster name.
    AksResourceGroupName string
    Name of the Azure Resource Group where the AKS cluster is located.
    SshPublicKey string
    SSH public key for admin access to Linux VMs.
    Autoscaler OceanAutoscalerArgs
    The Ocean Kubernetes Autoscaler object.
    ControllerClusterId string
    A unique identifier used for connecting the Ocean SaaS platform and the Kubernetes cluster. Typically, the cluster name is used as its identifier.
    CustomData string
    Must contain a valid Base64 encoded string.
    Extensions []OceanExtensionArgs
    List of Azure extension objects.
    Health OceanHealthArgs
    The Ocean AKS Health object.
    Images []OceanImageArgs
    Image of VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace).
    LoadBalancers []OceanLoadBalancerArgs
    Configure Load Balancer.
    ManagedServiceIdentities []OceanManagedServiceIdentityArgs
    List of Managed Service Identity objects.
    MaxPods int
    The maximum number of pods per node in an AKS cluster.
    Name string
    Name of the Load Balancer.
    Network OceanNetworkArgs
    Define the Virtual Network and Subnet.
    OsDisk OceanOsDiskArgs
    OS disk specifications.
    ResourceGroupName string
    The Resource Group name of the Load Balancer.
    Strategies []OceanStrategyArgs
    The Ocean AKS strategy object.
    Tags []OceanTagArgs
    Unique key-value pairs that will be used to tag VMs that are launched in the cluster.
    UserName string
    Username for admin access to VMs.
    VmSizes []OceanVmSizeArgs
    The types of virtual machines that may or may not be a part of the Ocean cluster.
    Zones []string
    An Array holding default Availability Zones, this configures the availability zones the Ocean may launch instances in.
    acdIdentifier String
    The AKS identifier. A valid identifier should be formatted as acd-nnnnnnnn and previously used identifiers cannot be reused.
    aksName String
    The AKS cluster name.
    aksResourceGroupName String
    Name of the Azure Resource Group where the AKS cluster is located.
    sshPublicKey String
    SSH public key for admin access to Linux VMs.
    autoscaler OceanAutoscaler
    The Ocean Kubernetes Autoscaler object.
    controllerClusterId String
    A unique identifier used for connecting the Ocean SaaS platform and the Kubernetes cluster. Typically, the cluster name is used as its identifier.
    customData String
    Must contain a valid Base64 encoded string.
    extensions List<OceanExtension>
    List of Azure extension objects.
    health OceanHealth
    The Ocean AKS Health object.
    images List<OceanImage>
    Image of VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace).
    loadBalancers List<OceanLoadBalancer>
    Configure Load Balancer.
    managedServiceIdentities List<OceanManagedServiceIdentity>
    List of Managed Service Identity objects.
    maxPods Integer
    The maximum number of pods per node in an AKS cluster.
    name String
    Name of the Load Balancer.
    network OceanNetwork
    Define the Virtual Network and Subnet.
    osDisk OceanOsDisk
    OS disk specifications.
    resourceGroupName String
    The Resource Group name of the Load Balancer.
    strategies List<OceanStrategy>
    The Ocean AKS strategy object.
    tags List<OceanTag>
    Unique key-value pairs that will be used to tag VMs that are launched in the cluster.
    userName String
    Username for admin access to VMs.
    vmSizes List<OceanVmSize>
    The types of virtual machines that may or may not be a part of the Ocean cluster.
    zones List<String>
    An Array holding default Availability Zones, this configures the availability zones the Ocean may launch instances in.
    acdIdentifier string
    The AKS identifier. A valid identifier should be formatted as acd-nnnnnnnn and previously used identifiers cannot be reused.
    aksName string
    The AKS cluster name.
    aksResourceGroupName string
    Name of the Azure Resource Group where the AKS cluster is located.
    sshPublicKey string
    SSH public key for admin access to Linux VMs.
    autoscaler OceanAutoscaler
    The Ocean Kubernetes Autoscaler object.
    controllerClusterId string
    A unique identifier used for connecting the Ocean SaaS platform and the Kubernetes cluster. Typically, the cluster name is used as its identifier.
    customData string
    Must contain a valid Base64 encoded string.
    extensions OceanExtension[]
    List of Azure extension objects.
    health OceanHealth
    The Ocean AKS Health object.
    images OceanImage[]
    Image of VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace).
    loadBalancers OceanLoadBalancer[]
    Configure Load Balancer.
    managedServiceIdentities OceanManagedServiceIdentity[]
    List of Managed Service Identity objects.
    maxPods number
    The maximum number of pods per node in an AKS cluster.
    name string
    Name of the Load Balancer.
    network OceanNetwork
    Define the Virtual Network and Subnet.
    osDisk OceanOsDisk
    OS disk specifications.
    resourceGroupName string
    The Resource Group name of the Load Balancer.
    strategies OceanStrategy[]
    The Ocean AKS strategy object.
    tags OceanTag[]
    Unique key-value pairs that will be used to tag VMs that are launched in the cluster.
    userName string
    Username for admin access to VMs.
    vmSizes OceanVmSize[]
    The types of virtual machines that may or may not be a part of the Ocean cluster.
    zones string[]
    An Array holding default Availability Zones, this configures the availability zones the Ocean may launch instances in.
    acd_identifier str
    The AKS identifier. A valid identifier should be formatted as acd-nnnnnnnn and previously used identifiers cannot be reused.
    aks_name str
    The AKS cluster name.
    aks_resource_group_name str
    Name of the Azure Resource Group where the AKS cluster is located.
    ssh_public_key str
    SSH public key for admin access to Linux VMs.
    autoscaler OceanAutoscalerArgs
    The Ocean Kubernetes Autoscaler object.
    controller_cluster_id str
    A unique identifier used for connecting the Ocean SaaS platform and the Kubernetes cluster. Typically, the cluster name is used as its identifier.
    custom_data str
    Must contain a valid Base64 encoded string.
    extensions Sequence[OceanExtensionArgs]
    List of Azure extension objects.
    health OceanHealthArgs
    The Ocean AKS Health object.
    images Sequence[OceanImageArgs]
    Image of VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace).
    load_balancers Sequence[OceanLoadBalancerArgs]
    Configure Load Balancer.
    managed_service_identities Sequence[OceanManagedServiceIdentityArgs]
    List of Managed Service Identity objects.
    max_pods int
    The maximum number of pods per node in an AKS cluster.
    name str
    Name of the Load Balancer.
    network OceanNetworkArgs
    Define the Virtual Network and Subnet.
    os_disk OceanOsDiskArgs
    OS disk specifications.
    resource_group_name str
    The Resource Group name of the Load Balancer.
    strategies Sequence[OceanStrategyArgs]
    The Ocean AKS strategy object.
    tags Sequence[OceanTagArgs]
    Unique key-value pairs that will be used to tag VMs that are launched in the cluster.
    user_name str
    Username for admin access to VMs.
    vm_sizes Sequence[OceanVmSizeArgs]
    The types of virtual machines that may or may not be a part of the Ocean cluster.
    zones Sequence[str]
    An Array holding default Availability Zones, this configures the availability zones the Ocean may launch instances in.
    acdIdentifier String
    The AKS identifier. A valid identifier should be formatted as acd-nnnnnnnn and previously used identifiers cannot be reused.
    aksName String
    The AKS cluster name.
    aksResourceGroupName String
    Name of the Azure Resource Group where the AKS cluster is located.
    sshPublicKey String
    SSH public key for admin access to Linux VMs.
    autoscaler Property Map
    The Ocean Kubernetes Autoscaler object.
    controllerClusterId String
    A unique identifier used for connecting the Ocean SaaS platform and the Kubernetes cluster. Typically, the cluster name is used as its identifier.
    customData String
    Must contain a valid Base64 encoded string.
    extensions List<Property Map>
    List of Azure extension objects.
    health Property Map
    The Ocean AKS Health object.
    images List<Property Map>
    Image of VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace).
    loadBalancers List<Property Map>
    Configure Load Balancer.
    managedServiceIdentities List<Property Map>
    List of Managed Service Identity objects.
    maxPods Number
    The maximum number of pods per node in an AKS cluster.
    name String
    Name of the Load Balancer.
    network Property Map
    Define the Virtual Network and Subnet.
    osDisk Property Map
    OS disk specifications.
    resourceGroupName String
    The Resource Group name of the Load Balancer.
    strategies List<Property Map>
    The Ocean AKS strategy object.
    tags List<Property Map>
    Unique key-value pairs that will be used to tag VMs that are launched in the cluster.
    userName String
    Username for admin access to VMs.
    vmSizes List<Property Map>
    The types of virtual machines that may or may not be a part of the Ocean cluster.
    zones List<String>
    An Array holding default Availability Zones, this configures the availability zones the Ocean may launch instances in.

    Outputs

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

    Get an existing Ocean 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?: OceanState, opts?: CustomResourceOptions): Ocean
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            acd_identifier: Optional[str] = None,
            aks_name: Optional[str] = None,
            aks_resource_group_name: Optional[str] = None,
            autoscaler: Optional[OceanAutoscalerArgs] = None,
            controller_cluster_id: Optional[str] = None,
            custom_data: Optional[str] = None,
            extensions: Optional[Sequence[OceanExtensionArgs]] = None,
            health: Optional[OceanHealthArgs] = None,
            images: Optional[Sequence[OceanImageArgs]] = None,
            load_balancers: Optional[Sequence[OceanLoadBalancerArgs]] = None,
            managed_service_identities: Optional[Sequence[OceanManagedServiceIdentityArgs]] = None,
            max_pods: Optional[int] = None,
            name: Optional[str] = None,
            network: Optional[OceanNetworkArgs] = None,
            os_disk: Optional[OceanOsDiskArgs] = None,
            resource_group_name: Optional[str] = None,
            ssh_public_key: Optional[str] = None,
            strategies: Optional[Sequence[OceanStrategyArgs]] = None,
            tags: Optional[Sequence[OceanTagArgs]] = None,
            user_name: Optional[str] = None,
            vm_sizes: Optional[Sequence[OceanVmSizeArgs]] = None,
            zones: Optional[Sequence[str]] = None) -> Ocean
    func GetOcean(ctx *Context, name string, id IDInput, state *OceanState, opts ...ResourceOption) (*Ocean, error)
    public static Ocean Get(string name, Input<string> id, OceanState? state, CustomResourceOptions? opts = null)
    public static Ocean get(String name, Output<String> id, OceanState 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:
    AcdIdentifier string
    The AKS identifier. A valid identifier should be formatted as acd-nnnnnnnn and previously used identifiers cannot be reused.
    AksName string
    The AKS cluster name.
    AksResourceGroupName string
    Name of the Azure Resource Group where the AKS cluster is located.
    Autoscaler Pulumi.SpotInst.Azure.Inputs.OceanAutoscaler
    The Ocean Kubernetes Autoscaler object.
    ControllerClusterId string
    A unique identifier used for connecting the Ocean SaaS platform and the Kubernetes cluster. Typically, the cluster name is used as its identifier.
    CustomData string
    Must contain a valid Base64 encoded string.
    Extensions List<Pulumi.SpotInst.Azure.Inputs.OceanExtension>
    List of Azure extension objects.
    Health Pulumi.SpotInst.Azure.Inputs.OceanHealth
    The Ocean AKS Health object.
    Images List<Pulumi.SpotInst.Azure.Inputs.OceanImage>
    Image of VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace).
    LoadBalancers List<Pulumi.SpotInst.Azure.Inputs.OceanLoadBalancer>
    Configure Load Balancer.
    ManagedServiceIdentities List<Pulumi.SpotInst.Azure.Inputs.OceanManagedServiceIdentity>
    List of Managed Service Identity objects.
    MaxPods int
    The maximum number of pods per node in an AKS cluster.
    Name string
    Name of the Load Balancer.
    Network Pulumi.SpotInst.Azure.Inputs.OceanNetwork
    Define the Virtual Network and Subnet.
    OsDisk Pulumi.SpotInst.Azure.Inputs.OceanOsDisk
    OS disk specifications.
    ResourceGroupName string
    The Resource Group name of the Load Balancer.
    SshPublicKey string
    SSH public key for admin access to Linux VMs.
    Strategies List<Pulumi.SpotInst.Azure.Inputs.OceanStrategy>
    The Ocean AKS strategy object.
    Tags List<Pulumi.SpotInst.Azure.Inputs.OceanTag>
    Unique key-value pairs that will be used to tag VMs that are launched in the cluster.
    UserName string
    Username for admin access to VMs.
    VmSizes List<Pulumi.SpotInst.Azure.Inputs.OceanVmSize>
    The types of virtual machines that may or may not be a part of the Ocean cluster.
    Zones List<string>
    An Array holding default Availability Zones, this configures the availability zones the Ocean may launch instances in.
    AcdIdentifier string
    The AKS identifier. A valid identifier should be formatted as acd-nnnnnnnn and previously used identifiers cannot be reused.
    AksName string
    The AKS cluster name.
    AksResourceGroupName string
    Name of the Azure Resource Group where the AKS cluster is located.
    Autoscaler OceanAutoscalerArgs
    The Ocean Kubernetes Autoscaler object.
    ControllerClusterId string
    A unique identifier used for connecting the Ocean SaaS platform and the Kubernetes cluster. Typically, the cluster name is used as its identifier.
    CustomData string
    Must contain a valid Base64 encoded string.
    Extensions []OceanExtensionArgs
    List of Azure extension objects.
    Health OceanHealthArgs
    The Ocean AKS Health object.
    Images []OceanImageArgs
    Image of VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace).
    LoadBalancers []OceanLoadBalancerArgs
    Configure Load Balancer.
    ManagedServiceIdentities []OceanManagedServiceIdentityArgs
    List of Managed Service Identity objects.
    MaxPods int
    The maximum number of pods per node in an AKS cluster.
    Name string
    Name of the Load Balancer.
    Network OceanNetworkArgs
    Define the Virtual Network and Subnet.
    OsDisk OceanOsDiskArgs
    OS disk specifications.
    ResourceGroupName string
    The Resource Group name of the Load Balancer.
    SshPublicKey string
    SSH public key for admin access to Linux VMs.
    Strategies []OceanStrategyArgs
    The Ocean AKS strategy object.
    Tags []OceanTagArgs
    Unique key-value pairs that will be used to tag VMs that are launched in the cluster.
    UserName string
    Username for admin access to VMs.
    VmSizes []OceanVmSizeArgs
    The types of virtual machines that may or may not be a part of the Ocean cluster.
    Zones []string
    An Array holding default Availability Zones, this configures the availability zones the Ocean may launch instances in.
    acdIdentifier String
    The AKS identifier. A valid identifier should be formatted as acd-nnnnnnnn and previously used identifiers cannot be reused.
    aksName String
    The AKS cluster name.
    aksResourceGroupName String
    Name of the Azure Resource Group where the AKS cluster is located.
    autoscaler OceanAutoscaler
    The Ocean Kubernetes Autoscaler object.
    controllerClusterId String
    A unique identifier used for connecting the Ocean SaaS platform and the Kubernetes cluster. Typically, the cluster name is used as its identifier.
    customData String
    Must contain a valid Base64 encoded string.
    extensions List<OceanExtension>
    List of Azure extension objects.
    health OceanHealth
    The Ocean AKS Health object.
    images List<OceanImage>
    Image of VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace).
    loadBalancers List<OceanLoadBalancer>
    Configure Load Balancer.
    managedServiceIdentities List<OceanManagedServiceIdentity>
    List of Managed Service Identity objects.
    maxPods Integer
    The maximum number of pods per node in an AKS cluster.
    name String
    Name of the Load Balancer.
    network OceanNetwork
    Define the Virtual Network and Subnet.
    osDisk OceanOsDisk
    OS disk specifications.
    resourceGroupName String
    The Resource Group name of the Load Balancer.
    sshPublicKey String
    SSH public key for admin access to Linux VMs.
    strategies List<OceanStrategy>
    The Ocean AKS strategy object.
    tags List<OceanTag>
    Unique key-value pairs that will be used to tag VMs that are launched in the cluster.
    userName String
    Username for admin access to VMs.
    vmSizes List<OceanVmSize>
    The types of virtual machines that may or may not be a part of the Ocean cluster.
    zones List<String>
    An Array holding default Availability Zones, this configures the availability zones the Ocean may launch instances in.
    acdIdentifier string
    The AKS identifier. A valid identifier should be formatted as acd-nnnnnnnn and previously used identifiers cannot be reused.
    aksName string
    The AKS cluster name.
    aksResourceGroupName string
    Name of the Azure Resource Group where the AKS cluster is located.
    autoscaler OceanAutoscaler
    The Ocean Kubernetes Autoscaler object.
    controllerClusterId string
    A unique identifier used for connecting the Ocean SaaS platform and the Kubernetes cluster. Typically, the cluster name is used as its identifier.
    customData string
    Must contain a valid Base64 encoded string.
    extensions OceanExtension[]
    List of Azure extension objects.
    health OceanHealth
    The Ocean AKS Health object.
    images OceanImage[]
    Image of VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace).
    loadBalancers OceanLoadBalancer[]
    Configure Load Balancer.
    managedServiceIdentities OceanManagedServiceIdentity[]
    List of Managed Service Identity objects.
    maxPods number
    The maximum number of pods per node in an AKS cluster.
    name string
    Name of the Load Balancer.
    network OceanNetwork
    Define the Virtual Network and Subnet.
    osDisk OceanOsDisk
    OS disk specifications.
    resourceGroupName string
    The Resource Group name of the Load Balancer.
    sshPublicKey string
    SSH public key for admin access to Linux VMs.
    strategies OceanStrategy[]
    The Ocean AKS strategy object.
    tags OceanTag[]
    Unique key-value pairs that will be used to tag VMs that are launched in the cluster.
    userName string
    Username for admin access to VMs.
    vmSizes OceanVmSize[]
    The types of virtual machines that may or may not be a part of the Ocean cluster.
    zones string[]
    An Array holding default Availability Zones, this configures the availability zones the Ocean may launch instances in.
    acd_identifier str
    The AKS identifier. A valid identifier should be formatted as acd-nnnnnnnn and previously used identifiers cannot be reused.
    aks_name str
    The AKS cluster name.
    aks_resource_group_name str
    Name of the Azure Resource Group where the AKS cluster is located.
    autoscaler OceanAutoscalerArgs
    The Ocean Kubernetes Autoscaler object.
    controller_cluster_id str
    A unique identifier used for connecting the Ocean SaaS platform and the Kubernetes cluster. Typically, the cluster name is used as its identifier.
    custom_data str
    Must contain a valid Base64 encoded string.
    extensions Sequence[OceanExtensionArgs]
    List of Azure extension objects.
    health OceanHealthArgs
    The Ocean AKS Health object.
    images Sequence[OceanImageArgs]
    Image of VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace).
    load_balancers Sequence[OceanLoadBalancerArgs]
    Configure Load Balancer.
    managed_service_identities Sequence[OceanManagedServiceIdentityArgs]
    List of Managed Service Identity objects.
    max_pods int
    The maximum number of pods per node in an AKS cluster.
    name str
    Name of the Load Balancer.
    network OceanNetworkArgs
    Define the Virtual Network and Subnet.
    os_disk OceanOsDiskArgs
    OS disk specifications.
    resource_group_name str
    The Resource Group name of the Load Balancer.
    ssh_public_key str
    SSH public key for admin access to Linux VMs.
    strategies Sequence[OceanStrategyArgs]
    The Ocean AKS strategy object.
    tags Sequence[OceanTagArgs]
    Unique key-value pairs that will be used to tag VMs that are launched in the cluster.
    user_name str
    Username for admin access to VMs.
    vm_sizes Sequence[OceanVmSizeArgs]
    The types of virtual machines that may or may not be a part of the Ocean cluster.
    zones Sequence[str]
    An Array holding default Availability Zones, this configures the availability zones the Ocean may launch instances in.
    acdIdentifier String
    The AKS identifier. A valid identifier should be formatted as acd-nnnnnnnn and previously used identifiers cannot be reused.
    aksName String
    The AKS cluster name.
    aksResourceGroupName String
    Name of the Azure Resource Group where the AKS cluster is located.
    autoscaler Property Map
    The Ocean Kubernetes Autoscaler object.
    controllerClusterId String
    A unique identifier used for connecting the Ocean SaaS platform and the Kubernetes cluster. Typically, the cluster name is used as its identifier.
    customData String
    Must contain a valid Base64 encoded string.
    extensions List<Property Map>
    List of Azure extension objects.
    health Property Map
    The Ocean AKS Health object.
    images List<Property Map>
    Image of VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace).
    loadBalancers List<Property Map>
    Configure Load Balancer.
    managedServiceIdentities List<Property Map>
    List of Managed Service Identity objects.
    maxPods Number
    The maximum number of pods per node in an AKS cluster.
    name String
    Name of the Load Balancer.
    network Property Map
    Define the Virtual Network and Subnet.
    osDisk Property Map
    OS disk specifications.
    resourceGroupName String
    The Resource Group name of the Load Balancer.
    sshPublicKey String
    SSH public key for admin access to Linux VMs.
    strategies List<Property Map>
    The Ocean AKS strategy object.
    tags List<Property Map>
    Unique key-value pairs that will be used to tag VMs that are launched in the cluster.
    userName String
    Username for admin access to VMs.
    vmSizes List<Property Map>
    The types of virtual machines that may or may not be a part of the Ocean cluster.
    zones List<String>
    An Array holding default Availability Zones, this configures the availability zones the Ocean may launch instances in.

    Supporting Types

    OceanAutoscaler, OceanAutoscalerArgs

    AutoscaleDown Pulumi.SpotInst.Azure.Inputs.OceanAutoscalerAutoscaleDown
    Auto Scaling scale down operations.
    AutoscaleHeadroom Pulumi.SpotInst.Azure.Inputs.OceanAutoscalerAutoscaleHeadroom
    Spare Resource Capacity Management feature enables fast assignment of Pods without having to wait for new resources to be launched.
    AutoscaleIsEnabled bool
    Enable the Ocean Kubernetes Autoscaler.
    ResourceLimits Pulumi.SpotInst.Azure.Inputs.OceanAutoscalerResourceLimits
    Optionally set upper and lower bounds on the resource usage of the cluster.
    AutoscaleDown OceanAutoscalerAutoscaleDown
    Auto Scaling scale down operations.
    AutoscaleHeadroom OceanAutoscalerAutoscaleHeadroom
    Spare Resource Capacity Management feature enables fast assignment of Pods without having to wait for new resources to be launched.
    AutoscaleIsEnabled bool
    Enable the Ocean Kubernetes Autoscaler.
    ResourceLimits OceanAutoscalerResourceLimits
    Optionally set upper and lower bounds on the resource usage of the cluster.
    autoscaleDown OceanAutoscalerAutoscaleDown
    Auto Scaling scale down operations.
    autoscaleHeadroom OceanAutoscalerAutoscaleHeadroom
    Spare Resource Capacity Management feature enables fast assignment of Pods without having to wait for new resources to be launched.
    autoscaleIsEnabled Boolean
    Enable the Ocean Kubernetes Autoscaler.
    resourceLimits OceanAutoscalerResourceLimits
    Optionally set upper and lower bounds on the resource usage of the cluster.
    autoscaleDown OceanAutoscalerAutoscaleDown
    Auto Scaling scale down operations.
    autoscaleHeadroom OceanAutoscalerAutoscaleHeadroom
    Spare Resource Capacity Management feature enables fast assignment of Pods without having to wait for new resources to be launched.
    autoscaleIsEnabled boolean
    Enable the Ocean Kubernetes Autoscaler.
    resourceLimits OceanAutoscalerResourceLimits
    Optionally set upper and lower bounds on the resource usage of the cluster.
    autoscale_down OceanAutoscalerAutoscaleDown
    Auto Scaling scale down operations.
    autoscale_headroom OceanAutoscalerAutoscaleHeadroom
    Spare Resource Capacity Management feature enables fast assignment of Pods without having to wait for new resources to be launched.
    autoscale_is_enabled bool
    Enable the Ocean Kubernetes Autoscaler.
    resource_limits OceanAutoscalerResourceLimits
    Optionally set upper and lower bounds on the resource usage of the cluster.
    autoscaleDown Property Map
    Auto Scaling scale down operations.
    autoscaleHeadroom Property Map
    Spare Resource Capacity Management feature enables fast assignment of Pods without having to wait for new resources to be launched.
    autoscaleIsEnabled Boolean
    Enable the Ocean Kubernetes Autoscaler.
    resourceLimits Property Map
    Optionally set upper and lower bounds on the resource usage of the cluster.

    OceanAutoscalerAutoscaleDown, OceanAutoscalerAutoscaleDownArgs

    MaxScaleDownPercentage double
    Would represent the maximum % to scale-down.
    MaxScaleDownPercentage float64
    Would represent the maximum % to scale-down.
    maxScaleDownPercentage Double
    Would represent the maximum % to scale-down.
    maxScaleDownPercentage number
    Would represent the maximum % to scale-down.
    max_scale_down_percentage float
    Would represent the maximum % to scale-down.
    maxScaleDownPercentage Number
    Would represent the maximum % to scale-down.

    OceanAutoscalerAutoscaleHeadroom, OceanAutoscalerAutoscaleHeadroomArgs

    Automatic OceanAutoscalerAutoscaleHeadroomAutomatic
    Automatic headroom configuration.
    automatic OceanAutoscalerAutoscaleHeadroomAutomatic
    Automatic headroom configuration.
    automatic OceanAutoscalerAutoscaleHeadroomAutomatic
    Automatic headroom configuration.
    automatic OceanAutoscalerAutoscaleHeadroomAutomatic
    Automatic headroom configuration.
    automatic Property Map
    Automatic headroom configuration.

    OceanAutoscalerAutoscaleHeadroomAutomatic, OceanAutoscalerAutoscaleHeadroomAutomaticArgs

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

    OceanAutoscalerResourceLimits, OceanAutoscalerResourceLimitsArgs

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

    OceanExtension, OceanExtensionArgs

    ApiVersion string
    API version of the extension.
    MinorVersionAutoUpgrade bool
    Toggles whether auto upgrades are allowed.
    Name string
    Name of the Load Balancer.
    Publisher string
    Image publisher.
    Type string
    The type of load balancer. Supported value: loadBalancer
    ApiVersion string
    API version of the extension.
    MinorVersionAutoUpgrade bool
    Toggles whether auto upgrades are allowed.
    Name string
    Name of the Load Balancer.
    Publisher string
    Image publisher.
    Type string
    The type of load balancer. Supported value: loadBalancer
    apiVersion String
    API version of the extension.
    minorVersionAutoUpgrade Boolean
    Toggles whether auto upgrades are allowed.
    name String
    Name of the Load Balancer.
    publisher String
    Image publisher.
    type String
    The type of load balancer. Supported value: loadBalancer
    apiVersion string
    API version of the extension.
    minorVersionAutoUpgrade boolean
    Toggles whether auto upgrades are allowed.
    name string
    Name of the Load Balancer.
    publisher string
    Image publisher.
    type string
    The type of load balancer. Supported value: loadBalancer
    api_version str
    API version of the extension.
    minor_version_auto_upgrade bool
    Toggles whether auto upgrades are allowed.
    name str
    Name of the Load Balancer.
    publisher str
    Image publisher.
    type str
    The type of load balancer. Supported value: loadBalancer
    apiVersion String
    API version of the extension.
    minorVersionAutoUpgrade Boolean
    Toggles whether auto upgrades are allowed.
    name String
    Name of the Load Balancer.
    publisher String
    Image publisher.
    type String
    The type of load balancer. Supported value: loadBalancer

    OceanHealth, OceanHealthArgs

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

    OceanImage, OceanImageArgs

    Marketplaces List<Pulumi.SpotInst.Azure.Inputs.OceanImageMarketplace>
    Select an image from Azure's Marketplace image catalogue.
    Marketplaces []OceanImageMarketplace
    Select an image from Azure's Marketplace image catalogue.
    marketplaces List<OceanImageMarketplace>
    Select an image from Azure's Marketplace image catalogue.
    marketplaces OceanImageMarketplace[]
    Select an image from Azure's Marketplace image catalogue.
    marketplaces Sequence[OceanImageMarketplace]
    Select an image from Azure's Marketplace image catalogue.
    marketplaces List<Property Map>
    Select an image from Azure's Marketplace image catalogue.

    OceanImageMarketplace, OceanImageMarketplaceArgs

    Offer string
    Image name.
    Publisher string
    Image publisher.
    Sku string
    Image Stock Keeping Unit (which is the specific version of the image).
    Version string
    Image version.
    Offer string
    Image name.
    Publisher string
    Image publisher.
    Sku string
    Image Stock Keeping Unit (which is the specific version of the image).
    Version string
    Image version.
    offer String
    Image name.
    publisher String
    Image publisher.
    sku String
    Image Stock Keeping Unit (which is the specific version of the image).
    version String
    Image version.
    offer string
    Image name.
    publisher string
    Image publisher.
    sku string
    Image Stock Keeping Unit (which is the specific version of the image).
    version string
    Image version.
    offer str
    Image name.
    publisher str
    Image publisher.
    sku str
    Image Stock Keeping Unit (which is the specific version of the image).
    version str
    Image version.
    offer String
    Image name.
    publisher String
    Image publisher.
    sku String
    Image Stock Keeping Unit (which is the specific version of the image).
    version String
    Image version.

    OceanLoadBalancer, OceanLoadBalancerArgs

    BackendPoolNames List<string>
    Names of the Backend Pools to register the Cluster VMs to. Each Backend Pool is a separate load balancer.
    LoadBalancerSku string
    Supported values: Standard, Basic.
    Name string
    Name of the Load Balancer.
    ResourceGroupName string
    The Resource Group name of the Load Balancer.
    Type string
    The type of load balancer. Supported value: loadBalancer
    BackendPoolNames []string
    Names of the Backend Pools to register the Cluster VMs to. Each Backend Pool is a separate load balancer.
    LoadBalancerSku string
    Supported values: Standard, Basic.
    Name string
    Name of the Load Balancer.
    ResourceGroupName string
    The Resource Group name of the Load Balancer.
    Type string
    The type of load balancer. Supported value: loadBalancer
    backendPoolNames List<String>
    Names of the Backend Pools to register the Cluster VMs to. Each Backend Pool is a separate load balancer.
    loadBalancerSku String
    Supported values: Standard, Basic.
    name String
    Name of the Load Balancer.
    resourceGroupName String
    The Resource Group name of the Load Balancer.
    type String
    The type of load balancer. Supported value: loadBalancer
    backendPoolNames string[]
    Names of the Backend Pools to register the Cluster VMs to. Each Backend Pool is a separate load balancer.
    loadBalancerSku string
    Supported values: Standard, Basic.
    name string
    Name of the Load Balancer.
    resourceGroupName string
    The Resource Group name of the Load Balancer.
    type string
    The type of load balancer. Supported value: loadBalancer
    backend_pool_names Sequence[str]
    Names of the Backend Pools to register the Cluster VMs to. Each Backend Pool is a separate load balancer.
    load_balancer_sku str
    Supported values: Standard, Basic.
    name str
    Name of the Load Balancer.
    resource_group_name str
    The Resource Group name of the Load Balancer.
    type str
    The type of load balancer. Supported value: loadBalancer
    backendPoolNames List<String>
    Names of the Backend Pools to register the Cluster VMs to. Each Backend Pool is a separate load balancer.
    loadBalancerSku String
    Supported values: Standard, Basic.
    name String
    Name of the Load Balancer.
    resourceGroupName String
    The Resource Group name of the Load Balancer.
    type String
    The type of load balancer. Supported value: loadBalancer

    OceanManagedServiceIdentity, OceanManagedServiceIdentityArgs

    Name string
    Name of the Load Balancer.
    ResourceGroupName string
    The Resource Group name of the Load Balancer.
    Name string
    Name of the Load Balancer.
    ResourceGroupName string
    The Resource Group name of the Load Balancer.
    name String
    Name of the Load Balancer.
    resourceGroupName String
    The Resource Group name of the Load Balancer.
    name string
    Name of the Load Balancer.
    resourceGroupName string
    The Resource Group name of the Load Balancer.
    name str
    Name of the Load Balancer.
    resource_group_name str
    The Resource Group name of the Load Balancer.
    name String
    Name of the Load Balancer.
    resourceGroupName String
    The Resource Group name of the Load Balancer.

    OceanNetwork, OceanNetworkArgs

    NetworkInterfaces List<Pulumi.SpotInst.Azure.Inputs.OceanNetworkNetworkInterface>
    A list of virtual network interfaces. The publicIpSku must be identical between all the network interfaces. One network interface must be set as the primary.
    ResourceGroupName string
    The Resource Group name of the Load Balancer.
    VirtualNetworkName string
    Virtual network.
    NetworkInterfaces []OceanNetworkNetworkInterface
    A list of virtual network interfaces. The publicIpSku must be identical between all the network interfaces. One network interface must be set as the primary.
    ResourceGroupName string
    The Resource Group name of the Load Balancer.
    VirtualNetworkName string
    Virtual network.
    networkInterfaces List<OceanNetworkNetworkInterface>
    A list of virtual network interfaces. The publicIpSku must be identical between all the network interfaces. One network interface must be set as the primary.
    resourceGroupName String
    The Resource Group name of the Load Balancer.
    virtualNetworkName String
    Virtual network.
    networkInterfaces OceanNetworkNetworkInterface[]
    A list of virtual network interfaces. The publicIpSku must be identical between all the network interfaces. One network interface must be set as the primary.
    resourceGroupName string
    The Resource Group name of the Load Balancer.
    virtualNetworkName string
    Virtual network.
    network_interfaces Sequence[OceanNetworkNetworkInterface]
    A list of virtual network interfaces. The publicIpSku must be identical between all the network interfaces. One network interface must be set as the primary.
    resource_group_name str
    The Resource Group name of the Load Balancer.
    virtual_network_name str
    Virtual network.
    networkInterfaces List<Property Map>
    A list of virtual network interfaces. The publicIpSku must be identical between all the network interfaces. One network interface must be set as the primary.
    resourceGroupName String
    The Resource Group name of the Load Balancer.
    virtualNetworkName String
    Virtual network.

    OceanNetworkNetworkInterface, OceanNetworkNetworkInterfaceArgs

    AdditionalIpConfigs List<Pulumi.SpotInst.Azure.Inputs.OceanNetworkNetworkInterfaceAdditionalIpConfig>
    Additional configuration of network interface. The name fields between all the additional_ip_config must be unique.
    AssignPublicIp bool
    Assign public IP.
    IsPrimary bool
    Defines whether the network interface is primary or not.
    SecurityGroup Pulumi.SpotInst.Azure.Inputs.OceanNetworkNetworkInterfaceSecurityGroup
    SubnetName string
    Subnet name.
    AdditionalIpConfigs []OceanNetworkNetworkInterfaceAdditionalIpConfig
    Additional configuration of network interface. The name fields between all the additional_ip_config must be unique.
    AssignPublicIp bool
    Assign public IP.
    IsPrimary bool
    Defines whether the network interface is primary or not.
    SecurityGroup OceanNetworkNetworkInterfaceSecurityGroup
    SubnetName string
    Subnet name.
    additionalIpConfigs List<OceanNetworkNetworkInterfaceAdditionalIpConfig>
    Additional configuration of network interface. The name fields between all the additional_ip_config must be unique.
    assignPublicIp Boolean
    Assign public IP.
    isPrimary Boolean
    Defines whether the network interface is primary or not.
    securityGroup OceanNetworkNetworkInterfaceSecurityGroup
    subnetName String
    Subnet name.
    additionalIpConfigs OceanNetworkNetworkInterfaceAdditionalIpConfig[]
    Additional configuration of network interface. The name fields between all the additional_ip_config must be unique.
    assignPublicIp boolean
    Assign public IP.
    isPrimary boolean
    Defines whether the network interface is primary or not.
    securityGroup OceanNetworkNetworkInterfaceSecurityGroup
    subnetName string
    Subnet name.
    additional_ip_configs Sequence[OceanNetworkNetworkInterfaceAdditionalIpConfig]
    Additional configuration of network interface. The name fields between all the additional_ip_config must be unique.
    assign_public_ip bool
    Assign public IP.
    is_primary bool
    Defines whether the network interface is primary or not.
    security_group OceanNetworkNetworkInterfaceSecurityGroup
    subnet_name str
    Subnet name.
    additionalIpConfigs List<Property Map>
    Additional configuration of network interface. The name fields between all the additional_ip_config must be unique.
    assignPublicIp Boolean
    Assign public IP.
    isPrimary Boolean
    Defines whether the network interface is primary or not.
    securityGroup Property Map
    subnetName String
    Subnet name.

    OceanNetworkNetworkInterfaceAdditionalIpConfig, OceanNetworkNetworkInterfaceAdditionalIpConfigArgs

    Name string
    Name of the Load Balancer.
    PrivateIpVersion string
    Supported values: IPv4, IPv6.
    Name string
    Name of the Load Balancer.
    PrivateIpVersion string
    Supported values: IPv4, IPv6.
    name String
    Name of the Load Balancer.
    privateIpVersion String
    Supported values: IPv4, IPv6.
    name string
    Name of the Load Balancer.
    privateIpVersion string
    Supported values: IPv4, IPv6.
    name str
    Name of the Load Balancer.
    private_ip_version str
    Supported values: IPv4, IPv6.
    name String
    Name of the Load Balancer.
    privateIpVersion String
    Supported values: IPv4, IPv6.

    OceanNetworkNetworkInterfaceSecurityGroup, OceanNetworkNetworkInterfaceSecurityGroupArgs

    Name string
    Name of the Load Balancer.
    ResourceGroupName string
    The Resource Group name of the Load Balancer.
    Name string
    Name of the Load Balancer.
    ResourceGroupName string
    The Resource Group name of the Load Balancer.
    name String
    Name of the Load Balancer.
    resourceGroupName String
    The Resource Group name of the Load Balancer.
    name string
    Name of the Load Balancer.
    resourceGroupName string
    The Resource Group name of the Load Balancer.
    name str
    Name of the Load Balancer.
    resource_group_name str
    The Resource Group name of the Load Balancer.
    name String
    Name of the Load Balancer.
    resourceGroupName String
    The Resource Group name of the Load Balancer.

    OceanOsDisk, OceanOsDiskArgs

    SizeGb int
    The size of the OS disk in GB.
    Type string
    The type of load balancer. Supported value: loadBalancer
    SizeGb int
    The size of the OS disk in GB.
    Type string
    The type of load balancer. Supported value: loadBalancer
    sizeGb Integer
    The size of the OS disk in GB.
    type String
    The type of load balancer. Supported value: loadBalancer
    sizeGb number
    The size of the OS disk in GB.
    type string
    The type of load balancer. Supported value: loadBalancer
    size_gb int
    The size of the OS disk in GB.
    type str
    The type of load balancer. Supported value: loadBalancer
    sizeGb Number
    The size of the OS disk in GB.
    type String
    The type of load balancer. Supported value: loadBalancer

    OceanStrategy, OceanStrategyArgs

    FallbackToOndemand bool
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    SpotPercentage int
    Percentage of Spot VMs to maintain.
    FallbackToOndemand bool
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    SpotPercentage int
    Percentage of Spot VMs to maintain.
    fallbackToOndemand Boolean
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    spotPercentage Integer
    Percentage of Spot VMs to maintain.
    fallbackToOndemand boolean
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    spotPercentage number
    Percentage of Spot VMs to maintain.
    fallback_to_ondemand bool
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    spot_percentage int
    Percentage of Spot VMs to maintain.
    fallbackToOndemand Boolean
    If no spot instance markets are available, enable Ocean to launch on-demand instances instead.
    spotPercentage Number
    Percentage of Spot VMs to maintain.

    OceanTag, OceanTagArgs

    Key string
    Tag key.
    Value string
    Tag value.
    Key string
    Tag key.
    Value string
    Tag value.
    key String
    Tag key.
    value String
    Tag value.
    key string
    Tag key.
    value string
    Tag value.
    key str
    Tag key.
    value str
    Tag value.
    key String
    Tag key.
    value String
    Tag value.

    OceanVmSize, OceanVmSizeArgs

    Whitelists List<string>
    VM types allowed in the Ocean cluster.
    Whitelists []string
    VM types allowed in the Ocean cluster.
    whitelists List<String>
    VM types allowed in the Ocean cluster.
    whitelists string[]
    VM types allowed in the Ocean cluster.
    whitelists Sequence[str]
    VM types allowed in the Ocean cluster.
    whitelists List<String>
    VM types allowed in the Ocean cluster.

    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