Azure Provisioning AppNetwork client library for .NET - version 1.0.0-beta.1

Azure.Provisioning.AppNetwork simplifies declarative provisioning for Azure App Network in .NET.

Getting started

Install the package

Install the client library for .NET with NuGet:

dotnet add package Azure.Provisioning.AppNetwork --prerelease

Prerequisites

You must have an Azure subscription.

Authenticate the Client

Key concepts

This library lets you define Azure App Network infrastructure declaratively in .NET and deploy it with Azure Developer CLI.

Examples

Create an App Network

Infrastructure infra = new();

AppLink appLink = new(nameof(appLink), AppLink.ResourceVersions.V2026_08_01_PREVIEW)
{
    Name = "app-link",
    Location = new AzureLocation("eastus")
};
infra.Add(appLink);

Add an AKS cluster to an existing App Network

Create an AppLinkMember referencing an existing App Network and AKS cluster, with connectivity and upgrade profiles. The metrics endpoint is a read-only property that can be exposed as a deployment output.

Infrastructure infra = new();

AppLink appLink = AppLink.FromExisting(nameof(appLink), AppLink.ResourceVersions.V2026_08_01_PREVIEW);
appLink.Name = "app-link";
infra.Add(appLink);

AppLinkMember member = new(nameof(member), AppLinkMember.ResourceVersions.V2026_08_01_PREVIEW)
{
    Parent = appLink,
    Name = "aks-member",
    Location = new AzureLocation("eastus"),
    Properties = new AppLinkMemberProperties
    {
        ClusterType = AppLinkClusterType.Aks,
        MetadataResourceId = new ResourceIdentifier(
            "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.ContainerService/managedClusters/my-aks-cluster"),
        ConnectivityProfile = new AppLinkConnectivityProfile
        {
            Network = "app-network",
            EastWestGatewayVisibility = AppLinkEastWestGatewayVisibility.Internal,
            PrivateConnectSubnetResourceId = new ResourceIdentifier(
                "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.Network/virtualNetworks/my-vnet/subnets/my-subnet")
        },
        UpgradeProfile = new AppLinkUpgradeProfile
        {
            Mode = AppLinkUpgradeMode.FullyManaged,
            FullyManagedUpgradeReleaseChannel = AppLinkUpgradeReleaseChannel.Stable
        }
    }
};
infra.Add(member);

ProvisioningOutput metricsEndpoint = new(nameof(metricsEndpoint), typeof(string))
{
    Value = member.Properties.ObservabilityMetricsEndpoint
};
infra.Add(metricsEndpoint);

Troubleshooting

Next steps

Contributing

For details on contributing to this repository, see the contributing guide.