ProvisionedCluster

class ProvisionedCluster : KotlinCustomResource

Manages an Arc Kubernetes Provisioned Cluster.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * as azuread from "@pulumi/azuread";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const current = azure.core.getClientConfig({});
const exampleGroup = new azuread.Group("example", {
displayName: "example-adg",
owners: [current.then(current => current.objectId)],
securityEnabled: true,
});
const exampleProvisionedCluster = new azure.arckubernetes.ProvisionedCluster("example", {
name: "example-akpc",
resourceGroupName: example.name,
location: example.location,
azureActiveDirectory: {
azureRbacEnabled: true,
adminGroupObjectIds: [exampleGroup.id],
tenantId: current.then(current => current.tenantId),
},
identity: {
type: "SystemAssigned",
},
});
import pulumi
import pulumi_azure as azure
import pulumi_azuread as azuread
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
current = azure.core.get_client_config()
example_group = azuread.Group("example",
display_name="example-adg",
owners=[current.object_id],
security_enabled=True)
example_provisioned_cluster = azure.arckubernetes.ProvisionedCluster("example",
name="example-akpc",
resource_group_name=example.name,
location=example.location,
azure_active_directory={
"azure_rbac_enabled": True,
"admin_group_object_ids": [example_group.id],
"tenant_id": current.tenant_id,
},
identity={
"type": "SystemAssigned",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
using AzureAD = Pulumi.AzureAD;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var current = Azure.Core.GetClientConfig.Invoke();
var exampleGroup = new AzureAD.Group("example", new()
{
DisplayName = "example-adg",
Owners = new[]
{
current.Apply(getClientConfigResult => getClientConfigResult.ObjectId),
},
SecurityEnabled = true,
});
var exampleProvisionedCluster = new Azure.ArcKubernetes.ProvisionedCluster("example", new()
{
Name = "example-akpc",
ResourceGroupName = example.Name,
Location = example.Location,
AzureActiveDirectory = new Azure.ArcKubernetes.Inputs.ProvisionedClusterAzureActiveDirectoryArgs
{
AzureRbacEnabled = true,
AdminGroupObjectIds = new[]
{
exampleGroup.Id,
},
TenantId = current.Apply(getClientConfigResult => getClientConfigResult.TenantId),
},
Identity = new Azure.ArcKubernetes.Inputs.ProvisionedClusterIdentityArgs
{
Type = "SystemAssigned",
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arckubernetes"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"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 {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
current, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)
if err != nil {
return err
}
exampleGroup, err := azuread.NewGroup(ctx, "example", &azuread.GroupArgs{
DisplayName: pulumi.String("example-adg"),
Owners: pulumi.StringArray{
pulumi.String(current.ObjectId),
},
SecurityEnabled: pulumi.Bool(true),
})
if err != nil {
return err
}
_, err = arckubernetes.NewProvisionedCluster(ctx, "example", &arckubernetes.ProvisionedClusterArgs{
Name: pulumi.String("example-akpc"),
ResourceGroupName: example.Name,
Location: example.Location,
AzureActiveDirectory: &arckubernetes.ProvisionedClusterAzureActiveDirectoryArgs{
AzureRbacEnabled: pulumi.Bool(true),
AdminGroupObjectIds: pulumi.StringArray{
exampleGroup.ID(),
},
TenantId: pulumi.String(current.TenantId),
},
Identity: &arckubernetes.ProvisionedClusterIdentityArgs{
Type: pulumi.String("SystemAssigned"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azuread.Group;
import com.pulumi.azuread.GroupArgs;
import com.pulumi.azure.arckubernetes.ProvisionedCluster;
import com.pulumi.azure.arckubernetes.ProvisionedClusterArgs;
import com.pulumi.azure.arckubernetes.inputs.ProvisionedClusterAzureActiveDirectoryArgs;
import com.pulumi.azure.arckubernetes.inputs.ProvisionedClusterIdentityArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
final var current = CoreFunctions.getClientConfig();
var exampleGroup = new Group("exampleGroup", GroupArgs.builder()
.displayName("example-adg")
.owners(current.applyValue(getClientConfigResult -> getClientConfigResult.objectId()))
.securityEnabled(true)
.build());
var exampleProvisionedCluster = new ProvisionedCluster("exampleProvisionedCluster", ProvisionedClusterArgs.builder()
.name("example-akpc")
.resourceGroupName(example.name())
.location(example.location())
.azureActiveDirectory(ProvisionedClusterAzureActiveDirectoryArgs.builder()
.azureRbacEnabled(true)
.adminGroupObjectIds(exampleGroup.id())
.tenantId(current.applyValue(getClientConfigResult -> getClientConfigResult.tenantId()))
.build())
.identity(ProvisionedClusterIdentityArgs.builder()
.type("SystemAssigned")
.build())
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleGroup:
type: azuread:Group
name: example
properties:
displayName: example-adg
owners:
- ${current.objectId}
securityEnabled: true
exampleProvisionedCluster:
type: azure:arckubernetes:ProvisionedCluster
name: example
properties:
name: example-akpc
resourceGroupName: ${example.name}
location: ${example.location}
azureActiveDirectory:
azureRbacEnabled: true
adminGroupObjectIds:
- ${exampleGroup.id}
tenantId: ${current.tenantId}
identity:
type: SystemAssigned
variables:
current:
fn::invoke:
function: azure:core:getClientConfig
arguments: {}

Import

Arc Kubernetes Provisioned Clusters can be imported using the resource id, e.g.

$ pulumi import azure:arckubernetes/provisionedCluster:ProvisionedCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/cluster1

Properties

Link copied to clipboard
val agentVersion: Output<String>

The version of the agent running on the cluster resource.

Link copied to clipboard

Whether the Arc agents will be upgraded automatically to the latest version. Defaults to true.

Link copied to clipboard

The version of the Arc agents to be installed on the cluster.

Link copied to clipboard

An azure_active_directory block as defined below.

Link copied to clipboard
val distribution: Output<String>

The distribution running on this Arc Kubernetes Provisioned Cluster.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

An identity block as defined below. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.

Link copied to clipboard
val infrastructure: Output<String>

The infrastructure on which the Arc Kubernetes Provisioned Cluster is running on.

Link copied to clipboard

The Kubernetes version of the cluster resource.

Link copied to clipboard
val location: Output<String>

The Azure Region where the Arc Kubernetes Provisioned Cluster should exist. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.

Link copied to clipboard
val name: Output<String>

The name which should be used for this Arc Kubernetes Provisioned Cluster. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.

Link copied to clipboard
val offering: Output<String>

The cluster offering.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The name of the Resource Group where the Arc Kubernetes Provisioned Cluster should exist. Changing this forces a new Arc Kubernetes Provisioned Cluster to be created.

Link copied to clipboard
val tags: Output<Map<String, String>>?

A mapping of tags which should be assigned to the Arc Kubernetes Provisioned Cluster.

Link copied to clipboard
val totalCoreCount: Output<Int>

The number of CPU cores present in the cluster resource.

Link copied to clipboard
val totalNodeCount: Output<Int>

The number of nodes present in the cluster resource.

Link copied to clipboard
val urn: Output<String>