Availability Group Listener
    A SQL Server availability group listener. Azure REST API version: 2022-02-01. Prior API version in Azure Native 1.x: 2017-03-01-preview. Other available API versions: 2023-01-01-preview.
Example Usage
Creates or updates an availability group listener using load balancer. This is used for VMs present in single subnet.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var availabilityGroupListener = new AzureNative.SqlVirtualMachine.AvailabilityGroupListener("availabilityGroupListener", new()
    {
        AvailabilityGroupListenerName = "agl-test",
        AvailabilityGroupName = "ag-test",
        LoadBalancerConfigurations = new[]
        {
            new AzureNative.SqlVirtualMachine.Inputs.LoadBalancerConfigurationArgs
            {
                LoadBalancerResourceId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb-test",
                PrivateIpAddress = new AzureNative.SqlVirtualMachine.Inputs.PrivateIPAddressArgs
                {
                    IpAddress = "10.1.0.112",
                    SubnetResourceId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default",
                },
                ProbePort = 59983,
                SqlVirtualMachineInstances = new[]
                {
                    "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2",
                    "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm3",
                },
            },
        },
        Port = 1433,
        ResourceGroupName = "testrg",
        SqlVirtualMachineGroupName = "testvmgroup",
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/sqlvirtualmachine/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := sqlvirtualmachine.NewAvailabilityGroupListener(ctx, "availabilityGroupListener", &sqlvirtualmachine.AvailabilityGroupListenerArgs{
			AvailabilityGroupListenerName: pulumi.String("agl-test"),
			AvailabilityGroupName:         pulumi.String("ag-test"),
			LoadBalancerConfigurations: []sqlvirtualmachine.LoadBalancerConfigurationArgs{
				{
					LoadBalancerResourceId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb-test"),
					PrivateIpAddress: {
						IpAddress:        pulumi.String("10.1.0.112"),
						SubnetResourceId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"),
					},
					ProbePort: pulumi.Int(59983),
					SqlVirtualMachineInstances: pulumi.StringArray{
						pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2"),
						pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm3"),
					},
				},
			},
			Port:                       pulumi.Int(1433),
			ResourceGroupName:          pulumi.String("testrg"),
			SqlVirtualMachineGroupName: pulumi.String("testvmgroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.sqlvirtualmachine.AvailabilityGroupListener;
import com.pulumi.azurenative.sqlvirtualmachine.AvailabilityGroupListenerArgs;
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 availabilityGroupListener = new AvailabilityGroupListener("availabilityGroupListener", AvailabilityGroupListenerArgs.builder()
            .availabilityGroupListenerName("agl-test")
            .availabilityGroupName("ag-test")
            .loadBalancerConfigurations(Map.ofEntries(
                Map.entry("loadBalancerResourceId", "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb-test"),
                Map.entry("privateIpAddress", Map.ofEntries(
                    Map.entry("ipAddress", "10.1.0.112"),
                    Map.entry("subnetResourceId", "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default")
                )),
                Map.entry("probePort", 59983),
                Map.entry("sqlVirtualMachineInstances",
                    "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2",
                    "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm3")
            ))
            .port(1433)
            .resourceGroupName("testrg")
            .sqlVirtualMachineGroupName("testvmgroup")
            .build());
    }
}Content copied to clipboard
Creates or updates an availability group listener. This is used for VMs present in multi subnet
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var availabilityGroupListener = new AzureNative.SqlVirtualMachine.AvailabilityGroupListener("availabilityGroupListener", new()
    {
        AvailabilityGroupListenerName = "agl-test",
        AvailabilityGroupName = "ag-test",
        MultiSubnetIpConfigurations = new[]
        {
            new AzureNative.SqlVirtualMachine.Inputs.MultiSubnetIpConfigurationArgs
            {
                PrivateIpAddress = new AzureNative.SqlVirtualMachine.Inputs.PrivateIPAddressArgs
                {
                    IpAddress = "10.0.0.112",
                    SubnetResourceId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default",
                },
                SqlVirtualMachineInstance = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2",
            },
            new AzureNative.SqlVirtualMachine.Inputs.MultiSubnetIpConfigurationArgs
            {
                PrivateIpAddress = new AzureNative.SqlVirtualMachine.Inputs.PrivateIPAddressArgs
                {
                    IpAddress = "10.0.1.112",
                    SubnetResourceId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/alternate",
                },
                SqlVirtualMachineInstance = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm1",
            },
        },
        Port = 1433,
        ResourceGroupName = "testrg",
        SqlVirtualMachineGroupName = "testvmgroup",
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/sqlvirtualmachine/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := sqlvirtualmachine.NewAvailabilityGroupListener(ctx, "availabilityGroupListener", &sqlvirtualmachine.AvailabilityGroupListenerArgs{
			AvailabilityGroupListenerName: pulumi.String("agl-test"),
			AvailabilityGroupName:         pulumi.String("ag-test"),
			MultiSubnetIpConfigurations: []sqlvirtualmachine.MultiSubnetIpConfigurationArgs{
				{
					PrivateIpAddress: {
						IpAddress:        pulumi.String("10.0.0.112"),
						SubnetResourceId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"),
					},
					SqlVirtualMachineInstance: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2"),
				},
				{
					PrivateIpAddress: {
						IpAddress:        pulumi.String("10.0.1.112"),
						SubnetResourceId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/alternate"),
					},
					SqlVirtualMachineInstance: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm1"),
				},
			},
			Port:                       pulumi.Int(1433),
			ResourceGroupName:          pulumi.String("testrg"),
			SqlVirtualMachineGroupName: pulumi.String("testvmgroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.sqlvirtualmachine.AvailabilityGroupListener;
import com.pulumi.azurenative.sqlvirtualmachine.AvailabilityGroupListenerArgs;
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 availabilityGroupListener = new AvailabilityGroupListener("availabilityGroupListener", AvailabilityGroupListenerArgs.builder()
            .availabilityGroupListenerName("agl-test")
            .availabilityGroupName("ag-test")
            .multiSubnetIpConfigurations(
                Map.ofEntries(
                    Map.entry("privateIpAddress", Map.ofEntries(
                        Map.entry("ipAddress", "10.0.0.112"),
                        Map.entry("subnetResourceId", "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default")
                    )),
                    Map.entry("sqlVirtualMachineInstance", "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2")
                ),
                Map.ofEntries(
                    Map.entry("privateIpAddress", Map.ofEntries(
                        Map.entry("ipAddress", "10.0.1.112"),
                        Map.entry("subnetResourceId", "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/alternate")
                    )),
                    Map.entry("sqlVirtualMachineInstance", "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm1")
                ))
            .port(1433)
            .resourceGroupName("testrg")
            .sqlVirtualMachineGroupName("testvmgroup")
            .build());
    }
}Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:sqlvirtualmachine:AvailabilityGroupListener agl-test /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/{sqlVirtualMachineGroupName}/availabilityGroupListeners/{availabilityGroupListenerName}Content copied to clipboard