privateClusterPublicFqdnEnabled

@JvmName(name = "llcdqwwqfjvfgohc")
suspend fun privateClusterPublicFqdnEnabled(value: Output<Boolean>)
@JvmName(name = "amwgclytcnqvvvps")
suspend fun privateClusterPublicFqdnEnabled(value: Boolean?)

Parameters

value

Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to false.

Note: If you use BYO DNS Zone, the AKS cluster should either use a User Assigned Identity or a service principal (which is deprecated) with the Private DNS Zone Contributor role and access to this Private DNS Zone. If UserAssigned identity is used - to prevent improper resource order destruction - the cluster should depend on the role assignment, like in this example:

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleZone = new azure.privatedns.Zone("exampleZone", {resourceGroupName: exampleResourceGroup.name});
const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("exampleUserAssignedIdentity", {
resourceGroupName: exampleResourceGroup.name,
location: exampleResourceGroup.location,
});
const exampleAssignment = new azure.authorization.Assignment("exampleAssignment", {
scope: exampleZone.id,
roleDefinitionName: "Private DNS Zone Contributor",
principalId: exampleUserAssignedIdentity.principalId,
});
const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("exampleKubernetesCluster", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
dnsPrefix: "aksexamplednsprefix1",
privateClusterEnabled: true,
privateDnsZoneId: exampleZone.id,
}, {
dependsOn: [exampleAssignment],
});
import pulumi
import pulumi_azure as azure
example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
example_zone = azure.privatedns.Zone("exampleZone", resource_group_name=example_resource_group.name)
example_user_assigned_identity = azure.authorization.UserAssignedIdentity("exampleUserAssignedIdentity",
resource_group_name=example_resource_group.name,
location=example_resource_group.location)
example_assignment = azure.authorization.Assignment("exampleAssignment",
scope=example_zone.id,
role_definition_name="Private DNS Zone Contributor",
principal_id=example_user_assigned_identity.principal_id)
example_kubernetes_cluster = azure.containerservice.KubernetesCluster("exampleKubernetesCluster",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
dns_prefix="aksexamplednsprefix1",
private_cluster_enabled=True,
private_dns_zone_id=example_zone.id,
opts=pulumi.ResourceOptions(depends_on=[example_assignment]))
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new()
{
Location = "West Europe",
});
var exampleZone = new Azure.PrivateDns.Zone("exampleZone", new()
{
ResourceGroupName = exampleResourceGroup.Name,
});
var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("exampleUserAssignedIdentity", new()
{
ResourceGroupName = exampleResourceGroup.Name,
Location = exampleResourceGroup.Location,
});
var exampleAssignment = new Azure.Authorization.Assignment("exampleAssignment", new()
{
Scope = exampleZone.Id,
RoleDefinitionName = "Private DNS Zone Contributor",
PrincipalId = exampleUserAssignedIdentity.PrincipalId,
});
var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("exampleKubernetesCluster", new()
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
DnsPrefix = "aksexamplednsprefix1",
PrivateClusterEnabled = true,
PrivateDnsZoneId = exampleZone.Id,
}, new CustomResourceOptions
{
DependsOn = new[]
{
exampleAssignment,
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/containerservice"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/privatedns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleZone, err := privatedns.NewZone(ctx, "exampleZone", &privatedns.ZoneArgs{
ResourceGroupName: exampleResourceGroup.Name,
})
if err != nil {
return err
}
exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "exampleUserAssignedIdentity", &authorization.UserAssignedIdentityArgs{
ResourceGroupName: exampleResourceGroup.Name,
Location: exampleResourceGroup.Location,
})
if err != nil {
return err
}
exampleAssignment, err := authorization.NewAssignment(ctx, "exampleAssignment", &authorization.AssignmentArgs{
Scope: exampleZone.ID(),
RoleDefinitionName: pulumi.String("Private DNS Zone Contributor"),
PrincipalId: exampleUserAssignedIdentity.PrincipalId,
})
if err != nil {
return err
}
_, err = containerservice.NewKubernetesCluster(ctx, "exampleKubernetesCluster", &containerservice.KubernetesClusterArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
DnsPrefix: pulumi.String("aksexamplednsprefix1"),
PrivateClusterEnabled: pulumi.Bool(true),
PrivateDnsZoneId: exampleZone.ID(),
}, pulumi.DependsOn([]pulumi.Resource{
exampleAssignment,
}))
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.privatedns.Zone;
import com.pulumi.azure.privatedns.ZoneArgs;
import com.pulumi.azure.authorization.UserAssignedIdentity;
import com.pulumi.azure.authorization.UserAssignedIdentityArgs;
import com.pulumi.azure.authorization.Assignment;
import com.pulumi.azure.authorization.AssignmentArgs;
import com.pulumi.azure.containerservice.KubernetesCluster;
import com.pulumi.azure.containerservice.KubernetesClusterArgs;
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) {
var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var exampleZone = new Zone("exampleZone", ZoneArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.build());
var exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.build());
var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder()
.scope(exampleZone.id())
.roleDefinitionName("Private DNS Zone Contributor")
.principalId(exampleUserAssignedIdentity.principalId())
.build());
var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.dnsPrefix("aksexamplednsprefix1")
.privateClusterEnabled(true)
.privateDnsZoneId(exampleZone.id())
.build(), CustomResourceOptions.builder()
.dependsOn(exampleAssignment)
.build());
}
}
resources:
exampleResourceGroup:
type: azure:core:ResourceGroup
properties:
location: West Europe
exampleZone:
type: azure:privatedns:Zone
properties:
resourceGroupName: ${exampleResourceGroup.name}
exampleUserAssignedIdentity:
type: azure:authorization:UserAssignedIdentity
properties:
resourceGroupName: ${exampleResourceGroup.name}
location: ${exampleResourceGroup.location}
exampleAssignment:
type: azure:authorization:Assignment
properties:
scope: ${exampleZone.id}
roleDefinitionName: Private DNS Zone Contributor
principalId: ${exampleUserAssignedIdentity.principalId}
exampleKubernetesCluster:
type: azure:containerservice:KubernetesCluster
properties:
location: ${exampleResourceGroup.location}
resourceGroupName: ${exampleResourceGroup.name}
dnsPrefix: aksexamplednsprefix1
privateClusterEnabled: true
privateDnsZoneId: ${exampleZone.id} # rest of configuration omitted for brevity
options:
dependson:
- ${exampleAssignment}