1. Packages
  2. Azure Classic
  3. API Docs
  4. machinelearning
  5. InferenceCluster

We recommend using Azure Native.

Azure Classic v5.72.0 published on Monday, Apr 15, 2024 by Pulumi

azure.machinelearning.InferenceCluster

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.72.0 published on Monday, Apr 15, 2024 by Pulumi

    Manages a Machine Learning Inference Cluster.

    NOTE: The Machine Learning Inference Cluster resource is used to attach an existing AKS cluster to the Machine Learning Workspace, it doesn’t create the AKS cluster itself. Therefore it can only be created and deleted, not updated. Any change to the configuration will recreate the resource.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const current = azure.core.getClientConfig({});
    const example = new azure.core.ResourceGroup("example", {
        name: "example-rg",
        location: "west europe",
        tags: {
            stage: "example",
        },
    });
    const exampleInsights = new azure.appinsights.Insights("example", {
        name: "example-ai",
        location: example.location,
        resourceGroupName: example.name,
        applicationType: "web",
    });
    const exampleKeyVault = new azure.keyvault.KeyVault("example", {
        name: "example-kv",
        location: example.location,
        resourceGroupName: example.name,
        tenantId: current.then(current => current.tenantId),
        skuName: "standard",
        purgeProtectionEnabled: true,
    });
    const exampleAccount = new azure.storage.Account("example", {
        name: "examplesa",
        location: example.location,
        resourceGroupName: example.name,
        accountTier: "Standard",
        accountReplicationType: "LRS",
    });
    const exampleWorkspace = new azure.machinelearning.Workspace("example", {
        name: "example-mlw",
        location: example.location,
        resourceGroupName: example.name,
        applicationInsightsId: exampleInsights.id,
        keyVaultId: exampleKeyVault.id,
        storageAccountId: exampleAccount.id,
        identity: {
            type: "SystemAssigned",
        },
    });
    const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", {
        name: "example-vnet",
        addressSpaces: ["10.1.0.0/16"],
        location: example.location,
        resourceGroupName: example.name,
    });
    const exampleSubnet = new azure.network.Subnet("example", {
        name: "example-subnet",
        resourceGroupName: example.name,
        virtualNetworkName: exampleVirtualNetwork.name,
        addressPrefixes: ["10.1.0.0/24"],
    });
    const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", {
        name: "example-aks",
        location: example.location,
        resourceGroupName: example.name,
        dnsPrefixPrivateCluster: "prefix",
        defaultNodePool: {
            name: "default",
            nodeCount: 3,
            vmSize: "Standard_D3_v2",
            vnetSubnetId: exampleSubnet.id,
        },
        identity: {
            type: "SystemAssigned",
        },
    });
    const exampleInferenceCluster = new azure.machinelearning.InferenceCluster("example", {
        name: "example",
        location: example.location,
        clusterPurpose: "FastProd",
        kubernetesClusterId: exampleKubernetesCluster.id,
        description: "This is an example cluster used with Terraform",
        machineLearningWorkspaceId: exampleWorkspace.id,
        tags: {
            stage: "example",
        },
    });
    
    import pulumi
    import pulumi_azure as azure
    
    current = azure.core.get_client_config()
    example = azure.core.ResourceGroup("example",
        name="example-rg",
        location="west europe",
        tags={
            "stage": "example",
        })
    example_insights = azure.appinsights.Insights("example",
        name="example-ai",
        location=example.location,
        resource_group_name=example.name,
        application_type="web")
    example_key_vault = azure.keyvault.KeyVault("example",
        name="example-kv",
        location=example.location,
        resource_group_name=example.name,
        tenant_id=current.tenant_id,
        sku_name="standard",
        purge_protection_enabled=True)
    example_account = azure.storage.Account("example",
        name="examplesa",
        location=example.location,
        resource_group_name=example.name,
        account_tier="Standard",
        account_replication_type="LRS")
    example_workspace = azure.machinelearning.Workspace("example",
        name="example-mlw",
        location=example.location,
        resource_group_name=example.name,
        application_insights_id=example_insights.id,
        key_vault_id=example_key_vault.id,
        storage_account_id=example_account.id,
        identity=azure.machinelearning.WorkspaceIdentityArgs(
            type="SystemAssigned",
        ))
    example_virtual_network = azure.network.VirtualNetwork("example",
        name="example-vnet",
        address_spaces=["10.1.0.0/16"],
        location=example.location,
        resource_group_name=example.name)
    example_subnet = azure.network.Subnet("example",
        name="example-subnet",
        resource_group_name=example.name,
        virtual_network_name=example_virtual_network.name,
        address_prefixes=["10.1.0.0/24"])
    example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example",
        name="example-aks",
        location=example.location,
        resource_group_name=example.name,
        dns_prefix_private_cluster="prefix",
        default_node_pool=azure.containerservice.KubernetesClusterDefaultNodePoolArgs(
            name="default",
            node_count=3,
            vm_size="Standard_D3_v2",
            vnet_subnet_id=example_subnet.id,
        ),
        identity=azure.containerservice.KubernetesClusterIdentityArgs(
            type="SystemAssigned",
        ))
    example_inference_cluster = azure.machinelearning.InferenceCluster("example",
        name="example",
        location=example.location,
        cluster_purpose="FastProd",
        kubernetes_cluster_id=example_kubernetes_cluster.id,
        description="This is an example cluster used with Terraform",
        machine_learning_workspace_id=example_workspace.id,
        tags={
            "stage": "example",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appinsights"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/containerservice"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/machinelearning"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		current, err := core.GetClientConfig(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String("example-rg"),
    			Location: pulumi.String("west europe"),
    			Tags: pulumi.StringMap{
    				"stage": pulumi.String("example"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleInsights, err := appinsights.NewInsights(ctx, "example", &appinsights.InsightsArgs{
    			Name:              pulumi.String("example-ai"),
    			Location:          example.Location,
    			ResourceGroupName: example.Name,
    			ApplicationType:   pulumi.String("web"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleKeyVault, err := keyvault.NewKeyVault(ctx, "example", &keyvault.KeyVaultArgs{
    			Name:                   pulumi.String("example-kv"),
    			Location:               example.Location,
    			ResourceGroupName:      example.Name,
    			TenantId:               pulumi.String(current.TenantId),
    			SkuName:                pulumi.String("standard"),
    			PurgeProtectionEnabled: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
    			Name:                   pulumi.String("examplesa"),
    			Location:               example.Location,
    			ResourceGroupName:      example.Name,
    			AccountTier:            pulumi.String("Standard"),
    			AccountReplicationType: pulumi.String("LRS"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleWorkspace, err := machinelearning.NewWorkspace(ctx, "example", &machinelearning.WorkspaceArgs{
    			Name:                  pulumi.String("example-mlw"),
    			Location:              example.Location,
    			ResourceGroupName:     example.Name,
    			ApplicationInsightsId: exampleInsights.ID(),
    			KeyVaultId:            exampleKeyVault.ID(),
    			StorageAccountId:      exampleAccount.ID(),
    			Identity: &machinelearning.WorkspaceIdentityArgs{
    				Type: pulumi.String("SystemAssigned"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
    			Name: pulumi.String("example-vnet"),
    			AddressSpaces: pulumi.StringArray{
    				pulumi.String("10.1.0.0/16"),
    			},
    			Location:          example.Location,
    			ResourceGroupName: example.Name,
    		})
    		if err != nil {
    			return err
    		}
    		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
    			Name:               pulumi.String("example-subnet"),
    			ResourceGroupName:  example.Name,
    			VirtualNetworkName: exampleVirtualNetwork.Name,
    			AddressPrefixes: pulumi.StringArray{
    				pulumi.String("10.1.0.0/24"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{
    			Name:                    pulumi.String("example-aks"),
    			Location:                example.Location,
    			ResourceGroupName:       example.Name,
    			DnsPrefixPrivateCluster: pulumi.String("prefix"),
    			DefaultNodePool: &containerservice.KubernetesClusterDefaultNodePoolArgs{
    				Name:         pulumi.String("default"),
    				NodeCount:    pulumi.Int(3),
    				VmSize:       pulumi.String("Standard_D3_v2"),
    				VnetSubnetId: exampleSubnet.ID(),
    			},
    			Identity: &containerservice.KubernetesClusterIdentityArgs{
    				Type: pulumi.String("SystemAssigned"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = machinelearning.NewInferenceCluster(ctx, "example", &machinelearning.InferenceClusterArgs{
    			Name:                       pulumi.String("example"),
    			Location:                   example.Location,
    			ClusterPurpose:             pulumi.String("FastProd"),
    			KubernetesClusterId:        exampleKubernetesCluster.ID(),
    			Description:                pulumi.String("This is an example cluster used with Terraform"),
    			MachineLearningWorkspaceId: exampleWorkspace.ID(),
    			Tags: pulumi.StringMap{
    				"stage": pulumi.String("example"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var current = Azure.Core.GetClientConfig.Invoke();
    
        var example = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "example-rg",
            Location = "west europe",
            Tags = 
            {
                { "stage", "example" },
            },
        });
    
        var exampleInsights = new Azure.AppInsights.Insights("example", new()
        {
            Name = "example-ai",
            Location = example.Location,
            ResourceGroupName = example.Name,
            ApplicationType = "web",
        });
    
        var exampleKeyVault = new Azure.KeyVault.KeyVault("example", new()
        {
            Name = "example-kv",
            Location = example.Location,
            ResourceGroupName = example.Name,
            TenantId = current.Apply(getClientConfigResult => getClientConfigResult.TenantId),
            SkuName = "standard",
            PurgeProtectionEnabled = true,
        });
    
        var exampleAccount = new Azure.Storage.Account("example", new()
        {
            Name = "examplesa",
            Location = example.Location,
            ResourceGroupName = example.Name,
            AccountTier = "Standard",
            AccountReplicationType = "LRS",
        });
    
        var exampleWorkspace = new Azure.MachineLearning.Workspace("example", new()
        {
            Name = "example-mlw",
            Location = example.Location,
            ResourceGroupName = example.Name,
            ApplicationInsightsId = exampleInsights.Id,
            KeyVaultId = exampleKeyVault.Id,
            StorageAccountId = exampleAccount.Id,
            Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs
            {
                Type = "SystemAssigned",
            },
        });
    
        var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
        {
            Name = "example-vnet",
            AddressSpaces = new[]
            {
                "10.1.0.0/16",
            },
            Location = example.Location,
            ResourceGroupName = example.Name,
        });
    
        var exampleSubnet = new Azure.Network.Subnet("example", new()
        {
            Name = "example-subnet",
            ResourceGroupName = example.Name,
            VirtualNetworkName = exampleVirtualNetwork.Name,
            AddressPrefixes = new[]
            {
                "10.1.0.0/24",
            },
        });
    
        var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new()
        {
            Name = "example-aks",
            Location = example.Location,
            ResourceGroupName = example.Name,
            DnsPrefixPrivateCluster = "prefix",
            DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs
            {
                Name = "default",
                NodeCount = 3,
                VmSize = "Standard_D3_v2",
                VnetSubnetId = exampleSubnet.Id,
            },
            Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs
            {
                Type = "SystemAssigned",
            },
        });
    
        var exampleInferenceCluster = new Azure.MachineLearning.InferenceCluster("example", new()
        {
            Name = "example",
            Location = example.Location,
            ClusterPurpose = "FastProd",
            KubernetesClusterId = exampleKubernetesCluster.Id,
            Description = "This is an example cluster used with Terraform",
            MachineLearningWorkspaceId = exampleWorkspace.Id,
            Tags = 
            {
                { "stage", "example" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.CoreFunctions;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.appinsights.Insights;
    import com.pulumi.azure.appinsights.InsightsArgs;
    import com.pulumi.azure.keyvault.KeyVault;
    import com.pulumi.azure.keyvault.KeyVaultArgs;
    import com.pulumi.azure.storage.Account;
    import com.pulumi.azure.storage.AccountArgs;
    import com.pulumi.azure.machinelearning.Workspace;
    import com.pulumi.azure.machinelearning.WorkspaceArgs;
    import com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs;
    import com.pulumi.azure.network.VirtualNetwork;
    import com.pulumi.azure.network.VirtualNetworkArgs;
    import com.pulumi.azure.network.Subnet;
    import com.pulumi.azure.network.SubnetArgs;
    import com.pulumi.azure.containerservice.KubernetesCluster;
    import com.pulumi.azure.containerservice.KubernetesClusterArgs;
    import com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;
    import com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;
    import com.pulumi.azure.machinelearning.InferenceCluster;
    import com.pulumi.azure.machinelearning.InferenceClusterArgs;
    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) {
            final var current = CoreFunctions.getClientConfig();
    
            var example = new ResourceGroup("example", ResourceGroupArgs.builder()        
                .name("example-rg")
                .location("west europe")
                .tags(Map.of("stage", "example"))
                .build());
    
            var exampleInsights = new Insights("exampleInsights", InsightsArgs.builder()        
                .name("example-ai")
                .location(example.location())
                .resourceGroupName(example.name())
                .applicationType("web")
                .build());
    
            var exampleKeyVault = new KeyVault("exampleKeyVault", KeyVaultArgs.builder()        
                .name("example-kv")
                .location(example.location())
                .resourceGroupName(example.name())
                .tenantId(current.applyValue(getClientConfigResult -> getClientConfigResult.tenantId()))
                .skuName("standard")
                .purgeProtectionEnabled(true)
                .build());
    
            var exampleAccount = new Account("exampleAccount", AccountArgs.builder()        
                .name("examplesa")
                .location(example.location())
                .resourceGroupName(example.name())
                .accountTier("Standard")
                .accountReplicationType("LRS")
                .build());
    
            var exampleWorkspace = new Workspace("exampleWorkspace", WorkspaceArgs.builder()        
                .name("example-mlw")
                .location(example.location())
                .resourceGroupName(example.name())
                .applicationInsightsId(exampleInsights.id())
                .keyVaultId(exampleKeyVault.id())
                .storageAccountId(exampleAccount.id())
                .identity(WorkspaceIdentityArgs.builder()
                    .type("SystemAssigned")
                    .build())
                .build());
    
            var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()        
                .name("example-vnet")
                .addressSpaces("10.1.0.0/16")
                .location(example.location())
                .resourceGroupName(example.name())
                .build());
    
            var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()        
                .name("example-subnet")
                .resourceGroupName(example.name())
                .virtualNetworkName(exampleVirtualNetwork.name())
                .addressPrefixes("10.1.0.0/24")
                .build());
    
            var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder()        
                .name("example-aks")
                .location(example.location())
                .resourceGroupName(example.name())
                .dnsPrefixPrivateCluster("prefix")
                .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()
                    .name("default")
                    .nodeCount(3)
                    .vmSize("Standard_D3_v2")
                    .vnetSubnetId(exampleSubnet.id())
                    .build())
                .identity(KubernetesClusterIdentityArgs.builder()
                    .type("SystemAssigned")
                    .build())
                .build());
    
            var exampleInferenceCluster = new InferenceCluster("exampleInferenceCluster", InferenceClusterArgs.builder()        
                .name("example")
                .location(example.location())
                .clusterPurpose("FastProd")
                .kubernetesClusterId(exampleKubernetesCluster.id())
                .description("This is an example cluster used with Terraform")
                .machineLearningWorkspaceId(exampleWorkspace.id())
                .tags(Map.of("stage", "example"))
                .build());
    
        }
    }
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: example-rg
          location: west europe
          tags:
            stage: example
      exampleInsights:
        type: azure:appinsights:Insights
        name: example
        properties:
          name: example-ai
          location: ${example.location}
          resourceGroupName: ${example.name}
          applicationType: web
      exampleKeyVault:
        type: azure:keyvault:KeyVault
        name: example
        properties:
          name: example-kv
          location: ${example.location}
          resourceGroupName: ${example.name}
          tenantId: ${current.tenantId}
          skuName: standard
          purgeProtectionEnabled: true
      exampleAccount:
        type: azure:storage:Account
        name: example
        properties:
          name: examplesa
          location: ${example.location}
          resourceGroupName: ${example.name}
          accountTier: Standard
          accountReplicationType: LRS
      exampleWorkspace:
        type: azure:machinelearning:Workspace
        name: example
        properties:
          name: example-mlw
          location: ${example.location}
          resourceGroupName: ${example.name}
          applicationInsightsId: ${exampleInsights.id}
          keyVaultId: ${exampleKeyVault.id}
          storageAccountId: ${exampleAccount.id}
          identity:
            type: SystemAssigned
      exampleVirtualNetwork:
        type: azure:network:VirtualNetwork
        name: example
        properties:
          name: example-vnet
          addressSpaces:
            - 10.1.0.0/16
          location: ${example.location}
          resourceGroupName: ${example.name}
      exampleSubnet:
        type: azure:network:Subnet
        name: example
        properties:
          name: example-subnet
          resourceGroupName: ${example.name}
          virtualNetworkName: ${exampleVirtualNetwork.name}
          addressPrefixes:
            - 10.1.0.0/24
      exampleKubernetesCluster:
        type: azure:containerservice:KubernetesCluster
        name: example
        properties:
          name: example-aks
          location: ${example.location}
          resourceGroupName: ${example.name}
          dnsPrefixPrivateCluster: prefix
          defaultNodePool:
            name: default
            nodeCount: 3
            vmSize: Standard_D3_v2
            vnetSubnetId: ${exampleSubnet.id}
          identity:
            type: SystemAssigned
      exampleInferenceCluster:
        type: azure:machinelearning:InferenceCluster
        name: example
        properties:
          name: example
          location: ${example.location}
          clusterPurpose: FastProd
          kubernetesClusterId: ${exampleKubernetesCluster.id}
          description: This is an example cluster used with Terraform
          machineLearningWorkspaceId: ${exampleWorkspace.id}
          tags:
            stage: example
    variables:
      current:
        fn::invoke:
          Function: azure:core:getClientConfig
          Arguments: {}
    

    Create InferenceCluster Resource

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

    Constructor syntax

    new InferenceCluster(name: string, args: InferenceClusterArgs, opts?: CustomResourceOptions);
    @overload
    def InferenceCluster(resource_name: str,
                         args: InferenceClusterArgs,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def InferenceCluster(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         kubernetes_cluster_id: Optional[str] = None,
                         machine_learning_workspace_id: Optional[str] = None,
                         cluster_purpose: Optional[str] = None,
                         description: Optional[str] = None,
                         identity: Optional[InferenceClusterIdentityArgs] = None,
                         location: Optional[str] = None,
                         name: Optional[str] = None,
                         ssl: Optional[InferenceClusterSslArgs] = None,
                         tags: Optional[Mapping[str, str]] = None)
    func NewInferenceCluster(ctx *Context, name string, args InferenceClusterArgs, opts ...ResourceOption) (*InferenceCluster, error)
    public InferenceCluster(string name, InferenceClusterArgs args, CustomResourceOptions? opts = null)
    public InferenceCluster(String name, InferenceClusterArgs args)
    public InferenceCluster(String name, InferenceClusterArgs args, CustomResourceOptions options)
    
    type: azure:machinelearning:InferenceCluster
    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 InferenceClusterArgs
    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 InferenceClusterArgs
    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 InferenceClusterArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args InferenceClusterArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args InferenceClusterArgs
    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 inferenceClusterResource = new Azure.MachineLearning.InferenceCluster("inferenceClusterResource", new()
    {
        KubernetesClusterId = "string",
        MachineLearningWorkspaceId = "string",
        ClusterPurpose = "string",
        Description = "string",
        Identity = new Azure.MachineLearning.Inputs.InferenceClusterIdentityArgs
        {
            Type = "string",
            IdentityIds = new[]
            {
                "string",
            },
            PrincipalId = "string",
            TenantId = "string",
        },
        Location = "string",
        Name = "string",
        Ssl = new Azure.MachineLearning.Inputs.InferenceClusterSslArgs
        {
            Cert = "string",
            Cname = "string",
            Key = "string",
            LeafDomainLabel = "string",
            OverwriteExistingDomain = false,
        },
        Tags = 
        {
            { "string", "string" },
        },
    });
    
    example, err := machinelearning.NewInferenceCluster(ctx, "inferenceClusterResource", &machinelearning.InferenceClusterArgs{
    	KubernetesClusterId:        pulumi.String("string"),
    	MachineLearningWorkspaceId: pulumi.String("string"),
    	ClusterPurpose:             pulumi.String("string"),
    	Description:                pulumi.String("string"),
    	Identity: &machinelearning.InferenceClusterIdentityArgs{
    		Type: pulumi.String("string"),
    		IdentityIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		PrincipalId: pulumi.String("string"),
    		TenantId:    pulumi.String("string"),
    	},
    	Location: pulumi.String("string"),
    	Name:     pulumi.String("string"),
    	Ssl: &machinelearning.InferenceClusterSslArgs{
    		Cert:                    pulumi.String("string"),
    		Cname:                   pulumi.String("string"),
    		Key:                     pulumi.String("string"),
    		LeafDomainLabel:         pulumi.String("string"),
    		OverwriteExistingDomain: pulumi.Bool(false),
    	},
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var inferenceClusterResource = new InferenceCluster("inferenceClusterResource", InferenceClusterArgs.builder()        
        .kubernetesClusterId("string")
        .machineLearningWorkspaceId("string")
        .clusterPurpose("string")
        .description("string")
        .identity(InferenceClusterIdentityArgs.builder()
            .type("string")
            .identityIds("string")
            .principalId("string")
            .tenantId("string")
            .build())
        .location("string")
        .name("string")
        .ssl(InferenceClusterSslArgs.builder()
            .cert("string")
            .cname("string")
            .key("string")
            .leafDomainLabel("string")
            .overwriteExistingDomain(false)
            .build())
        .tags(Map.of("string", "string"))
        .build());
    
    inference_cluster_resource = azure.machinelearning.InferenceCluster("inferenceClusterResource",
        kubernetes_cluster_id="string",
        machine_learning_workspace_id="string",
        cluster_purpose="string",
        description="string",
        identity=azure.machinelearning.InferenceClusterIdentityArgs(
            type="string",
            identity_ids=["string"],
            principal_id="string",
            tenant_id="string",
        ),
        location="string",
        name="string",
        ssl=azure.machinelearning.InferenceClusterSslArgs(
            cert="string",
            cname="string",
            key="string",
            leaf_domain_label="string",
            overwrite_existing_domain=False,
        ),
        tags={
            "string": "string",
        })
    
    const inferenceClusterResource = new azure.machinelearning.InferenceCluster("inferenceClusterResource", {
        kubernetesClusterId: "string",
        machineLearningWorkspaceId: "string",
        clusterPurpose: "string",
        description: "string",
        identity: {
            type: "string",
            identityIds: ["string"],
            principalId: "string",
            tenantId: "string",
        },
        location: "string",
        name: "string",
        ssl: {
            cert: "string",
            cname: "string",
            key: "string",
            leafDomainLabel: "string",
            overwriteExistingDomain: false,
        },
        tags: {
            string: "string",
        },
    });
    
    type: azure:machinelearning:InferenceCluster
    properties:
        clusterPurpose: string
        description: string
        identity:
            identityIds:
                - string
            principalId: string
            tenantId: string
            type: string
        kubernetesClusterId: string
        location: string
        machineLearningWorkspaceId: string
        name: string
        ssl:
            cert: string
            cname: string
            key: string
            leafDomainLabel: string
            overwriteExistingDomain: false
        tags:
            string: string
    

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

    KubernetesClusterId string
    The ID of the Kubernetes Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    MachineLearningWorkspaceId string
    The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Inference Cluster to be created.
    ClusterPurpose string

    The purpose of the Inference Cluster. Options are DevTest, DenseProd and FastProd. If used for Development or Testing, use DevTest here. Default purpose is FastProd, which is recommended for production workloads. Changing this forces a new Machine Learning Inference Cluster to be created.

    NOTE: When creating or attaching a cluster, if the cluster will be used for production (cluster_purpose = "FastProd"), then it must contain at least 12 virtual CPUs. The number of virtual CPUs can be calculated by multiplying the number of nodes in the cluster by the number of cores provided by the VM size selected. For example, if you use a VM size of "Standard_D3_v2", which has 4 virtual cores, then you should select 3 or greater as the number of nodes.

    Description string
    The description of the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    Identity InferenceClusterIdentity
    An identity block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    Location string
    The Azure Region where the Machine Learning Inference Cluster should exist. Changing this forces a new Machine Learning Inference Cluster to be created.
    Name string
    The name which should be used for this Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    Ssl InferenceClusterSsl
    A ssl block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    Tags Dictionary<string, string>
    A mapping of tags which should be assigned to the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    KubernetesClusterId string
    The ID of the Kubernetes Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    MachineLearningWorkspaceId string
    The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Inference Cluster to be created.
    ClusterPurpose string

    The purpose of the Inference Cluster. Options are DevTest, DenseProd and FastProd. If used for Development or Testing, use DevTest here. Default purpose is FastProd, which is recommended for production workloads. Changing this forces a new Machine Learning Inference Cluster to be created.

    NOTE: When creating or attaching a cluster, if the cluster will be used for production (cluster_purpose = "FastProd"), then it must contain at least 12 virtual CPUs. The number of virtual CPUs can be calculated by multiplying the number of nodes in the cluster by the number of cores provided by the VM size selected. For example, if you use a VM size of "Standard_D3_v2", which has 4 virtual cores, then you should select 3 or greater as the number of nodes.

    Description string
    The description of the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    Identity InferenceClusterIdentityArgs
    An identity block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    Location string
    The Azure Region where the Machine Learning Inference Cluster should exist. Changing this forces a new Machine Learning Inference Cluster to be created.
    Name string
    The name which should be used for this Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    Ssl InferenceClusterSslArgs
    A ssl block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    Tags map[string]string
    A mapping of tags which should be assigned to the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    kubernetesClusterId String
    The ID of the Kubernetes Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    machineLearningWorkspaceId String
    The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Inference Cluster to be created.
    clusterPurpose String

    The purpose of the Inference Cluster. Options are DevTest, DenseProd and FastProd. If used for Development or Testing, use DevTest here. Default purpose is FastProd, which is recommended for production workloads. Changing this forces a new Machine Learning Inference Cluster to be created.

    NOTE: When creating or attaching a cluster, if the cluster will be used for production (cluster_purpose = "FastProd"), then it must contain at least 12 virtual CPUs. The number of virtual CPUs can be calculated by multiplying the number of nodes in the cluster by the number of cores provided by the VM size selected. For example, if you use a VM size of "Standard_D3_v2", which has 4 virtual cores, then you should select 3 or greater as the number of nodes.

    description String
    The description of the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    identity InferenceClusterIdentity
    An identity block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    location String
    The Azure Region where the Machine Learning Inference Cluster should exist. Changing this forces a new Machine Learning Inference Cluster to be created.
    name String
    The name which should be used for this Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    ssl InferenceClusterSsl
    A ssl block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    tags Map<String,String>
    A mapping of tags which should be assigned to the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    kubernetesClusterId string
    The ID of the Kubernetes Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    machineLearningWorkspaceId string
    The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Inference Cluster to be created.
    clusterPurpose string

    The purpose of the Inference Cluster. Options are DevTest, DenseProd and FastProd. If used for Development or Testing, use DevTest here. Default purpose is FastProd, which is recommended for production workloads. Changing this forces a new Machine Learning Inference Cluster to be created.

    NOTE: When creating or attaching a cluster, if the cluster will be used for production (cluster_purpose = "FastProd"), then it must contain at least 12 virtual CPUs. The number of virtual CPUs can be calculated by multiplying the number of nodes in the cluster by the number of cores provided by the VM size selected. For example, if you use a VM size of "Standard_D3_v2", which has 4 virtual cores, then you should select 3 or greater as the number of nodes.

    description string
    The description of the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    identity InferenceClusterIdentity
    An identity block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    location string
    The Azure Region where the Machine Learning Inference Cluster should exist. Changing this forces a new Machine Learning Inference Cluster to be created.
    name string
    The name which should be used for this Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    ssl InferenceClusterSsl
    A ssl block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    tags {[key: string]: string}
    A mapping of tags which should be assigned to the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    kubernetes_cluster_id str
    The ID of the Kubernetes Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    machine_learning_workspace_id str
    The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Inference Cluster to be created.
    cluster_purpose str

    The purpose of the Inference Cluster. Options are DevTest, DenseProd and FastProd. If used for Development or Testing, use DevTest here. Default purpose is FastProd, which is recommended for production workloads. Changing this forces a new Machine Learning Inference Cluster to be created.

    NOTE: When creating or attaching a cluster, if the cluster will be used for production (cluster_purpose = "FastProd"), then it must contain at least 12 virtual CPUs. The number of virtual CPUs can be calculated by multiplying the number of nodes in the cluster by the number of cores provided by the VM size selected. For example, if you use a VM size of "Standard_D3_v2", which has 4 virtual cores, then you should select 3 or greater as the number of nodes.

    description str
    The description of the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    identity InferenceClusterIdentityArgs
    An identity block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    location str
    The Azure Region where the Machine Learning Inference Cluster should exist. Changing this forces a new Machine Learning Inference Cluster to be created.
    name str
    The name which should be used for this Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    ssl InferenceClusterSslArgs
    A ssl block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    tags Mapping[str, str]
    A mapping of tags which should be assigned to the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    kubernetesClusterId String
    The ID of the Kubernetes Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    machineLearningWorkspaceId String
    The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Inference Cluster to be created.
    clusterPurpose String

    The purpose of the Inference Cluster. Options are DevTest, DenseProd and FastProd. If used for Development or Testing, use DevTest here. Default purpose is FastProd, which is recommended for production workloads. Changing this forces a new Machine Learning Inference Cluster to be created.

    NOTE: When creating or attaching a cluster, if the cluster will be used for production (cluster_purpose = "FastProd"), then it must contain at least 12 virtual CPUs. The number of virtual CPUs can be calculated by multiplying the number of nodes in the cluster by the number of cores provided by the VM size selected. For example, if you use a VM size of "Standard_D3_v2", which has 4 virtual cores, then you should select 3 or greater as the number of nodes.

    description String
    The description of the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    identity Property Map
    An identity block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    location String
    The Azure Region where the Machine Learning Inference Cluster should exist. Changing this forces a new Machine Learning Inference Cluster to be created.
    name String
    The name which should be used for this Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    ssl Property Map
    A ssl block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    tags Map<String>
    A mapping of tags which should be assigned to the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.

    Outputs

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

    Get an existing InferenceCluster 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?: InferenceClusterState, opts?: CustomResourceOptions): InferenceCluster
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            cluster_purpose: Optional[str] = None,
            description: Optional[str] = None,
            identity: Optional[InferenceClusterIdentityArgs] = None,
            kubernetes_cluster_id: Optional[str] = None,
            location: Optional[str] = None,
            machine_learning_workspace_id: Optional[str] = None,
            name: Optional[str] = None,
            ssl: Optional[InferenceClusterSslArgs] = None,
            tags: Optional[Mapping[str, str]] = None) -> InferenceCluster
    func GetInferenceCluster(ctx *Context, name string, id IDInput, state *InferenceClusterState, opts ...ResourceOption) (*InferenceCluster, error)
    public static InferenceCluster Get(string name, Input<string> id, InferenceClusterState? state, CustomResourceOptions? opts = null)
    public static InferenceCluster get(String name, Output<String> id, InferenceClusterState 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:
    ClusterPurpose string

    The purpose of the Inference Cluster. Options are DevTest, DenseProd and FastProd. If used for Development or Testing, use DevTest here. Default purpose is FastProd, which is recommended for production workloads. Changing this forces a new Machine Learning Inference Cluster to be created.

    NOTE: When creating or attaching a cluster, if the cluster will be used for production (cluster_purpose = "FastProd"), then it must contain at least 12 virtual CPUs. The number of virtual CPUs can be calculated by multiplying the number of nodes in the cluster by the number of cores provided by the VM size selected. For example, if you use a VM size of "Standard_D3_v2", which has 4 virtual cores, then you should select 3 or greater as the number of nodes.

    Description string
    The description of the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    Identity InferenceClusterIdentity
    An identity block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    KubernetesClusterId string
    The ID of the Kubernetes Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    Location string
    The Azure Region where the Machine Learning Inference Cluster should exist. Changing this forces a new Machine Learning Inference Cluster to be created.
    MachineLearningWorkspaceId string
    The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Inference Cluster to be created.
    Name string
    The name which should be used for this Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    Ssl InferenceClusterSsl
    A ssl block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    Tags Dictionary<string, string>
    A mapping of tags which should be assigned to the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    ClusterPurpose string

    The purpose of the Inference Cluster. Options are DevTest, DenseProd and FastProd. If used for Development or Testing, use DevTest here. Default purpose is FastProd, which is recommended for production workloads. Changing this forces a new Machine Learning Inference Cluster to be created.

    NOTE: When creating or attaching a cluster, if the cluster will be used for production (cluster_purpose = "FastProd"), then it must contain at least 12 virtual CPUs. The number of virtual CPUs can be calculated by multiplying the number of nodes in the cluster by the number of cores provided by the VM size selected. For example, if you use a VM size of "Standard_D3_v2", which has 4 virtual cores, then you should select 3 or greater as the number of nodes.

    Description string
    The description of the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    Identity InferenceClusterIdentityArgs
    An identity block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    KubernetesClusterId string
    The ID of the Kubernetes Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    Location string
    The Azure Region where the Machine Learning Inference Cluster should exist. Changing this forces a new Machine Learning Inference Cluster to be created.
    MachineLearningWorkspaceId string
    The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Inference Cluster to be created.
    Name string
    The name which should be used for this Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    Ssl InferenceClusterSslArgs
    A ssl block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    Tags map[string]string
    A mapping of tags which should be assigned to the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    clusterPurpose String

    The purpose of the Inference Cluster. Options are DevTest, DenseProd and FastProd. If used for Development or Testing, use DevTest here. Default purpose is FastProd, which is recommended for production workloads. Changing this forces a new Machine Learning Inference Cluster to be created.

    NOTE: When creating or attaching a cluster, if the cluster will be used for production (cluster_purpose = "FastProd"), then it must contain at least 12 virtual CPUs. The number of virtual CPUs can be calculated by multiplying the number of nodes in the cluster by the number of cores provided by the VM size selected. For example, if you use a VM size of "Standard_D3_v2", which has 4 virtual cores, then you should select 3 or greater as the number of nodes.

    description String
    The description of the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    identity InferenceClusterIdentity
    An identity block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    kubernetesClusterId String
    The ID of the Kubernetes Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    location String
    The Azure Region where the Machine Learning Inference Cluster should exist. Changing this forces a new Machine Learning Inference Cluster to be created.
    machineLearningWorkspaceId String
    The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Inference Cluster to be created.
    name String
    The name which should be used for this Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    ssl InferenceClusterSsl
    A ssl block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    tags Map<String,String>
    A mapping of tags which should be assigned to the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    clusterPurpose string

    The purpose of the Inference Cluster. Options are DevTest, DenseProd and FastProd. If used for Development or Testing, use DevTest here. Default purpose is FastProd, which is recommended for production workloads. Changing this forces a new Machine Learning Inference Cluster to be created.

    NOTE: When creating or attaching a cluster, if the cluster will be used for production (cluster_purpose = "FastProd"), then it must contain at least 12 virtual CPUs. The number of virtual CPUs can be calculated by multiplying the number of nodes in the cluster by the number of cores provided by the VM size selected. For example, if you use a VM size of "Standard_D3_v2", which has 4 virtual cores, then you should select 3 or greater as the number of nodes.

    description string
    The description of the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    identity InferenceClusterIdentity
    An identity block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    kubernetesClusterId string
    The ID of the Kubernetes Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    location string
    The Azure Region where the Machine Learning Inference Cluster should exist. Changing this forces a new Machine Learning Inference Cluster to be created.
    machineLearningWorkspaceId string
    The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Inference Cluster to be created.
    name string
    The name which should be used for this Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    ssl InferenceClusterSsl
    A ssl block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    tags {[key: string]: string}
    A mapping of tags which should be assigned to the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    cluster_purpose str

    The purpose of the Inference Cluster. Options are DevTest, DenseProd and FastProd. If used for Development or Testing, use DevTest here. Default purpose is FastProd, which is recommended for production workloads. Changing this forces a new Machine Learning Inference Cluster to be created.

    NOTE: When creating or attaching a cluster, if the cluster will be used for production (cluster_purpose = "FastProd"), then it must contain at least 12 virtual CPUs. The number of virtual CPUs can be calculated by multiplying the number of nodes in the cluster by the number of cores provided by the VM size selected. For example, if you use a VM size of "Standard_D3_v2", which has 4 virtual cores, then you should select 3 or greater as the number of nodes.

    description str
    The description of the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    identity InferenceClusterIdentityArgs
    An identity block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    kubernetes_cluster_id str
    The ID of the Kubernetes Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    location str
    The Azure Region where the Machine Learning Inference Cluster should exist. Changing this forces a new Machine Learning Inference Cluster to be created.
    machine_learning_workspace_id str
    The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Inference Cluster to be created.
    name str
    The name which should be used for this Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    ssl InferenceClusterSslArgs
    A ssl block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    tags Mapping[str, str]
    A mapping of tags which should be assigned to the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    clusterPurpose String

    The purpose of the Inference Cluster. Options are DevTest, DenseProd and FastProd. If used for Development or Testing, use DevTest here. Default purpose is FastProd, which is recommended for production workloads. Changing this forces a new Machine Learning Inference Cluster to be created.

    NOTE: When creating or attaching a cluster, if the cluster will be used for production (cluster_purpose = "FastProd"), then it must contain at least 12 virtual CPUs. The number of virtual CPUs can be calculated by multiplying the number of nodes in the cluster by the number of cores provided by the VM size selected. For example, if you use a VM size of "Standard_D3_v2", which has 4 virtual cores, then you should select 3 or greater as the number of nodes.

    description String
    The description of the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    identity Property Map
    An identity block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    kubernetesClusterId String
    The ID of the Kubernetes Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    location String
    The Azure Region where the Machine Learning Inference Cluster should exist. Changing this forces a new Machine Learning Inference Cluster to be created.
    machineLearningWorkspaceId String
    The ID of the Machine Learning Workspace. Changing this forces a new Machine Learning Inference Cluster to be created.
    name String
    The name which should be used for this Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.
    ssl Property Map
    A ssl block as defined below. Changing this forces a new Machine Learning Inference Cluster to be created.
    tags Map<String>
    A mapping of tags which should be assigned to the Machine Learning Inference Cluster. Changing this forces a new Machine Learning Inference Cluster to be created.

    Supporting Types

    InferenceClusterIdentity, InferenceClusterIdentityArgs

    Type string
    Specifies the type of Managed Service Identity that should be configured on this Machine Learning Inference Cluster. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). Changing this forces a new resource to be created.
    IdentityIds List<string>

    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Machine Learning Inference Cluster. Changing this forces a new resource to be created.

    NOTE: This is required when type is set to UserAssigned or SystemAssigned, UserAssigned.

    PrincipalId string
    The Principal ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Inference Cluster.
    TenantId string
    The Tenant ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Inference Cluster.
    Type string
    Specifies the type of Managed Service Identity that should be configured on this Machine Learning Inference Cluster. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). Changing this forces a new resource to be created.
    IdentityIds []string

    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Machine Learning Inference Cluster. Changing this forces a new resource to be created.

    NOTE: This is required when type is set to UserAssigned or SystemAssigned, UserAssigned.

    PrincipalId string
    The Principal ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Inference Cluster.
    TenantId string
    The Tenant ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Inference Cluster.
    type String
    Specifies the type of Managed Service Identity that should be configured on this Machine Learning Inference Cluster. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). Changing this forces a new resource to be created.
    identityIds List<String>

    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Machine Learning Inference Cluster. Changing this forces a new resource to be created.

    NOTE: This is required when type is set to UserAssigned or SystemAssigned, UserAssigned.

    principalId String
    The Principal ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Inference Cluster.
    tenantId String
    The Tenant ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Inference Cluster.
    type string
    Specifies the type of Managed Service Identity that should be configured on this Machine Learning Inference Cluster. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). Changing this forces a new resource to be created.
    identityIds string[]

    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Machine Learning Inference Cluster. Changing this forces a new resource to be created.

    NOTE: This is required when type is set to UserAssigned or SystemAssigned, UserAssigned.

    principalId string
    The Principal ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Inference Cluster.
    tenantId string
    The Tenant ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Inference Cluster.
    type str
    Specifies the type of Managed Service Identity that should be configured on this Machine Learning Inference Cluster. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). Changing this forces a new resource to be created.
    identity_ids Sequence[str]

    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Machine Learning Inference Cluster. Changing this forces a new resource to be created.

    NOTE: This is required when type is set to UserAssigned or SystemAssigned, UserAssigned.

    principal_id str
    The Principal ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Inference Cluster.
    tenant_id str
    The Tenant ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Inference Cluster.
    type String
    Specifies the type of Managed Service Identity that should be configured on this Machine Learning Inference Cluster. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both). Changing this forces a new resource to be created.
    identityIds List<String>

    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Machine Learning Inference Cluster. Changing this forces a new resource to be created.

    NOTE: This is required when type is set to UserAssigned or SystemAssigned, UserAssigned.

    principalId String
    The Principal ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Inference Cluster.
    tenantId String
    The Tenant ID for the Service Principal associated with the Managed Service Identity of this Machine Learning Inference Cluster.

    InferenceClusterSsl, InferenceClusterSslArgs

    Cert string
    The certificate for the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    Cname string
    The cname of the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    Key string
    The key content for the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    LeafDomainLabel string
    The leaf domain label for the SSL configuration. Conflicts with ssl[0].cert,ssl[0].key,ssl[0].cname. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    OverwriteExistingDomain bool
    Whether or not to overwrite existing leaf domain. Conflicts with ssl[0].cert,ssl[0].key,ssl[0].cname Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    Cert string
    The certificate for the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    Cname string
    The cname of the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    Key string
    The key content for the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    LeafDomainLabel string
    The leaf domain label for the SSL configuration. Conflicts with ssl[0].cert,ssl[0].key,ssl[0].cname. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    OverwriteExistingDomain bool
    Whether or not to overwrite existing leaf domain. Conflicts with ssl[0].cert,ssl[0].key,ssl[0].cname Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    cert String
    The certificate for the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    cname String
    The cname of the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    key String
    The key content for the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    leafDomainLabel String
    The leaf domain label for the SSL configuration. Conflicts with ssl[0].cert,ssl[0].key,ssl[0].cname. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    overwriteExistingDomain Boolean
    Whether or not to overwrite existing leaf domain. Conflicts with ssl[0].cert,ssl[0].key,ssl[0].cname Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    cert string
    The certificate for the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    cname string
    The cname of the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    key string
    The key content for the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    leafDomainLabel string
    The leaf domain label for the SSL configuration. Conflicts with ssl[0].cert,ssl[0].key,ssl[0].cname. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    overwriteExistingDomain boolean
    Whether or not to overwrite existing leaf domain. Conflicts with ssl[0].cert,ssl[0].key,ssl[0].cname Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    cert str
    The certificate for the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    cname str
    The cname of the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    key str
    The key content for the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    leaf_domain_label str
    The leaf domain label for the SSL configuration. Conflicts with ssl[0].cert,ssl[0].key,ssl[0].cname. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    overwrite_existing_domain bool
    Whether or not to overwrite existing leaf domain. Conflicts with ssl[0].cert,ssl[0].key,ssl[0].cname Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    cert String
    The certificate for the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    cname String
    The cname of the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    key String
    The key content for the SSL configuration.Conflicts with ssl[0].leaf_domain_label,ssl[0].overwrite_existing_domain. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    leafDomainLabel String
    The leaf domain label for the SSL configuration. Conflicts with ssl[0].cert,ssl[0].key,ssl[0].cname. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".
    overwriteExistingDomain Boolean
    Whether or not to overwrite existing leaf domain. Conflicts with ssl[0].cert,ssl[0].key,ssl[0].cname Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to "".

    Import

    Machine Learning Inference Clusters can be imported using the resource id, e.g.

    $ pulumi import azure:machinelearning/inferenceCluster:InferenceCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.MachineLearningServices/workspaces/workspace1/computes/cluster1
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Azure Classic v5.72.0 published on Monday, Apr 15, 2024 by Pulumi