1. Packages
  2. Azure Classic
  3. API Docs
  4. redhatopenshift
  5. Cluster

We recommend using Azure Native.

Azure v6.10.0 published on Tuesday, Nov 19, 2024 by Pulumi

azure.redhatopenshift.Cluster

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure v6.10.0 published on Tuesday, Nov 19, 2024 by Pulumi

    Manages a fully managed Azure Red Hat OpenShift Cluster (also known as ARO).

    Note: All arguments including the client secret will be stored in the raw state as plain-text. Read more about sensitive data in state.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    import * as azuread from "@pulumi/azuread";
    
    const example = azure.core.getClientConfig({});
    const exampleGetClientConfig = azuread.getClientConfig({});
    const exampleApplication = new azuread.Application("example", {displayName: "example-aro"});
    const exampleServicePrincipal = new azuread.ServicePrincipal("example", {clientId: exampleApplication.clientId});
    const exampleServicePrincipalPassword = new azuread.ServicePrincipalPassword("example", {servicePrincipalId: exampleServicePrincipal.objectId});
    const redhatopenshift = azuread.getServicePrincipal({
        clientId: "f1dd0a37-89c6-4e07-bcd1-ffd3d43d8875",
    });
    const exampleResourceGroup = new azure.core.ResourceGroup("example", {
        name: "example-resources",
        location: "West US",
    });
    const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", {
        name: "example-vnet",
        addressSpaces: ["10.0.0.0/22"],
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
    });
    const roleNetwork1 = new azure.authorization.Assignment("role_network1", {
        scope: exampleVirtualNetwork.id,
        roleDefinitionName: "Network Contributor",
        principalId: exampleServicePrincipal.objectId,
    });
    const roleNetwork2 = new azure.authorization.Assignment("role_network2", {
        scope: exampleVirtualNetwork.id,
        roleDefinitionName: "Network Contributor",
        principalId: redhatopenshift.then(redhatopenshift => redhatopenshift.objectId),
    });
    const mainSubnet = new azure.network.Subnet("main_subnet", {
        name: "main-subnet",
        resourceGroupName: exampleResourceGroup.name,
        virtualNetworkName: exampleVirtualNetwork.name,
        addressPrefixes: ["10.0.0.0/23"],
        serviceEndpoints: [
            "Microsoft.Storage",
            "Microsoft.ContainerRegistry",
        ],
    });
    const workerSubnet = new azure.network.Subnet("worker_subnet", {
        name: "worker-subnet",
        resourceGroupName: exampleResourceGroup.name,
        virtualNetworkName: exampleVirtualNetwork.name,
        addressPrefixes: ["10.0.2.0/23"],
        serviceEndpoints: [
            "Microsoft.Storage",
            "Microsoft.ContainerRegistry",
        ],
    });
    const exampleCluster = new azure.redhatopenshift.Cluster("example", {
        name: "examplearo",
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        clusterProfile: {
            domain: "aro-example.com",
            version: "4.13.23",
        },
        networkProfile: {
            podCidr: "10.128.0.0/14",
            serviceCidr: "172.30.0.0/16",
        },
        mainProfile: {
            vmSize: "Standard_D8s_v3",
            subnetId: mainSubnet.id,
        },
        apiServerProfile: {
            visibility: "Public",
        },
        ingressProfile: {
            visibility: "Public",
        },
        workerProfile: {
            vmSize: "Standard_D4s_v3",
            diskSizeGb: 128,
            nodeCount: 3,
            subnetId: workerSubnet.id,
        },
        servicePrincipal: {
            clientId: exampleApplication.clientId,
            clientSecret: exampleServicePrincipalPassword.value,
        },
    }, {
        dependsOn: [
            roleNetwork1,
            roleNetwork2,
        ],
    });
    export const consoleUrl = exampleCluster.consoleUrl;
    
    import pulumi
    import pulumi_azure as azure
    import pulumi_azuread as azuread
    
    example = azure.core.get_client_config()
    example_get_client_config = azuread.get_client_config()
    example_application = azuread.Application("example", display_name="example-aro")
    example_service_principal = azuread.ServicePrincipal("example", client_id=example_application.client_id)
    example_service_principal_password = azuread.ServicePrincipalPassword("example", service_principal_id=example_service_principal.object_id)
    redhatopenshift = azuread.get_service_principal(client_id="f1dd0a37-89c6-4e07-bcd1-ffd3d43d8875")
    example_resource_group = azure.core.ResourceGroup("example",
        name="example-resources",
        location="West US")
    example_virtual_network = azure.network.VirtualNetwork("example",
        name="example-vnet",
        address_spaces=["10.0.0.0/22"],
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name)
    role_network1 = azure.authorization.Assignment("role_network1",
        scope=example_virtual_network.id,
        role_definition_name="Network Contributor",
        principal_id=example_service_principal.object_id)
    role_network2 = azure.authorization.Assignment("role_network2",
        scope=example_virtual_network.id,
        role_definition_name="Network Contributor",
        principal_id=redhatopenshift.object_id)
    main_subnet = azure.network.Subnet("main_subnet",
        name="main-subnet",
        resource_group_name=example_resource_group.name,
        virtual_network_name=example_virtual_network.name,
        address_prefixes=["10.0.0.0/23"],
        service_endpoints=[
            "Microsoft.Storage",
            "Microsoft.ContainerRegistry",
        ])
    worker_subnet = azure.network.Subnet("worker_subnet",
        name="worker-subnet",
        resource_group_name=example_resource_group.name,
        virtual_network_name=example_virtual_network.name,
        address_prefixes=["10.0.2.0/23"],
        service_endpoints=[
            "Microsoft.Storage",
            "Microsoft.ContainerRegistry",
        ])
    example_cluster = azure.redhatopenshift.Cluster("example",
        name="examplearo",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        cluster_profile={
            "domain": "aro-example.com",
            "version": "4.13.23",
        },
        network_profile={
            "pod_cidr": "10.128.0.0/14",
            "service_cidr": "172.30.0.0/16",
        },
        main_profile={
            "vm_size": "Standard_D8s_v3",
            "subnet_id": main_subnet.id,
        },
        api_server_profile={
            "visibility": "Public",
        },
        ingress_profile={
            "visibility": "Public",
        },
        worker_profile={
            "vm_size": "Standard_D4s_v3",
            "disk_size_gb": 128,
            "node_count": 3,
            "subnet_id": worker_subnet.id,
        },
        service_principal={
            "client_id": example_application.client_id,
            "client_secret": example_service_principal_password.value,
        },
        opts = pulumi.ResourceOptions(depends_on=[
                role_network1,
                role_network2,
            ]))
    pulumi.export("consoleUrl", example_cluster.console_url)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization"
    	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network"
    	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/redhatopenshift"
    	"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = azuread.GetClientConfig(ctx, map[string]interface{}{}, nil)
    		if err != nil {
    			return err
    		}
    		exampleApplication, err := azuread.NewApplication(ctx, "example", &azuread.ApplicationArgs{
    			DisplayName: pulumi.String("example-aro"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleServicePrincipal, err := azuread.NewServicePrincipal(ctx, "example", &azuread.ServicePrincipalArgs{
    			ClientId: exampleApplication.ClientId,
    		})
    		if err != nil {
    			return err
    		}
    		exampleServicePrincipalPassword, err := azuread.NewServicePrincipalPassword(ctx, "example", &azuread.ServicePrincipalPasswordArgs{
    			ServicePrincipalId: exampleServicePrincipal.ObjectId,
    		})
    		if err != nil {
    			return err
    		}
    		redhatopenshift, err := azuread.LookupServicePrincipal(ctx, &azuread.LookupServicePrincipalArgs{
    			ClientId: pulumi.StringRef("f1dd0a37-89c6-4e07-bcd1-ffd3d43d8875"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String("example-resources"),
    			Location: pulumi.String("West US"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
    			Name: pulumi.String("example-vnet"),
    			AddressSpaces: pulumi.StringArray{
    				pulumi.String("10.0.0.0/22"),
    			},
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    		})
    		if err != nil {
    			return err
    		}
    		roleNetwork1, err := authorization.NewAssignment(ctx, "role_network1", &authorization.AssignmentArgs{
    			Scope:              exampleVirtualNetwork.ID(),
    			RoleDefinitionName: pulumi.String("Network Contributor"),
    			PrincipalId:        exampleServicePrincipal.ObjectId,
    		})
    		if err != nil {
    			return err
    		}
    		roleNetwork2, err := authorization.NewAssignment(ctx, "role_network2", &authorization.AssignmentArgs{
    			Scope:              exampleVirtualNetwork.ID(),
    			RoleDefinitionName: pulumi.String("Network Contributor"),
    			PrincipalId:        pulumi.String(redhatopenshift.ObjectId),
    		})
    		if err != nil {
    			return err
    		}
    		mainSubnet, err := network.NewSubnet(ctx, "main_subnet", &network.SubnetArgs{
    			Name:               pulumi.String("main-subnet"),
    			ResourceGroupName:  exampleResourceGroup.Name,
    			VirtualNetworkName: exampleVirtualNetwork.Name,
    			AddressPrefixes: pulumi.StringArray{
    				pulumi.String("10.0.0.0/23"),
    			},
    			ServiceEndpoints: pulumi.StringArray{
    				pulumi.String("Microsoft.Storage"),
    				pulumi.String("Microsoft.ContainerRegistry"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		workerSubnet, err := network.NewSubnet(ctx, "worker_subnet", &network.SubnetArgs{
    			Name:               pulumi.String("worker-subnet"),
    			ResourceGroupName:  exampleResourceGroup.Name,
    			VirtualNetworkName: exampleVirtualNetwork.Name,
    			AddressPrefixes: pulumi.StringArray{
    				pulumi.String("10.0.2.0/23"),
    			},
    			ServiceEndpoints: pulumi.StringArray{
    				pulumi.String("Microsoft.Storage"),
    				pulumi.String("Microsoft.ContainerRegistry"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleCluster, err := redhatopenshift.NewCluster(ctx, "example", &redhatopenshift.ClusterArgs{
    			Name:              pulumi.String("examplearo"),
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			ClusterProfile: &redhatopenshift.ClusterClusterProfileArgs{
    				Domain:  pulumi.String("aro-example.com"),
    				Version: pulumi.String("4.13.23"),
    			},
    			NetworkProfile: &redhatopenshift.ClusterNetworkProfileArgs{
    				PodCidr:     pulumi.String("10.128.0.0/14"),
    				ServiceCidr: pulumi.String("172.30.0.0/16"),
    			},
    			MainProfile: &redhatopenshift.ClusterMainProfileArgs{
    				VmSize:   pulumi.String("Standard_D8s_v3"),
    				SubnetId: mainSubnet.ID(),
    			},
    			ApiServerProfile: &redhatopenshift.ClusterApiServerProfileArgs{
    				Visibility: pulumi.String("Public"),
    			},
    			IngressProfile: &redhatopenshift.ClusterIngressProfileArgs{
    				Visibility: pulumi.String("Public"),
    			},
    			WorkerProfile: &redhatopenshift.ClusterWorkerProfileArgs{
    				VmSize:     pulumi.String("Standard_D4s_v3"),
    				DiskSizeGb: pulumi.Int(128),
    				NodeCount:  pulumi.Int(3),
    				SubnetId:   workerSubnet.ID(),
    			},
    			ServicePrincipal: &redhatopenshift.ClusterServicePrincipalArgs{
    				ClientId:     exampleApplication.ClientId,
    				ClientSecret: exampleServicePrincipalPassword.Value,
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			roleNetwork1,
    			roleNetwork2,
    		}))
    		if err != nil {
    			return err
    		}
    		ctx.Export("consoleUrl", exampleCluster.ConsoleUrl)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    using AzureAD = Pulumi.AzureAD;
    
    return await Deployment.RunAsync(() => 
    {
        var example = Azure.Core.GetClientConfig.Invoke();
    
        var exampleGetClientConfig = AzureAD.GetClientConfig.Invoke();
    
        var exampleApplication = new AzureAD.Application("example", new()
        {
            DisplayName = "example-aro",
        });
    
        var exampleServicePrincipal = new AzureAD.ServicePrincipal("example", new()
        {
            ClientId = exampleApplication.ClientId,
        });
    
        var exampleServicePrincipalPassword = new AzureAD.ServicePrincipalPassword("example", new()
        {
            ServicePrincipalId = exampleServicePrincipal.ObjectId,
        });
    
        var redhatopenshift = AzureAD.GetServicePrincipal.Invoke(new()
        {
            ClientId = "f1dd0a37-89c6-4e07-bcd1-ffd3d43d8875",
        });
    
        var exampleResourceGroup = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "example-resources",
            Location = "West US",
        });
    
        var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
        {
            Name = "example-vnet",
            AddressSpaces = new[]
            {
                "10.0.0.0/22",
            },
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
        });
    
        var roleNetwork1 = new Azure.Authorization.Assignment("role_network1", new()
        {
            Scope = exampleVirtualNetwork.Id,
            RoleDefinitionName = "Network Contributor",
            PrincipalId = exampleServicePrincipal.ObjectId,
        });
    
        var roleNetwork2 = new Azure.Authorization.Assignment("role_network2", new()
        {
            Scope = exampleVirtualNetwork.Id,
            RoleDefinitionName = "Network Contributor",
            PrincipalId = redhatopenshift.Apply(getServicePrincipalResult => getServicePrincipalResult.ObjectId),
        });
    
        var mainSubnet = new Azure.Network.Subnet("main_subnet", new()
        {
            Name = "main-subnet",
            ResourceGroupName = exampleResourceGroup.Name,
            VirtualNetworkName = exampleVirtualNetwork.Name,
            AddressPrefixes = new[]
            {
                "10.0.0.0/23",
            },
            ServiceEndpoints = new[]
            {
                "Microsoft.Storage",
                "Microsoft.ContainerRegistry",
            },
        });
    
        var workerSubnet = new Azure.Network.Subnet("worker_subnet", new()
        {
            Name = "worker-subnet",
            ResourceGroupName = exampleResourceGroup.Name,
            VirtualNetworkName = exampleVirtualNetwork.Name,
            AddressPrefixes = new[]
            {
                "10.0.2.0/23",
            },
            ServiceEndpoints = new[]
            {
                "Microsoft.Storage",
                "Microsoft.ContainerRegistry",
            },
        });
    
        var exampleCluster = new Azure.RedHatOpenShift.Cluster("example", new()
        {
            Name = "examplearo",
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            ClusterProfile = new Azure.RedHatOpenShift.Inputs.ClusterClusterProfileArgs
            {
                Domain = "aro-example.com",
                Version = "4.13.23",
            },
            NetworkProfile = new Azure.RedHatOpenShift.Inputs.ClusterNetworkProfileArgs
            {
                PodCidr = "10.128.0.0/14",
                ServiceCidr = "172.30.0.0/16",
            },
            MainProfile = new Azure.RedHatOpenShift.Inputs.ClusterMainProfileArgs
            {
                VmSize = "Standard_D8s_v3",
                SubnetId = mainSubnet.Id,
            },
            ApiServerProfile = new Azure.RedHatOpenShift.Inputs.ClusterApiServerProfileArgs
            {
                Visibility = "Public",
            },
            IngressProfile = new Azure.RedHatOpenShift.Inputs.ClusterIngressProfileArgs
            {
                Visibility = "Public",
            },
            WorkerProfile = new Azure.RedHatOpenShift.Inputs.ClusterWorkerProfileArgs
            {
                VmSize = "Standard_D4s_v3",
                DiskSizeGb = 128,
                NodeCount = 3,
                SubnetId = workerSubnet.Id,
            },
            ServicePrincipal = new Azure.RedHatOpenShift.Inputs.ClusterServicePrincipalArgs
            {
                ClientId = exampleApplication.ClientId,
                ClientSecret = exampleServicePrincipalPassword.Value,
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                roleNetwork1,
                roleNetwork2,
            },
        });
    
        return new Dictionary<string, object?>
        {
            ["consoleUrl"] = exampleCluster.ConsoleUrl,
        };
    });
    
    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.azuread.AzureadFunctions;
    import com.pulumi.azuread.Application;
    import com.pulumi.azuread.ApplicationArgs;
    import com.pulumi.azuread.ServicePrincipal;
    import com.pulumi.azuread.ServicePrincipalArgs;
    import com.pulumi.azuread.ServicePrincipalPassword;
    import com.pulumi.azuread.ServicePrincipalPasswordArgs;
    import com.pulumi.azuread.inputs.GetServicePrincipalArgs;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.network.VirtualNetwork;
    import com.pulumi.azure.network.VirtualNetworkArgs;
    import com.pulumi.azure.authorization.Assignment;
    import com.pulumi.azure.authorization.AssignmentArgs;
    import com.pulumi.azure.network.Subnet;
    import com.pulumi.azure.network.SubnetArgs;
    import com.pulumi.azure.redhatopenshift.Cluster;
    import com.pulumi.azure.redhatopenshift.ClusterArgs;
    import com.pulumi.azure.redhatopenshift.inputs.ClusterClusterProfileArgs;
    import com.pulumi.azure.redhatopenshift.inputs.ClusterNetworkProfileArgs;
    import com.pulumi.azure.redhatopenshift.inputs.ClusterMainProfileArgs;
    import com.pulumi.azure.redhatopenshift.inputs.ClusterApiServerProfileArgs;
    import com.pulumi.azure.redhatopenshift.inputs.ClusterIngressProfileArgs;
    import com.pulumi.azure.redhatopenshift.inputs.ClusterWorkerProfileArgs;
    import com.pulumi.azure.redhatopenshift.inputs.ClusterServicePrincipalArgs;
    import com.pulumi.resources.CustomResourceOptions;
    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 example = CoreFunctions.getClientConfig();
    
            final var exampleGetClientConfig = AzureadFunctions.getClientConfig();
    
            var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder()
                .displayName("example-aro")
                .build());
    
            var exampleServicePrincipal = new ServicePrincipal("exampleServicePrincipal", ServicePrincipalArgs.builder()
                .clientId(exampleApplication.clientId())
                .build());
    
            var exampleServicePrincipalPassword = new ServicePrincipalPassword("exampleServicePrincipalPassword", ServicePrincipalPasswordArgs.builder()
                .servicePrincipalId(exampleServicePrincipal.objectId())
                .build());
    
            final var redhatopenshift = AzureadFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
                .clientId("f1dd0a37-89c6-4e07-bcd1-ffd3d43d8875")
                .build());
    
            var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
                .name("example-resources")
                .location("West US")
                .build());
    
            var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
                .name("example-vnet")
                .addressSpaces("10.0.0.0/22")
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .build());
    
            var roleNetwork1 = new Assignment("roleNetwork1", AssignmentArgs.builder()
                .scope(exampleVirtualNetwork.id())
                .roleDefinitionName("Network Contributor")
                .principalId(exampleServicePrincipal.objectId())
                .build());
    
            var roleNetwork2 = new Assignment("roleNetwork2", AssignmentArgs.builder()
                .scope(exampleVirtualNetwork.id())
                .roleDefinitionName("Network Contributor")
                .principalId(redhatopenshift.applyValue(getServicePrincipalResult -> getServicePrincipalResult.objectId()))
                .build());
    
            var mainSubnet = new Subnet("mainSubnet", SubnetArgs.builder()
                .name("main-subnet")
                .resourceGroupName(exampleResourceGroup.name())
                .virtualNetworkName(exampleVirtualNetwork.name())
                .addressPrefixes("10.0.0.0/23")
                .serviceEndpoints(            
                    "Microsoft.Storage",
                    "Microsoft.ContainerRegistry")
                .build());
    
            var workerSubnet = new Subnet("workerSubnet", SubnetArgs.builder()
                .name("worker-subnet")
                .resourceGroupName(exampleResourceGroup.name())
                .virtualNetworkName(exampleVirtualNetwork.name())
                .addressPrefixes("10.0.2.0/23")
                .serviceEndpoints(            
                    "Microsoft.Storage",
                    "Microsoft.ContainerRegistry")
                .build());
    
            var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder()
                .name("examplearo")
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .clusterProfile(ClusterClusterProfileArgs.builder()
                    .domain("aro-example.com")
                    .version("4.13.23")
                    .build())
                .networkProfile(ClusterNetworkProfileArgs.builder()
                    .podCidr("10.128.0.0/14")
                    .serviceCidr("172.30.0.0/16")
                    .build())
                .mainProfile(ClusterMainProfileArgs.builder()
                    .vmSize("Standard_D8s_v3")
                    .subnetId(mainSubnet.id())
                    .build())
                .apiServerProfile(ClusterApiServerProfileArgs.builder()
                    .visibility("Public")
                    .build())
                .ingressProfile(ClusterIngressProfileArgs.builder()
                    .visibility("Public")
                    .build())
                .workerProfile(ClusterWorkerProfileArgs.builder()
                    .vmSize("Standard_D4s_v3")
                    .diskSizeGb(128)
                    .nodeCount(3)
                    .subnetId(workerSubnet.id())
                    .build())
                .servicePrincipal(ClusterServicePrincipalArgs.builder()
                    .clientId(exampleApplication.clientId())
                    .clientSecret(exampleServicePrincipalPassword.value())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        roleNetwork1,
                        roleNetwork2)
                    .build());
    
            ctx.export("consoleUrl", exampleCluster.consoleUrl());
        }
    }
    
    resources:
      exampleApplication:
        type: azuread:Application
        name: example
        properties:
          displayName: example-aro
      exampleServicePrincipal:
        type: azuread:ServicePrincipal
        name: example
        properties:
          clientId: ${exampleApplication.clientId}
      exampleServicePrincipalPassword:
        type: azuread:ServicePrincipalPassword
        name: example
        properties:
          servicePrincipalId: ${exampleServicePrincipal.objectId}
      roleNetwork1:
        type: azure:authorization:Assignment
        name: role_network1
        properties:
          scope: ${exampleVirtualNetwork.id}
          roleDefinitionName: Network Contributor
          principalId: ${exampleServicePrincipal.objectId}
      roleNetwork2:
        type: azure:authorization:Assignment
        name: role_network2
        properties:
          scope: ${exampleVirtualNetwork.id}
          roleDefinitionName: Network Contributor
          principalId: ${redhatopenshift.objectId}
      exampleResourceGroup:
        type: azure:core:ResourceGroup
        name: example
        properties:
          name: example-resources
          location: West US
      exampleVirtualNetwork:
        type: azure:network:VirtualNetwork
        name: example
        properties:
          name: example-vnet
          addressSpaces:
            - 10.0.0.0/22
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
      mainSubnet:
        type: azure:network:Subnet
        name: main_subnet
        properties:
          name: main-subnet
          resourceGroupName: ${exampleResourceGroup.name}
          virtualNetworkName: ${exampleVirtualNetwork.name}
          addressPrefixes:
            - 10.0.0.0/23
          serviceEndpoints:
            - Microsoft.Storage
            - Microsoft.ContainerRegistry
      workerSubnet:
        type: azure:network:Subnet
        name: worker_subnet
        properties:
          name: worker-subnet
          resourceGroupName: ${exampleResourceGroup.name}
          virtualNetworkName: ${exampleVirtualNetwork.name}
          addressPrefixes:
            - 10.0.2.0/23
          serviceEndpoints:
            - Microsoft.Storage
            - Microsoft.ContainerRegistry
      exampleCluster:
        type: azure:redhatopenshift:Cluster
        name: example
        properties:
          name: examplearo
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          clusterProfile:
            domain: aro-example.com
            version: 4.13.23
          networkProfile:
            podCidr: 10.128.0.0/14
            serviceCidr: 172.30.0.0/16
          mainProfile:
            vmSize: Standard_D8s_v3
            subnetId: ${mainSubnet.id}
          apiServerProfile:
            visibility: Public
          ingressProfile:
            visibility: Public
          workerProfile:
            vmSize: Standard_D4s_v3
            diskSizeGb: 128
            nodeCount: 3
            subnetId: ${workerSubnet.id}
          servicePrincipal:
            clientId: ${exampleApplication.clientId}
            clientSecret: ${exampleServicePrincipalPassword.value}
        options:
          dependson:
            - ${roleNetwork1}
            - ${roleNetwork2}
    variables:
      example:
        fn::invoke:
          Function: azure:core:getClientConfig
          Arguments: {}
      exampleGetClientConfig:
        fn::invoke:
          Function: azuread:getClientConfig
          Arguments: {}
      redhatopenshift:
        fn::invoke:
          Function: azuread:getServicePrincipal
          Arguments:
            clientId: f1dd0a37-89c6-4e07-bcd1-ffd3d43d8875
    outputs:
      consoleUrl: ${exampleCluster.consoleUrl}
    

    Create Cluster Resource

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

    Constructor syntax

    new Cluster(name: string, args: ClusterArgs, opts?: CustomResourceOptions);
    @overload
    def Cluster(resource_name: str,
                args: ClusterArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Cluster(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                api_server_profile: Optional[ClusterApiServerProfileArgs] = None,
                cluster_profile: Optional[ClusterClusterProfileArgs] = None,
                ingress_profile: Optional[ClusterIngressProfileArgs] = None,
                main_profile: Optional[ClusterMainProfileArgs] = None,
                network_profile: Optional[ClusterNetworkProfileArgs] = None,
                resource_group_name: Optional[str] = None,
                service_principal: Optional[ClusterServicePrincipalArgs] = None,
                worker_profile: Optional[ClusterWorkerProfileArgs] = None,
                location: Optional[str] = None,
                name: Optional[str] = None,
                tags: Optional[Mapping[str, str]] = None)
    func NewCluster(ctx *Context, name string, args ClusterArgs, opts ...ResourceOption) (*Cluster, error)
    public Cluster(string name, ClusterArgs args, CustomResourceOptions? opts = null)
    public Cluster(String name, ClusterArgs args)
    public Cluster(String name, ClusterArgs args, CustomResourceOptions options)
    
    type: azure:redhatopenshift:Cluster
    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 ClusterArgs
    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 ClusterArgs
    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 ClusterArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

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

    var exampleclusterResourceResourceFromRedhatopenshiftcluster = new Azure.RedHatOpenShift.Cluster("exampleclusterResourceResourceFromRedhatopenshiftcluster", new()
    {
        ApiServerProfile = new Azure.RedHatOpenShift.Inputs.ClusterApiServerProfileArgs
        {
            Visibility = "string",
            IpAddress = "string",
            Url = "string",
        },
        ClusterProfile = new Azure.RedHatOpenShift.Inputs.ClusterClusterProfileArgs
        {
            Domain = "string",
            Version = "string",
            FipsEnabled = false,
            ManagedResourceGroupName = "string",
            PullSecret = "string",
            ResourceGroupId = "string",
        },
        IngressProfile = new Azure.RedHatOpenShift.Inputs.ClusterIngressProfileArgs
        {
            Visibility = "string",
            IpAddress = "string",
            Name = "string",
        },
        MainProfile = new Azure.RedHatOpenShift.Inputs.ClusterMainProfileArgs
        {
            SubnetId = "string",
            VmSize = "string",
            DiskEncryptionSetId = "string",
            EncryptionAtHostEnabled = false,
        },
        NetworkProfile = new Azure.RedHatOpenShift.Inputs.ClusterNetworkProfileArgs
        {
            PodCidr = "string",
            ServiceCidr = "string",
            OutboundType = "string",
            PreconfiguredNetworkSecurityGroupEnabled = false,
        },
        ResourceGroupName = "string",
        ServicePrincipal = new Azure.RedHatOpenShift.Inputs.ClusterServicePrincipalArgs
        {
            ClientId = "string",
            ClientSecret = "string",
        },
        WorkerProfile = new Azure.RedHatOpenShift.Inputs.ClusterWorkerProfileArgs
        {
            DiskSizeGb = 0,
            NodeCount = 0,
            SubnetId = "string",
            VmSize = "string",
            DiskEncryptionSetId = "string",
            EncryptionAtHostEnabled = false,
        },
        Location = "string",
        Name = "string",
        Tags = 
        {
            { "string", "string" },
        },
    });
    
    example, err := redhatopenshift.NewCluster(ctx, "exampleclusterResourceResourceFromRedhatopenshiftcluster", &redhatopenshift.ClusterArgs{
    	ApiServerProfile: &redhatopenshift.ClusterApiServerProfileArgs{
    		Visibility: pulumi.String("string"),
    		IpAddress:  pulumi.String("string"),
    		Url:        pulumi.String("string"),
    	},
    	ClusterProfile: &redhatopenshift.ClusterClusterProfileArgs{
    		Domain:                   pulumi.String("string"),
    		Version:                  pulumi.String("string"),
    		FipsEnabled:              pulumi.Bool(false),
    		ManagedResourceGroupName: pulumi.String("string"),
    		PullSecret:               pulumi.String("string"),
    		ResourceGroupId:          pulumi.String("string"),
    	},
    	IngressProfile: &redhatopenshift.ClusterIngressProfileArgs{
    		Visibility: pulumi.String("string"),
    		IpAddress:  pulumi.String("string"),
    		Name:       pulumi.String("string"),
    	},
    	MainProfile: &redhatopenshift.ClusterMainProfileArgs{
    		SubnetId:                pulumi.String("string"),
    		VmSize:                  pulumi.String("string"),
    		DiskEncryptionSetId:     pulumi.String("string"),
    		EncryptionAtHostEnabled: pulumi.Bool(false),
    	},
    	NetworkProfile: &redhatopenshift.ClusterNetworkProfileArgs{
    		PodCidr:                                  pulumi.String("string"),
    		ServiceCidr:                              pulumi.String("string"),
    		OutboundType:                             pulumi.String("string"),
    		PreconfiguredNetworkSecurityGroupEnabled: pulumi.Bool(false),
    	},
    	ResourceGroupName: pulumi.String("string"),
    	ServicePrincipal: &redhatopenshift.ClusterServicePrincipalArgs{
    		ClientId:     pulumi.String("string"),
    		ClientSecret: pulumi.String("string"),
    	},
    	WorkerProfile: &redhatopenshift.ClusterWorkerProfileArgs{
    		DiskSizeGb:              pulumi.Int(0),
    		NodeCount:               pulumi.Int(0),
    		SubnetId:                pulumi.String("string"),
    		VmSize:                  pulumi.String("string"),
    		DiskEncryptionSetId:     pulumi.String("string"),
    		EncryptionAtHostEnabled: pulumi.Bool(false),
    	},
    	Location: pulumi.String("string"),
    	Name:     pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var exampleclusterResourceResourceFromRedhatopenshiftcluster = new Cluster("exampleclusterResourceResourceFromRedhatopenshiftcluster", ClusterArgs.builder()
        .apiServerProfile(ClusterApiServerProfileArgs.builder()
            .visibility("string")
            .ipAddress("string")
            .url("string")
            .build())
        .clusterProfile(ClusterClusterProfileArgs.builder()
            .domain("string")
            .version("string")
            .fipsEnabled(false)
            .managedResourceGroupName("string")
            .pullSecret("string")
            .resourceGroupId("string")
            .build())
        .ingressProfile(ClusterIngressProfileArgs.builder()
            .visibility("string")
            .ipAddress("string")
            .name("string")
            .build())
        .mainProfile(ClusterMainProfileArgs.builder()
            .subnetId("string")
            .vmSize("string")
            .diskEncryptionSetId("string")
            .encryptionAtHostEnabled(false)
            .build())
        .networkProfile(ClusterNetworkProfileArgs.builder()
            .podCidr("string")
            .serviceCidr("string")
            .outboundType("string")
            .preconfiguredNetworkSecurityGroupEnabled(false)
            .build())
        .resourceGroupName("string")
        .servicePrincipal(ClusterServicePrincipalArgs.builder()
            .clientId("string")
            .clientSecret("string")
            .build())
        .workerProfile(ClusterWorkerProfileArgs.builder()
            .diskSizeGb(0)
            .nodeCount(0)
            .subnetId("string")
            .vmSize("string")
            .diskEncryptionSetId("string")
            .encryptionAtHostEnabled(false)
            .build())
        .location("string")
        .name("string")
        .tags(Map.of("string", "string"))
        .build());
    
    examplecluster_resource_resource_from_redhatopenshiftcluster = azure.redhatopenshift.Cluster("exampleclusterResourceResourceFromRedhatopenshiftcluster",
        api_server_profile={
            "visibility": "string",
            "ip_address": "string",
            "url": "string",
        },
        cluster_profile={
            "domain": "string",
            "version": "string",
            "fips_enabled": False,
            "managed_resource_group_name": "string",
            "pull_secret": "string",
            "resource_group_id": "string",
        },
        ingress_profile={
            "visibility": "string",
            "ip_address": "string",
            "name": "string",
        },
        main_profile={
            "subnet_id": "string",
            "vm_size": "string",
            "disk_encryption_set_id": "string",
            "encryption_at_host_enabled": False,
        },
        network_profile={
            "pod_cidr": "string",
            "service_cidr": "string",
            "outbound_type": "string",
            "preconfigured_network_security_group_enabled": False,
        },
        resource_group_name="string",
        service_principal={
            "client_id": "string",
            "client_secret": "string",
        },
        worker_profile={
            "disk_size_gb": 0,
            "node_count": 0,
            "subnet_id": "string",
            "vm_size": "string",
            "disk_encryption_set_id": "string",
            "encryption_at_host_enabled": False,
        },
        location="string",
        name="string",
        tags={
            "string": "string",
        })
    
    const exampleclusterResourceResourceFromRedhatopenshiftcluster = new azure.redhatopenshift.Cluster("exampleclusterResourceResourceFromRedhatopenshiftcluster", {
        apiServerProfile: {
            visibility: "string",
            ipAddress: "string",
            url: "string",
        },
        clusterProfile: {
            domain: "string",
            version: "string",
            fipsEnabled: false,
            managedResourceGroupName: "string",
            pullSecret: "string",
            resourceGroupId: "string",
        },
        ingressProfile: {
            visibility: "string",
            ipAddress: "string",
            name: "string",
        },
        mainProfile: {
            subnetId: "string",
            vmSize: "string",
            diskEncryptionSetId: "string",
            encryptionAtHostEnabled: false,
        },
        networkProfile: {
            podCidr: "string",
            serviceCidr: "string",
            outboundType: "string",
            preconfiguredNetworkSecurityGroupEnabled: false,
        },
        resourceGroupName: "string",
        servicePrincipal: {
            clientId: "string",
            clientSecret: "string",
        },
        workerProfile: {
            diskSizeGb: 0,
            nodeCount: 0,
            subnetId: "string",
            vmSize: "string",
            diskEncryptionSetId: "string",
            encryptionAtHostEnabled: false,
        },
        location: "string",
        name: "string",
        tags: {
            string: "string",
        },
    });
    
    type: azure:redhatopenshift:Cluster
    properties:
        apiServerProfile:
            ipAddress: string
            url: string
            visibility: string
        clusterProfile:
            domain: string
            fipsEnabled: false
            managedResourceGroupName: string
            pullSecret: string
            resourceGroupId: string
            version: string
        ingressProfile:
            ipAddress: string
            name: string
            visibility: string
        location: string
        mainProfile:
            diskEncryptionSetId: string
            encryptionAtHostEnabled: false
            subnetId: string
            vmSize: string
        name: string
        networkProfile:
            outboundType: string
            podCidr: string
            preconfiguredNetworkSecurityGroupEnabled: false
            serviceCidr: string
        resourceGroupName: string
        servicePrincipal:
            clientId: string
            clientSecret: string
        tags:
            string: string
        workerProfile:
            diskEncryptionSetId: string
            diskSizeGb: 0
            encryptionAtHostEnabled: false
            nodeCount: 0
            subnetId: string
            vmSize: string
    

    Cluster Resource Properties

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

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Cluster resource accepts the following input properties:

    ApiServerProfile ClusterApiServerProfile
    An api_server_profile block as defined below. Changing this forces a new resource to be created.
    ClusterProfile ClusterClusterProfile
    A cluster_profile block as defined below. Changing this forces a new resource to be created.
    IngressProfile ClusterIngressProfile
    An ingress_profile block as defined below. Changing this forces a new resource to be created.
    MainProfile ClusterMainProfile
    A main_profile block as defined below. Changing this forces a new resource to be created.
    NetworkProfile ClusterNetworkProfile
    A network_profile block as defined below. Changing this forces a new resource to be created.
    ResourceGroupName string
    Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.
    ServicePrincipal ClusterServicePrincipal
    A service_principal block as defined below.
    WorkerProfile ClusterWorkerProfile
    A worker_profile block as defined below. Changing this forces a new resource to be created.
    Location string
    The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.
    Name string
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    ApiServerProfile ClusterApiServerProfileArgs
    An api_server_profile block as defined below. Changing this forces a new resource to be created.
    ClusterProfile ClusterClusterProfileArgs
    A cluster_profile block as defined below. Changing this forces a new resource to be created.
    IngressProfile ClusterIngressProfileArgs
    An ingress_profile block as defined below. Changing this forces a new resource to be created.
    MainProfile ClusterMainProfileArgs
    A main_profile block as defined below. Changing this forces a new resource to be created.
    NetworkProfile ClusterNetworkProfileArgs
    A network_profile block as defined below. Changing this forces a new resource to be created.
    ResourceGroupName string
    Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.
    ServicePrincipal ClusterServicePrincipalArgs
    A service_principal block as defined below.
    WorkerProfile ClusterWorkerProfileArgs
    A worker_profile block as defined below. Changing this forces a new resource to be created.
    Location string
    The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.
    Name string
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    apiServerProfile ClusterApiServerProfile
    An api_server_profile block as defined below. Changing this forces a new resource to be created.
    clusterProfile ClusterClusterProfile
    A cluster_profile block as defined below. Changing this forces a new resource to be created.
    ingressProfile ClusterIngressProfile
    An ingress_profile block as defined below. Changing this forces a new resource to be created.
    mainProfile ClusterMainProfile
    A main_profile block as defined below. Changing this forces a new resource to be created.
    networkProfile ClusterNetworkProfile
    A network_profile block as defined below. Changing this forces a new resource to be created.
    resourceGroupName String
    Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.
    servicePrincipal ClusterServicePrincipal
    A service_principal block as defined below.
    workerProfile ClusterWorkerProfile
    A worker_profile block as defined below. Changing this forces a new resource to be created.
    location String
    The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.
    name String
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    apiServerProfile ClusterApiServerProfile
    An api_server_profile block as defined below. Changing this forces a new resource to be created.
    clusterProfile ClusterClusterProfile
    A cluster_profile block as defined below. Changing this forces a new resource to be created.
    ingressProfile ClusterIngressProfile
    An ingress_profile block as defined below. Changing this forces a new resource to be created.
    mainProfile ClusterMainProfile
    A main_profile block as defined below. Changing this forces a new resource to be created.
    networkProfile ClusterNetworkProfile
    A network_profile block as defined below. Changing this forces a new resource to be created.
    resourceGroupName string
    Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.
    servicePrincipal ClusterServicePrincipal
    A service_principal block as defined below.
    workerProfile ClusterWorkerProfile
    A worker_profile block as defined below. Changing this forces a new resource to be created.
    location string
    The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.
    name string
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    api_server_profile ClusterApiServerProfileArgs
    An api_server_profile block as defined below. Changing this forces a new resource to be created.
    cluster_profile ClusterClusterProfileArgs
    A cluster_profile block as defined below. Changing this forces a new resource to be created.
    ingress_profile ClusterIngressProfileArgs
    An ingress_profile block as defined below. Changing this forces a new resource to be created.
    main_profile ClusterMainProfileArgs
    A main_profile block as defined below. Changing this forces a new resource to be created.
    network_profile ClusterNetworkProfileArgs
    A network_profile block as defined below. Changing this forces a new resource to be created.
    resource_group_name str
    Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.
    service_principal ClusterServicePrincipalArgs
    A service_principal block as defined below.
    worker_profile ClusterWorkerProfileArgs
    A worker_profile block as defined below. Changing this forces a new resource to be created.
    location str
    The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.
    name str
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    apiServerProfile Property Map
    An api_server_profile block as defined below. Changing this forces a new resource to be created.
    clusterProfile Property Map
    A cluster_profile block as defined below. Changing this forces a new resource to be created.
    ingressProfile Property Map
    An ingress_profile block as defined below. Changing this forces a new resource to be created.
    mainProfile Property Map
    A main_profile block as defined below. Changing this forces a new resource to be created.
    networkProfile Property Map
    A network_profile block as defined below. Changing this forces a new resource to be created.
    resourceGroupName String
    Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.
    servicePrincipal Property Map
    A service_principal block as defined below.
    workerProfile Property Map
    A worker_profile block as defined below. Changing this forces a new resource to be created.
    location String
    The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.
    name String
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    tags Map<String>
    A mapping of tags to assign to the resource.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Cluster resource produces the following output properties:

    ConsoleUrl string
    The Red Hat OpenShift cluster console URL.
    Id string
    The provider-assigned unique ID for this managed resource.
    ConsoleUrl string
    The Red Hat OpenShift cluster console URL.
    Id string
    The provider-assigned unique ID for this managed resource.
    consoleUrl String
    The Red Hat OpenShift cluster console URL.
    id String
    The provider-assigned unique ID for this managed resource.
    consoleUrl string
    The Red Hat OpenShift cluster console URL.
    id string
    The provider-assigned unique ID for this managed resource.
    console_url str
    The Red Hat OpenShift cluster console URL.
    id str
    The provider-assigned unique ID for this managed resource.
    consoleUrl String
    The Red Hat OpenShift cluster console URL.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing Cluster Resource

    Get an existing Cluster 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?: ClusterState, opts?: CustomResourceOptions): Cluster
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            api_server_profile: Optional[ClusterApiServerProfileArgs] = None,
            cluster_profile: Optional[ClusterClusterProfileArgs] = None,
            console_url: Optional[str] = None,
            ingress_profile: Optional[ClusterIngressProfileArgs] = None,
            location: Optional[str] = None,
            main_profile: Optional[ClusterMainProfileArgs] = None,
            name: Optional[str] = None,
            network_profile: Optional[ClusterNetworkProfileArgs] = None,
            resource_group_name: Optional[str] = None,
            service_principal: Optional[ClusterServicePrincipalArgs] = None,
            tags: Optional[Mapping[str, str]] = None,
            worker_profile: Optional[ClusterWorkerProfileArgs] = None) -> Cluster
    func GetCluster(ctx *Context, name string, id IDInput, state *ClusterState, opts ...ResourceOption) (*Cluster, error)
    public static Cluster Get(string name, Input<string> id, ClusterState? state, CustomResourceOptions? opts = null)
    public static Cluster get(String name, Output<String> id, ClusterState 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:
    ApiServerProfile ClusterApiServerProfile
    An api_server_profile block as defined below. Changing this forces a new resource to be created.
    ClusterProfile ClusterClusterProfile
    A cluster_profile block as defined below. Changing this forces a new resource to be created.
    ConsoleUrl string
    The Red Hat OpenShift cluster console URL.
    IngressProfile ClusterIngressProfile
    An ingress_profile block as defined below. Changing this forces a new resource to be created.
    Location string
    The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.
    MainProfile ClusterMainProfile
    A main_profile block as defined below. Changing this forces a new resource to be created.
    Name string
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    NetworkProfile ClusterNetworkProfile
    A network_profile block as defined below. Changing this forces a new resource to be created.
    ResourceGroupName string
    Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.
    ServicePrincipal ClusterServicePrincipal
    A service_principal block as defined below.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    WorkerProfile ClusterWorkerProfile
    A worker_profile block as defined below. Changing this forces a new resource to be created.
    ApiServerProfile ClusterApiServerProfileArgs
    An api_server_profile block as defined below. Changing this forces a new resource to be created.
    ClusterProfile ClusterClusterProfileArgs
    A cluster_profile block as defined below. Changing this forces a new resource to be created.
    ConsoleUrl string
    The Red Hat OpenShift cluster console URL.
    IngressProfile ClusterIngressProfileArgs
    An ingress_profile block as defined below. Changing this forces a new resource to be created.
    Location string
    The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.
    MainProfile ClusterMainProfileArgs
    A main_profile block as defined below. Changing this forces a new resource to be created.
    Name string
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    NetworkProfile ClusterNetworkProfileArgs
    A network_profile block as defined below. Changing this forces a new resource to be created.
    ResourceGroupName string
    Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.
    ServicePrincipal ClusterServicePrincipalArgs
    A service_principal block as defined below.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    WorkerProfile ClusterWorkerProfileArgs
    A worker_profile block as defined below. Changing this forces a new resource to be created.
    apiServerProfile ClusterApiServerProfile
    An api_server_profile block as defined below. Changing this forces a new resource to be created.
    clusterProfile ClusterClusterProfile
    A cluster_profile block as defined below. Changing this forces a new resource to be created.
    consoleUrl String
    The Red Hat OpenShift cluster console URL.
    ingressProfile ClusterIngressProfile
    An ingress_profile block as defined below. Changing this forces a new resource to be created.
    location String
    The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.
    mainProfile ClusterMainProfile
    A main_profile block as defined below. Changing this forces a new resource to be created.
    name String
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    networkProfile ClusterNetworkProfile
    A network_profile block as defined below. Changing this forces a new resource to be created.
    resourceGroupName String
    Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.
    servicePrincipal ClusterServicePrincipal
    A service_principal block as defined below.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    workerProfile ClusterWorkerProfile
    A worker_profile block as defined below. Changing this forces a new resource to be created.
    apiServerProfile ClusterApiServerProfile
    An api_server_profile block as defined below. Changing this forces a new resource to be created.
    clusterProfile ClusterClusterProfile
    A cluster_profile block as defined below. Changing this forces a new resource to be created.
    consoleUrl string
    The Red Hat OpenShift cluster console URL.
    ingressProfile ClusterIngressProfile
    An ingress_profile block as defined below. Changing this forces a new resource to be created.
    location string
    The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.
    mainProfile ClusterMainProfile
    A main_profile block as defined below. Changing this forces a new resource to be created.
    name string
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    networkProfile ClusterNetworkProfile
    A network_profile block as defined below. Changing this forces a new resource to be created.
    resourceGroupName string
    Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.
    servicePrincipal ClusterServicePrincipal
    A service_principal block as defined below.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    workerProfile ClusterWorkerProfile
    A worker_profile block as defined below. Changing this forces a new resource to be created.
    api_server_profile ClusterApiServerProfileArgs
    An api_server_profile block as defined below. Changing this forces a new resource to be created.
    cluster_profile ClusterClusterProfileArgs
    A cluster_profile block as defined below. Changing this forces a new resource to be created.
    console_url str
    The Red Hat OpenShift cluster console URL.
    ingress_profile ClusterIngressProfileArgs
    An ingress_profile block as defined below. Changing this forces a new resource to be created.
    location str
    The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.
    main_profile ClusterMainProfileArgs
    A main_profile block as defined below. Changing this forces a new resource to be created.
    name str
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    network_profile ClusterNetworkProfileArgs
    A network_profile block as defined below. Changing this forces a new resource to be created.
    resource_group_name str
    Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.
    service_principal ClusterServicePrincipalArgs
    A service_principal block as defined below.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    worker_profile ClusterWorkerProfileArgs
    A worker_profile block as defined below. Changing this forces a new resource to be created.
    apiServerProfile Property Map
    An api_server_profile block as defined below. Changing this forces a new resource to be created.
    clusterProfile Property Map
    A cluster_profile block as defined below. Changing this forces a new resource to be created.
    consoleUrl String
    The Red Hat OpenShift cluster console URL.
    ingressProfile Property Map
    An ingress_profile block as defined below. Changing this forces a new resource to be created.
    location String
    The location where the Azure Red Hat OpenShift Cluster should be created. Changing this forces a new resource to be created.
    mainProfile Property Map
    A main_profile block as defined below. Changing this forces a new resource to be created.
    name String
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    networkProfile Property Map
    A network_profile block as defined below. Changing this forces a new resource to be created.
    resourceGroupName String
    Specifies the Resource Group where the Azure Red Hat OpenShift Cluster should exist. Changing this forces a new resource to be created.
    servicePrincipal Property Map
    A service_principal block as defined below.
    tags Map<String>
    A mapping of tags to assign to the resource.
    workerProfile Property Map
    A worker_profile block as defined below. Changing this forces a new resource to be created.

    Supporting Types

    ClusterApiServerProfile, ClusterApiServerProfileArgs

    Visibility string
    Cluster API server visibility. Supported values are Public and Private. Changing this forces a new resource to be created.
    IpAddress string
    The IP Address the Ingress Profile is associated with.
    Url string
    The URL the API Server Profile is associated with.
    Visibility string
    Cluster API server visibility. Supported values are Public and Private. Changing this forces a new resource to be created.
    IpAddress string
    The IP Address the Ingress Profile is associated with.
    Url string
    The URL the API Server Profile is associated with.
    visibility String
    Cluster API server visibility. Supported values are Public and Private. Changing this forces a new resource to be created.
    ipAddress String
    The IP Address the Ingress Profile is associated with.
    url String
    The URL the API Server Profile is associated with.
    visibility string
    Cluster API server visibility. Supported values are Public and Private. Changing this forces a new resource to be created.
    ipAddress string
    The IP Address the Ingress Profile is associated with.
    url string
    The URL the API Server Profile is associated with.
    visibility str
    Cluster API server visibility. Supported values are Public and Private. Changing this forces a new resource to be created.
    ip_address str
    The IP Address the Ingress Profile is associated with.
    url str
    The URL the API Server Profile is associated with.
    visibility String
    Cluster API server visibility. Supported values are Public and Private. Changing this forces a new resource to be created.
    ipAddress String
    The IP Address the Ingress Profile is associated with.
    url String
    The URL the API Server Profile is associated with.

    ClusterClusterProfile, ClusterClusterProfileArgs

    Domain string
    The custom domain for the cluster. For more info, see Prepare a custom domain for your cluster. Changing this forces a new resource to be created.
    Version string
    The version of the OpenShift cluster. Available versions can be found with the Azure CLI command az aro get-versions --location <region>. Changing this forces a new resource to be created.
    FipsEnabled bool
    Whether Federal Information Processing Standard (FIPS) validated cryptographic modules are used. Defaults to false. Changing this forces a new resource to be created.
    ManagedResourceGroupName string
    The name of a Resource Group which will be created to host VMs of Azure Red Hat OpenShift Cluster. The value cannot contain uppercase characters. Defaults to aro-{domain}. Changing this forces a new resource to be created.
    PullSecret string
    The Red Hat pull secret for the cluster. For more info, see Get a Red Hat pull secret. Changing this forces a new resource to be created.
    ResourceGroupId string
    The resource group that the cluster profile is attached to.
    Domain string
    The custom domain for the cluster. For more info, see Prepare a custom domain for your cluster. Changing this forces a new resource to be created.
    Version string
    The version of the OpenShift cluster. Available versions can be found with the Azure CLI command az aro get-versions --location <region>. Changing this forces a new resource to be created.
    FipsEnabled bool
    Whether Federal Information Processing Standard (FIPS) validated cryptographic modules are used. Defaults to false. Changing this forces a new resource to be created.
    ManagedResourceGroupName string
    The name of a Resource Group which will be created to host VMs of Azure Red Hat OpenShift Cluster. The value cannot contain uppercase characters. Defaults to aro-{domain}. Changing this forces a new resource to be created.
    PullSecret string
    The Red Hat pull secret for the cluster. For more info, see Get a Red Hat pull secret. Changing this forces a new resource to be created.
    ResourceGroupId string
    The resource group that the cluster profile is attached to.
    domain String
    The custom domain for the cluster. For more info, see Prepare a custom domain for your cluster. Changing this forces a new resource to be created.
    version String
    The version of the OpenShift cluster. Available versions can be found with the Azure CLI command az aro get-versions --location <region>. Changing this forces a new resource to be created.
    fipsEnabled Boolean
    Whether Federal Information Processing Standard (FIPS) validated cryptographic modules are used. Defaults to false. Changing this forces a new resource to be created.
    managedResourceGroupName String
    The name of a Resource Group which will be created to host VMs of Azure Red Hat OpenShift Cluster. The value cannot contain uppercase characters. Defaults to aro-{domain}. Changing this forces a new resource to be created.
    pullSecret String
    The Red Hat pull secret for the cluster. For more info, see Get a Red Hat pull secret. Changing this forces a new resource to be created.
    resourceGroupId String
    The resource group that the cluster profile is attached to.
    domain string
    The custom domain for the cluster. For more info, see Prepare a custom domain for your cluster. Changing this forces a new resource to be created.
    version string
    The version of the OpenShift cluster. Available versions can be found with the Azure CLI command az aro get-versions --location <region>. Changing this forces a new resource to be created.
    fipsEnabled boolean
    Whether Federal Information Processing Standard (FIPS) validated cryptographic modules are used. Defaults to false. Changing this forces a new resource to be created.
    managedResourceGroupName string
    The name of a Resource Group which will be created to host VMs of Azure Red Hat OpenShift Cluster. The value cannot contain uppercase characters. Defaults to aro-{domain}. Changing this forces a new resource to be created.
    pullSecret string
    The Red Hat pull secret for the cluster. For more info, see Get a Red Hat pull secret. Changing this forces a new resource to be created.
    resourceGroupId string
    The resource group that the cluster profile is attached to.
    domain str
    The custom domain for the cluster. For more info, see Prepare a custom domain for your cluster. Changing this forces a new resource to be created.
    version str
    The version of the OpenShift cluster. Available versions can be found with the Azure CLI command az aro get-versions --location <region>. Changing this forces a new resource to be created.
    fips_enabled bool
    Whether Federal Information Processing Standard (FIPS) validated cryptographic modules are used. Defaults to false. Changing this forces a new resource to be created.
    managed_resource_group_name str
    The name of a Resource Group which will be created to host VMs of Azure Red Hat OpenShift Cluster. The value cannot contain uppercase characters. Defaults to aro-{domain}. Changing this forces a new resource to be created.
    pull_secret str
    The Red Hat pull secret for the cluster. For more info, see Get a Red Hat pull secret. Changing this forces a new resource to be created.
    resource_group_id str
    The resource group that the cluster profile is attached to.
    domain String
    The custom domain for the cluster. For more info, see Prepare a custom domain for your cluster. Changing this forces a new resource to be created.
    version String
    The version of the OpenShift cluster. Available versions can be found with the Azure CLI command az aro get-versions --location <region>. Changing this forces a new resource to be created.
    fipsEnabled Boolean
    Whether Federal Information Processing Standard (FIPS) validated cryptographic modules are used. Defaults to false. Changing this forces a new resource to be created.
    managedResourceGroupName String
    The name of a Resource Group which will be created to host VMs of Azure Red Hat OpenShift Cluster. The value cannot contain uppercase characters. Defaults to aro-{domain}. Changing this forces a new resource to be created.
    pullSecret String
    The Red Hat pull secret for the cluster. For more info, see Get a Red Hat pull secret. Changing this forces a new resource to be created.
    resourceGroupId String
    The resource group that the cluster profile is attached to.

    ClusterIngressProfile, ClusterIngressProfileArgs

    Visibility string
    Cluster Ingress visibility. Supported values are Public and Private. Changing this forces a new resource to be created.
    IpAddress string
    The IP Address the Ingress Profile is associated with.
    Name string
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    Visibility string
    Cluster Ingress visibility. Supported values are Public and Private. Changing this forces a new resource to be created.
    IpAddress string
    The IP Address the Ingress Profile is associated with.
    Name string
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    visibility String
    Cluster Ingress visibility. Supported values are Public and Private. Changing this forces a new resource to be created.
    ipAddress String
    The IP Address the Ingress Profile is associated with.
    name String
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    visibility string
    Cluster Ingress visibility. Supported values are Public and Private. Changing this forces a new resource to be created.
    ipAddress string
    The IP Address the Ingress Profile is associated with.
    name string
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    visibility str
    Cluster Ingress visibility. Supported values are Public and Private. Changing this forces a new resource to be created.
    ip_address str
    The IP Address the Ingress Profile is associated with.
    name str
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.
    visibility String
    Cluster Ingress visibility. Supported values are Public and Private. Changing this forces a new resource to be created.
    ipAddress String
    The IP Address the Ingress Profile is associated with.
    name String
    The name of the Azure Red Hat OpenShift Cluster to create. Changing this forces a new resource to be created.

    ClusterMainProfile, ClusterMainProfileArgs

    SubnetId string
    The ID of the subnet where main nodes will be hosted. Changing this forces a new resource to be created.
    VmSize string
    The size of the Virtual Machines for the main nodes. Changing this forces a new resource to be created.
    DiskEncryptionSetId string
    The resource ID of an associated disk encryption set. Changing this forces a new resource to be created.
    EncryptionAtHostEnabled bool

    Whether main virtual machines are encrypted at host. Defaults to false. Changing this forces a new resource to be created.

    NOTE: encryption_at_host_enabled is only available for certain VM sizes and the EncryptionAtHost feature must be enabled for your subscription. Please see the Azure documentation for more information.

    SubnetId string
    The ID of the subnet where main nodes will be hosted. Changing this forces a new resource to be created.
    VmSize string
    The size of the Virtual Machines for the main nodes. Changing this forces a new resource to be created.
    DiskEncryptionSetId string
    The resource ID of an associated disk encryption set. Changing this forces a new resource to be created.
    EncryptionAtHostEnabled bool

    Whether main virtual machines are encrypted at host. Defaults to false. Changing this forces a new resource to be created.

    NOTE: encryption_at_host_enabled is only available for certain VM sizes and the EncryptionAtHost feature must be enabled for your subscription. Please see the Azure documentation for more information.

    subnetId String
    The ID of the subnet where main nodes will be hosted. Changing this forces a new resource to be created.
    vmSize String
    The size of the Virtual Machines for the main nodes. Changing this forces a new resource to be created.
    diskEncryptionSetId String
    The resource ID of an associated disk encryption set. Changing this forces a new resource to be created.
    encryptionAtHostEnabled Boolean

    Whether main virtual machines are encrypted at host. Defaults to false. Changing this forces a new resource to be created.

    NOTE: encryption_at_host_enabled is only available for certain VM sizes and the EncryptionAtHost feature must be enabled for your subscription. Please see the Azure documentation for more information.

    subnetId string
    The ID of the subnet where main nodes will be hosted. Changing this forces a new resource to be created.
    vmSize string
    The size of the Virtual Machines for the main nodes. Changing this forces a new resource to be created.
    diskEncryptionSetId string
    The resource ID of an associated disk encryption set. Changing this forces a new resource to be created.
    encryptionAtHostEnabled boolean

    Whether main virtual machines are encrypted at host. Defaults to false. Changing this forces a new resource to be created.

    NOTE: encryption_at_host_enabled is only available for certain VM sizes and the EncryptionAtHost feature must be enabled for your subscription. Please see the Azure documentation for more information.

    subnet_id str
    The ID of the subnet where main nodes will be hosted. Changing this forces a new resource to be created.
    vm_size str
    The size of the Virtual Machines for the main nodes. Changing this forces a new resource to be created.
    disk_encryption_set_id str
    The resource ID of an associated disk encryption set. Changing this forces a new resource to be created.
    encryption_at_host_enabled bool

    Whether main virtual machines are encrypted at host. Defaults to false. Changing this forces a new resource to be created.

    NOTE: encryption_at_host_enabled is only available for certain VM sizes and the EncryptionAtHost feature must be enabled for your subscription. Please see the Azure documentation for more information.

    subnetId String
    The ID of the subnet where main nodes will be hosted. Changing this forces a new resource to be created.
    vmSize String
    The size of the Virtual Machines for the main nodes. Changing this forces a new resource to be created.
    diskEncryptionSetId String
    The resource ID of an associated disk encryption set. Changing this forces a new resource to be created.
    encryptionAtHostEnabled Boolean

    Whether main virtual machines are encrypted at host. Defaults to false. Changing this forces a new resource to be created.

    NOTE: encryption_at_host_enabled is only available for certain VM sizes and the EncryptionAtHost feature must be enabled for your subscription. Please see the Azure documentation for more information.

    ClusterNetworkProfile, ClusterNetworkProfileArgs

    PodCidr string
    The CIDR to use for pod IP addresses. Changing this forces a new resource to be created.
    ServiceCidr string
    The network range used by the OpenShift service. Changing this forces a new resource to be created.
    OutboundType string
    The outbound (egress) routing method. Possible values are Loadbalancer and UserDefinedRouting. Defaults to Loadbalancer. Changing this forces a new resource to be created.
    PreconfiguredNetworkSecurityGroupEnabled bool
    Whether a preconfigured network security group is being used on the subnets. Defaults to false. Changing this forces a new resource to be created.
    PodCidr string
    The CIDR to use for pod IP addresses. Changing this forces a new resource to be created.
    ServiceCidr string
    The network range used by the OpenShift service. Changing this forces a new resource to be created.
    OutboundType string
    The outbound (egress) routing method. Possible values are Loadbalancer and UserDefinedRouting. Defaults to Loadbalancer. Changing this forces a new resource to be created.
    PreconfiguredNetworkSecurityGroupEnabled bool
    Whether a preconfigured network security group is being used on the subnets. Defaults to false. Changing this forces a new resource to be created.
    podCidr String
    The CIDR to use for pod IP addresses. Changing this forces a new resource to be created.
    serviceCidr String
    The network range used by the OpenShift service. Changing this forces a new resource to be created.
    outboundType String
    The outbound (egress) routing method. Possible values are Loadbalancer and UserDefinedRouting. Defaults to Loadbalancer. Changing this forces a new resource to be created.
    preconfiguredNetworkSecurityGroupEnabled Boolean
    Whether a preconfigured network security group is being used on the subnets. Defaults to false. Changing this forces a new resource to be created.
    podCidr string
    The CIDR to use for pod IP addresses. Changing this forces a new resource to be created.
    serviceCidr string
    The network range used by the OpenShift service. Changing this forces a new resource to be created.
    outboundType string
    The outbound (egress) routing method. Possible values are Loadbalancer and UserDefinedRouting. Defaults to Loadbalancer. Changing this forces a new resource to be created.
    preconfiguredNetworkSecurityGroupEnabled boolean
    Whether a preconfigured network security group is being used on the subnets. Defaults to false. Changing this forces a new resource to be created.
    pod_cidr str
    The CIDR to use for pod IP addresses. Changing this forces a new resource to be created.
    service_cidr str
    The network range used by the OpenShift service. Changing this forces a new resource to be created.
    outbound_type str
    The outbound (egress) routing method. Possible values are Loadbalancer and UserDefinedRouting. Defaults to Loadbalancer. Changing this forces a new resource to be created.
    preconfigured_network_security_group_enabled bool
    Whether a preconfigured network security group is being used on the subnets. Defaults to false. Changing this forces a new resource to be created.
    podCidr String
    The CIDR to use for pod IP addresses. Changing this forces a new resource to be created.
    serviceCidr String
    The network range used by the OpenShift service. Changing this forces a new resource to be created.
    outboundType String
    The outbound (egress) routing method. Possible values are Loadbalancer and UserDefinedRouting. Defaults to Loadbalancer. Changing this forces a new resource to be created.
    preconfiguredNetworkSecurityGroupEnabled Boolean
    Whether a preconfigured network security group is being used on the subnets. Defaults to false. Changing this forces a new resource to be created.

    ClusterServicePrincipal, ClusterServicePrincipalArgs

    ClientId string
    The Client ID for the Service Principal.
    ClientSecret string

    The Client Secret for the Service Principal.

    Note: Currently a service principal cannot be associated with more than one ARO clusters on the Azure subscription.

    ClientId string
    The Client ID for the Service Principal.
    ClientSecret string

    The Client Secret for the Service Principal.

    Note: Currently a service principal cannot be associated with more than one ARO clusters on the Azure subscription.

    clientId String
    The Client ID for the Service Principal.
    clientSecret String

    The Client Secret for the Service Principal.

    Note: Currently a service principal cannot be associated with more than one ARO clusters on the Azure subscription.

    clientId string
    The Client ID for the Service Principal.
    clientSecret string

    The Client Secret for the Service Principal.

    Note: Currently a service principal cannot be associated with more than one ARO clusters on the Azure subscription.

    client_id str
    The Client ID for the Service Principal.
    client_secret str

    The Client Secret for the Service Principal.

    Note: Currently a service principal cannot be associated with more than one ARO clusters on the Azure subscription.

    clientId String
    The Client ID for the Service Principal.
    clientSecret String

    The Client Secret for the Service Principal.

    Note: Currently a service principal cannot be associated with more than one ARO clusters on the Azure subscription.

    ClusterWorkerProfile, ClusterWorkerProfileArgs

    DiskSizeGb int
    The internal OS disk size of the worker Virtual Machines in GB. Changing this forces a new resource to be created.
    NodeCount int
    The initial number of worker nodes which should exist in the cluster. Changing this forces a new resource to be created.
    SubnetId string
    The ID of the subnet where worker nodes will be hosted. Changing this forces a new resource to be created.
    VmSize string
    The size of the Virtual Machines for the worker nodes. Changing this forces a new resource to be created.
    DiskEncryptionSetId string
    The resource ID of an associated disk encryption set. Changing this forces a new resource to be created.
    EncryptionAtHostEnabled bool

    Whether worker virtual machines are encrypted at host. Defaults to false. Changing this forces a new resource to be created.

    NOTE: encryption_at_host_enabled is only available for certain VM sizes and the EncryptionAtHost feature must be enabled for your subscription. Please see the Azure documentation for more information.

    DiskSizeGb int
    The internal OS disk size of the worker Virtual Machines in GB. Changing this forces a new resource to be created.
    NodeCount int
    The initial number of worker nodes which should exist in the cluster. Changing this forces a new resource to be created.
    SubnetId string
    The ID of the subnet where worker nodes will be hosted. Changing this forces a new resource to be created.
    VmSize string
    The size of the Virtual Machines for the worker nodes. Changing this forces a new resource to be created.
    DiskEncryptionSetId string
    The resource ID of an associated disk encryption set. Changing this forces a new resource to be created.
    EncryptionAtHostEnabled bool

    Whether worker virtual machines are encrypted at host. Defaults to false. Changing this forces a new resource to be created.

    NOTE: encryption_at_host_enabled is only available for certain VM sizes and the EncryptionAtHost feature must be enabled for your subscription. Please see the Azure documentation for more information.

    diskSizeGb Integer
    The internal OS disk size of the worker Virtual Machines in GB. Changing this forces a new resource to be created.
    nodeCount Integer
    The initial number of worker nodes which should exist in the cluster. Changing this forces a new resource to be created.
    subnetId String
    The ID of the subnet where worker nodes will be hosted. Changing this forces a new resource to be created.
    vmSize String
    The size of the Virtual Machines for the worker nodes. Changing this forces a new resource to be created.
    diskEncryptionSetId String
    The resource ID of an associated disk encryption set. Changing this forces a new resource to be created.
    encryptionAtHostEnabled Boolean

    Whether worker virtual machines are encrypted at host. Defaults to false. Changing this forces a new resource to be created.

    NOTE: encryption_at_host_enabled is only available for certain VM sizes and the EncryptionAtHost feature must be enabled for your subscription. Please see the Azure documentation for more information.

    diskSizeGb number
    The internal OS disk size of the worker Virtual Machines in GB. Changing this forces a new resource to be created.
    nodeCount number
    The initial number of worker nodes which should exist in the cluster. Changing this forces a new resource to be created.
    subnetId string
    The ID of the subnet where worker nodes will be hosted. Changing this forces a new resource to be created.
    vmSize string
    The size of the Virtual Machines for the worker nodes. Changing this forces a new resource to be created.
    diskEncryptionSetId string
    The resource ID of an associated disk encryption set. Changing this forces a new resource to be created.
    encryptionAtHostEnabled boolean

    Whether worker virtual machines are encrypted at host. Defaults to false. Changing this forces a new resource to be created.

    NOTE: encryption_at_host_enabled is only available for certain VM sizes and the EncryptionAtHost feature must be enabled for your subscription. Please see the Azure documentation for more information.

    disk_size_gb int
    The internal OS disk size of the worker Virtual Machines in GB. Changing this forces a new resource to be created.
    node_count int
    The initial number of worker nodes which should exist in the cluster. Changing this forces a new resource to be created.
    subnet_id str
    The ID of the subnet where worker nodes will be hosted. Changing this forces a new resource to be created.
    vm_size str
    The size of the Virtual Machines for the worker nodes. Changing this forces a new resource to be created.
    disk_encryption_set_id str
    The resource ID of an associated disk encryption set. Changing this forces a new resource to be created.
    encryption_at_host_enabled bool

    Whether worker virtual machines are encrypted at host. Defaults to false. Changing this forces a new resource to be created.

    NOTE: encryption_at_host_enabled is only available for certain VM sizes and the EncryptionAtHost feature must be enabled for your subscription. Please see the Azure documentation for more information.

    diskSizeGb Number
    The internal OS disk size of the worker Virtual Machines in GB. Changing this forces a new resource to be created.
    nodeCount Number
    The initial number of worker nodes which should exist in the cluster. Changing this forces a new resource to be created.
    subnetId String
    The ID of the subnet where worker nodes will be hosted. Changing this forces a new resource to be created.
    vmSize String
    The size of the Virtual Machines for the worker nodes. Changing this forces a new resource to be created.
    diskEncryptionSetId String
    The resource ID of an associated disk encryption set. Changing this forces a new resource to be created.
    encryptionAtHostEnabled Boolean

    Whether worker virtual machines are encrypted at host. Defaults to false. Changing this forces a new resource to be created.

    NOTE: encryption_at_host_enabled is only available for certain VM sizes and the EncryptionAtHost feature must be enabled for your subscription. Please see the Azure documentation for more information.

    Import

    Red Hat OpenShift Clusters can be imported using the resource id, e.g.

    $ pulumi import azure:redhatopenshift/cluster:Cluster cluster1 /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/group1/providers/Microsoft.RedHatOpenShift/openShiftClusters/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 v6.10.0 published on Tuesday, Nov 19, 2024 by Pulumi