Load Balancer
    LoadBalancer resource. Azure REST API version: 2023-02-01. Prior API version in Azure Native 1.x: 2020-11-01. Other available API versions: 2015-05-01-preview, 2018-06-01, 2019-06-01, 2019-08-01, 2023-04-01, 2023-05-01, 2023-06-01.
Example Usage
Create load balancer
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var loadBalancer = new AzureNative.Network.LoadBalancer("loadBalancer", new()
    {
        BackendAddressPools = new[]
        {
            new AzureNative.Network.Inputs.BackendAddressPoolArgs
            {
                Name = "be-lb",
            },
        },
        FrontendIPConfigurations = new[]
        {
            new AzureNative.Network.Inputs.FrontendIPConfigurationArgs
            {
                Name = "fe-lb",
                Subnet = new AzureNative.Network.Inputs.SubnetArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
                },
            },
        },
        InboundNatPools = new[] {},
        InboundNatRules = new[]
        {
            new AzureNative.Network.Inputs.InboundNatRuleArgs
            {
                BackendPort = 3389,
                EnableFloatingIP = true,
                EnableTcpReset = false,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
                },
                FrontendPort = 3389,
                IdleTimeoutInMinutes = 15,
                Name = "in-nat-rule",
                Protocol = "Tcp",
            },
        },
        LoadBalancerName = "lb",
        LoadBalancingRules = new[]
        {
            new AzureNative.Network.Inputs.LoadBalancingRuleArgs
            {
                BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
                },
                BackendPort = 80,
                EnableFloatingIP = true,
                EnableTcpReset = false,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
                },
                FrontendPort = 80,
                IdleTimeoutInMinutes = 15,
                LoadDistribution = "Default",
                Name = "rulelb",
                Probe = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                },
                Protocol = "Tcp",
            },
        },
        Location = "eastus",
        Probes = new[]
        {
            new AzureNative.Network.Inputs.ProbeArgs
            {
                IntervalInSeconds = 15,
                Name = "probe-lb",
                NumberOfProbes = 2,
                Port = 80,
                ProbeThreshold = 1,
                Protocol = "Http",
                RequestPath = "healthcheck.aspx",
            },
        },
        ResourceGroupName = "rg1",
    });
});package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/network/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := network.NewLoadBalancer(ctx, "loadBalancer", &network.LoadBalancerArgs{
			BackendAddressPools: []network.BackendAddressPoolArgs{
				{
					Name: pulumi.String("be-lb"),
				},
			},
			FrontendIPConfigurations: []network.FrontendIPConfigurationArgs{
				{
					Name: pulumi.String("fe-lb"),
					Subnet: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
					},
				},
			},
			InboundNatPools: network.InboundNatPoolArray{},
			InboundNatRules: []network.InboundNatRuleTypeArgs{
				{
					BackendPort:      pulumi.Int(3389),
					EnableFloatingIP: pulumi.Bool(true),
					EnableTcpReset:   pulumi.Bool(false),
					FrontendIPConfiguration: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
					},
					FrontendPort:         pulumi.Int(3389),
					IdleTimeoutInMinutes: pulumi.Int(15),
					Name:                 pulumi.String("in-nat-rule"),
					Protocol:             pulumi.String("Tcp"),
				},
			},
			LoadBalancerName: pulumi.String("lb"),
			LoadBalancingRules: []network.LoadBalancingRuleArgs{
				{
					BackendAddressPool: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
					},
					BackendPort:      pulumi.Int(80),
					EnableFloatingIP: pulumi.Bool(true),
					EnableTcpReset:   pulumi.Bool(false),
					FrontendIPConfiguration: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
					},
					FrontendPort:         pulumi.Int(80),
					IdleTimeoutInMinutes: pulumi.Int(15),
					LoadDistribution:     pulumi.String("Default"),
					Name:                 pulumi.String("rulelb"),
					Probe: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
					},
					Protocol: pulumi.String("Tcp"),
				},
			},
			Location: pulumi.String("eastus"),
			Probes: []network.ProbeArgs{
				{
					IntervalInSeconds: pulumi.Int(15),
					Name:              pulumi.String("probe-lb"),
					NumberOfProbes:    pulumi.Int(2),
					Port:              pulumi.Int(80),
					ProbeThreshold:    pulumi.Int(1),
					Protocol:          pulumi.String("Http"),
					RequestPath:       pulumi.String("healthcheck.aspx"),
				},
			},
			ResourceGroupName: pulumi.String("rg1"),
		})
		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.azurenative.network.LoadBalancer;
import com.pulumi.azurenative.network.LoadBalancerArgs;
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 loadBalancer = new LoadBalancer("loadBalancer", LoadBalancerArgs.builder()
            .backendAddressPools(Map.of("name", "be-lb"))
            .frontendIPConfigurations(Map.ofEntries(
                Map.entry("name", "fe-lb"),
                Map.entry("subnet", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"))
            ))
            .inboundNatPools()
            .inboundNatRules(Map.ofEntries(
                Map.entry("backendPort", 3389),
                Map.entry("enableFloatingIP", true),
                Map.entry("enableTcpReset", false),
                Map.entry("frontendIPConfiguration", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")),
                Map.entry("frontendPort", 3389),
                Map.entry("idleTimeoutInMinutes", 15),
                Map.entry("name", "in-nat-rule"),
                Map.entry("protocol", "Tcp")
            ))
            .loadBalancerName("lb")
            .loadBalancingRules(Map.ofEntries(
                Map.entry("backendAddressPool", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")),
                Map.entry("backendPort", 80),
                Map.entry("enableFloatingIP", true),
                Map.entry("enableTcpReset", false),
                Map.entry("frontendIPConfiguration", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")),
                Map.entry("frontendPort", 80),
                Map.entry("idleTimeoutInMinutes", 15),
                Map.entry("loadDistribution", "Default"),
                Map.entry("name", "rulelb"),
                Map.entry("probe", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")),
                Map.entry("protocol", "Tcp")
            ))
            .location("eastus")
            .probes(Map.ofEntries(
                Map.entry("intervalInSeconds", 15),
                Map.entry("name", "probe-lb"),
                Map.entry("numberOfProbes", 2),
                Map.entry("port", 80),
                Map.entry("probeThreshold", 1),
                Map.entry("protocol", "Http"),
                Map.entry("requestPath", "healthcheck.aspx")
            ))
            .resourceGroupName("rg1")
            .build());
    }
}Create load balancer with Frontend IP in Zone 1
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var loadBalancer = new AzureNative.Network.LoadBalancer("loadBalancer", new()
    {
        BackendAddressPools = new[]
        {
            new AzureNative.Network.Inputs.BackendAddressPoolArgs
            {
                Name = "be-lb",
            },
        },
        FrontendIPConfigurations = new[]
        {
            new AzureNative.Network.Inputs.FrontendIPConfigurationArgs
            {
                Name = "fe-lb",
                Subnet = new AzureNative.Network.Inputs.SubnetArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
                },
                Zones = new[]
                {
                    "1",
                },
            },
        },
        InboundNatPools = new[] {},
        InboundNatRules = new[]
        {
            new AzureNative.Network.Inputs.InboundNatRuleArgs
            {
                BackendPort = 3389,
                EnableFloatingIP = true,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
                },
                FrontendPort = 3389,
                IdleTimeoutInMinutes = 15,
                Name = "in-nat-rule",
                Protocol = "Tcp",
            },
        },
        LoadBalancerName = "lb",
        LoadBalancingRules = new[]
        {
            new AzureNative.Network.Inputs.LoadBalancingRuleArgs
            {
                BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
                },
                BackendPort = 80,
                EnableFloatingIP = true,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
                },
                FrontendPort = 80,
                IdleTimeoutInMinutes = 15,
                LoadDistribution = "Default",
                Name = "rulelb",
                Probe = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                },
                Protocol = "Tcp",
            },
        },
        Location = "eastus",
        OutboundRules = new[] {},
        Probes = new[]
        {
            new AzureNative.Network.Inputs.ProbeArgs
            {
                IntervalInSeconds = 15,
                Name = "probe-lb",
                NumberOfProbes = 2,
                Port = 80,
                ProbeThreshold = 1,
                Protocol = "Http",
                RequestPath = "healthcheck.aspx",
            },
        },
        ResourceGroupName = "rg1",
        Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs
        {
            Name = "Standard",
        },
    });
});package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/network/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := network.NewLoadBalancer(ctx, "loadBalancer", &network.LoadBalancerArgs{
			BackendAddressPools: []network.BackendAddressPoolArgs{
				{
					Name: pulumi.String("be-lb"),
				},
			},
			FrontendIPConfigurations: []network.FrontendIPConfigurationArgs{
				{
					Name: pulumi.String("fe-lb"),
					Subnet: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
					},
					Zones: pulumi.StringArray{
						pulumi.String("1"),
					},
				},
			},
			InboundNatPools: network.InboundNatPoolArray{},
			InboundNatRules: []network.InboundNatRuleTypeArgs{
				{
					BackendPort:      pulumi.Int(3389),
					EnableFloatingIP: pulumi.Bool(true),
					FrontendIPConfiguration: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
					},
					FrontendPort:         pulumi.Int(3389),
					IdleTimeoutInMinutes: pulumi.Int(15),
					Name:                 pulumi.String("in-nat-rule"),
					Protocol:             pulumi.String("Tcp"),
				},
			},
			LoadBalancerName: pulumi.String("lb"),
			LoadBalancingRules: []network.LoadBalancingRuleArgs{
				{
					BackendAddressPool: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
					},
					BackendPort:      pulumi.Int(80),
					EnableFloatingIP: pulumi.Bool(true),
					FrontendIPConfiguration: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
					},
					FrontendPort:         pulumi.Int(80),
					IdleTimeoutInMinutes: pulumi.Int(15),
					LoadDistribution:     pulumi.String("Default"),
					Name:                 pulumi.String("rulelb"),
					Probe: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
					},
					Protocol: pulumi.String("Tcp"),
				},
			},
			Location:      pulumi.String("eastus"),
			OutboundRules: network.OutboundRuleArray{},
			Probes: []network.ProbeArgs{
				{
					IntervalInSeconds: pulumi.Int(15),
					Name:              pulumi.String("probe-lb"),
					NumberOfProbes:    pulumi.Int(2),
					Port:              pulumi.Int(80),
					ProbeThreshold:    pulumi.Int(1),
					Protocol:          pulumi.String("Http"),
					RequestPath:       pulumi.String("healthcheck.aspx"),
				},
			},
			ResourceGroupName: pulumi.String("rg1"),
			Sku: &network.LoadBalancerSkuArgs{
				Name: pulumi.String("Standard"),
			},
		})
		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.azurenative.network.LoadBalancer;
import com.pulumi.azurenative.network.LoadBalancerArgs;
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 loadBalancer = new LoadBalancer("loadBalancer", LoadBalancerArgs.builder()
            .backendAddressPools(Map.of("name", "be-lb"))
            .frontendIPConfigurations(Map.ofEntries(
                Map.entry("name", "fe-lb"),
                Map.entry("subnet", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb")),
                Map.entry("zones", "1")
            ))
            .inboundNatPools()
            .inboundNatRules(Map.ofEntries(
                Map.entry("backendPort", 3389),
                Map.entry("enableFloatingIP", true),
                Map.entry("frontendIPConfiguration", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")),
                Map.entry("frontendPort", 3389),
                Map.entry("idleTimeoutInMinutes", 15),
                Map.entry("name", "in-nat-rule"),
                Map.entry("protocol", "Tcp")
            ))
            .loadBalancerName("lb")
            .loadBalancingRules(Map.ofEntries(
                Map.entry("backendAddressPool", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")),
                Map.entry("backendPort", 80),
                Map.entry("enableFloatingIP", true),
                Map.entry("frontendIPConfiguration", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")),
                Map.entry("frontendPort", 80),
                Map.entry("idleTimeoutInMinutes", 15),
                Map.entry("loadDistribution", "Default"),
                Map.entry("name", "rulelb"),
                Map.entry("probe", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")),
                Map.entry("protocol", "Tcp")
            ))
            .location("eastus")
            .outboundRules()
            .probes(Map.ofEntries(
                Map.entry("intervalInSeconds", 15),
                Map.entry("name", "probe-lb"),
                Map.entry("numberOfProbes", 2),
                Map.entry("port", 80),
                Map.entry("probeThreshold", 1),
                Map.entry("protocol", "Http"),
                Map.entry("requestPath", "healthcheck.aspx")
            ))
            .resourceGroupName("rg1")
            .sku(Map.of("name", "Standard"))
            .build());
    }
}Create load balancer with Gateway Load Balancer Consumer configured
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var loadBalancer = new AzureNative.Network.LoadBalancer("loadBalancer", new()
    {
        BackendAddressPools = new[]
        {
            new AzureNative.Network.Inputs.BackendAddressPoolArgs
            {
                Name = "be-lb",
            },
        },
        FrontendIPConfigurations = new[]
        {
            new AzureNative.Network.Inputs.FrontendIPConfigurationArgs
            {
                GatewayLoadBalancer = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider",
                },
                Name = "fe-lb",
                Subnet = new AzureNative.Network.Inputs.SubnetArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
                },
            },
        },
        InboundNatPools = new[] {},
        InboundNatRules = new[]
        {
            new AzureNative.Network.Inputs.InboundNatRuleArgs
            {
                BackendPort = 3389,
                EnableFloatingIP = true,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
                },
                FrontendPort = 3389,
                IdleTimeoutInMinutes = 15,
                Name = "in-nat-rule",
                Protocol = "Tcp",
            },
        },
        LoadBalancerName = "lb",
        LoadBalancingRules = new[]
        {
            new AzureNative.Network.Inputs.LoadBalancingRuleArgs
            {
                BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
                },
                BackendPort = 80,
                EnableFloatingIP = true,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
                },
                FrontendPort = 80,
                IdleTimeoutInMinutes = 15,
                LoadDistribution = "Default",
                Name = "rulelb",
                Probe = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                },
                Protocol = "Tcp",
            },
        },
        Location = "eastus",
        OutboundRules = new[] {},
        Probes = new[]
        {
            new AzureNative.Network.Inputs.ProbeArgs
            {
                IntervalInSeconds = 15,
                Name = "probe-lb",
                NumberOfProbes = 2,
                Port = 80,
                ProbeThreshold = 1,
                Protocol = "Http",
                RequestPath = "healthcheck.aspx",
            },
        },
        ResourceGroupName = "rg1",
        Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs
        {
            Name = "Standard",
        },
    });
});package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/network/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := network.NewLoadBalancer(ctx, "loadBalancer", &network.LoadBalancerArgs{
			BackendAddressPools: []network.BackendAddressPoolArgs{
				{
					Name: pulumi.String("be-lb"),
				},
			},
			FrontendIPConfigurations: []network.FrontendIPConfigurationArgs{
				{
					GatewayLoadBalancer: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider"),
					},
					Name: pulumi.String("fe-lb"),
					Subnet: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
					},
				},
			},
			InboundNatPools: network.InboundNatPoolArray{},
			InboundNatRules: []network.InboundNatRuleTypeArgs{
				{
					BackendPort:      pulumi.Int(3389),
					EnableFloatingIP: pulumi.Bool(true),
					FrontendIPConfiguration: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
					},
					FrontendPort:         pulumi.Int(3389),
					IdleTimeoutInMinutes: pulumi.Int(15),
					Name:                 pulumi.String("in-nat-rule"),
					Protocol:             pulumi.String("Tcp"),
				},
			},
			LoadBalancerName: pulumi.String("lb"),
			LoadBalancingRules: []network.LoadBalancingRuleArgs{
				{
					BackendAddressPool: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
					},
					BackendPort:      pulumi.Int(80),
					EnableFloatingIP: pulumi.Bool(true),
					FrontendIPConfiguration: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
					},
					FrontendPort:         pulumi.Int(80),
					IdleTimeoutInMinutes: pulumi.Int(15),
					LoadDistribution:     pulumi.String("Default"),
					Name:                 pulumi.String("rulelb"),
					Probe: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
					},
					Protocol: pulumi.String("Tcp"),
				},
			},
			Location:      pulumi.String("eastus"),
			OutboundRules: network.OutboundRuleArray{},
			Probes: []network.ProbeArgs{
				{
					IntervalInSeconds: pulumi.Int(15),
					Name:              pulumi.String("probe-lb"),
					NumberOfProbes:    pulumi.Int(2),
					Port:              pulumi.Int(80),
					ProbeThreshold:    pulumi.Int(1),
					Protocol:          pulumi.String("Http"),
					RequestPath:       pulumi.String("healthcheck.aspx"),
				},
			},
			ResourceGroupName: pulumi.String("rg1"),
			Sku: &network.LoadBalancerSkuArgs{
				Name: pulumi.String("Standard"),
			},
		})
		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.azurenative.network.LoadBalancer;
import com.pulumi.azurenative.network.LoadBalancerArgs;
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 loadBalancer = new LoadBalancer("loadBalancer", LoadBalancerArgs.builder()
            .backendAddressPools(Map.of("name", "be-lb"))
            .frontendIPConfigurations(Map.ofEntries(
                Map.entry("gatewayLoadBalancer", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider")),
                Map.entry("name", "fe-lb"),
                Map.entry("subnet", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"))
            ))
            .inboundNatPools()
            .inboundNatRules(Map.ofEntries(
                Map.entry("backendPort", 3389),
                Map.entry("enableFloatingIP", true),
                Map.entry("frontendIPConfiguration", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")),
                Map.entry("frontendPort", 3389),
                Map.entry("idleTimeoutInMinutes", 15),
                Map.entry("name", "in-nat-rule"),
                Map.entry("protocol", "Tcp")
            ))
            .loadBalancerName("lb")
            .loadBalancingRules(Map.ofEntries(
                Map.entry("backendAddressPool", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")),
                Map.entry("backendPort", 80),
                Map.entry("enableFloatingIP", true),
                Map.entry("frontendIPConfiguration", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")),
                Map.entry("frontendPort", 80),
                Map.entry("idleTimeoutInMinutes", 15),
                Map.entry("loadDistribution", "Default"),
                Map.entry("name", "rulelb"),
                Map.entry("probe", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")),
                Map.entry("protocol", "Tcp")
            ))
            .location("eastus")
            .outboundRules()
            .probes(Map.ofEntries(
                Map.entry("intervalInSeconds", 15),
                Map.entry("name", "probe-lb"),
                Map.entry("numberOfProbes", 2),
                Map.entry("port", 80),
                Map.entry("probeThreshold", 1),
                Map.entry("protocol", "Http"),
                Map.entry("requestPath", "healthcheck.aspx")
            ))
            .resourceGroupName("rg1")
            .sku(Map.of("name", "Standard"))
            .build());
    }
}Create load balancer with Gateway Load Balancer Provider configured with one Backend Pool
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var loadBalancer = new AzureNative.Network.LoadBalancer("loadBalancer", new()
    {
        BackendAddressPools = new[]
        {
            new AzureNative.Network.Inputs.BackendAddressPoolArgs
            {
                Name = "be-lb",
                TunnelInterfaces = new[]
                {
                    new AzureNative.Network.Inputs.GatewayLoadBalancerTunnelInterfaceArgs
                    {
                        Identifier = 900,
                        Port = 15000,
                        Protocol = "VXLAN",
                        Type = "Internal",
                    },
                    new AzureNative.Network.Inputs.GatewayLoadBalancerTunnelInterfaceArgs
                    {
                        Identifier = 901,
                        Port = 15001,
                        Protocol = "VXLAN",
                        Type = "Internal",
                    },
                },
            },
        },
        FrontendIPConfigurations = new[]
        {
            new AzureNative.Network.Inputs.FrontendIPConfigurationArgs
            {
                Name = "fe-lb",
                Subnet = new AzureNative.Network.Inputs.SubnetArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
                },
            },
        },
        InboundNatPools = new[] {},
        LoadBalancerName = "lb",
        LoadBalancingRules = new[]
        {
            new AzureNative.Network.Inputs.LoadBalancingRuleArgs
            {
                BackendAddressPools = new[]
                {
                    new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
                    },
                },
                BackendPort = 0,
                EnableFloatingIP = true,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
                },
                FrontendPort = 0,
                IdleTimeoutInMinutes = 15,
                LoadDistribution = "Default",
                Name = "rulelb",
                Probe = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                },
                Protocol = "All",
            },
        },
        Location = "eastus",
        OutboundRules = new[] {},
        Probes = new[]
        {
            new AzureNative.Network.Inputs.ProbeArgs
            {
                IntervalInSeconds = 15,
                Name = "probe-lb",
                NumberOfProbes = 2,
                Port = 80,
                ProbeThreshold = 1,
                Protocol = "Http",
                RequestPath = "healthcheck.aspx",
            },
        },
        ResourceGroupName = "rg1",
        Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs
        {
            Name = "Premium",
        },
    });
});package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/network/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := network.NewLoadBalancer(ctx, "loadBalancer", &network.LoadBalancerArgs{
			BackendAddressPools: []network.BackendAddressPoolArgs{
				{
					Name: pulumi.String("be-lb"),
					TunnelInterfaces: network.GatewayLoadBalancerTunnelInterfaceArray{
						{
							Identifier: pulumi.Int(900),
							Port:       pulumi.Int(15000),
							Protocol:   pulumi.String("VXLAN"),
							Type:       pulumi.String("Internal"),
						},
						{
							Identifier: pulumi.Int(901),
							Port:       pulumi.Int(15001),
							Protocol:   pulumi.String("VXLAN"),
							Type:       pulumi.String("Internal"),
						},
					},
				},
			},
			FrontendIPConfigurations: []network.FrontendIPConfigurationArgs{
				{
					Name: pulumi.String("fe-lb"),
					Subnet: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
					},
				},
			},
			InboundNatPools:  network.InboundNatPoolArray{},
			LoadBalancerName: pulumi.String("lb"),
			LoadBalancingRules: []network.LoadBalancingRuleArgs{
				{
					BackendAddressPools: network.SubResourceArray{
						{
							Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
						},
					},
					BackendPort:      pulumi.Int(0),
					EnableFloatingIP: pulumi.Bool(true),
					FrontendIPConfiguration: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
					},
					FrontendPort:         pulumi.Int(0),
					IdleTimeoutInMinutes: pulumi.Int(15),
					LoadDistribution:     pulumi.String("Default"),
					Name:                 pulumi.String("rulelb"),
					Probe: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
					},
					Protocol: pulumi.String("All"),
				},
			},
			Location:      pulumi.String("eastus"),
			OutboundRules: network.OutboundRuleArray{},
			Probes: []network.ProbeArgs{
				{
					IntervalInSeconds: pulumi.Int(15),
					Name:              pulumi.String("probe-lb"),
					NumberOfProbes:    pulumi.Int(2),
					Port:              pulumi.Int(80),
					ProbeThreshold:    pulumi.Int(1),
					Protocol:          pulumi.String("Http"),
					RequestPath:       pulumi.String("healthcheck.aspx"),
				},
			},
			ResourceGroupName: pulumi.String("rg1"),
			Sku: &network.LoadBalancerSkuArgs{
				Name: pulumi.String("Premium"),
			},
		})
		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.azurenative.network.LoadBalancer;
import com.pulumi.azurenative.network.LoadBalancerArgs;
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 loadBalancer = new LoadBalancer("loadBalancer", LoadBalancerArgs.builder()
            .backendAddressPools(Map.ofEntries(
                Map.entry("name", "be-lb"),
                Map.entry("tunnelInterfaces",
                    Map.ofEntries(
                        Map.entry("identifier", 900),
                        Map.entry("port", 15000),
                        Map.entry("protocol", "VXLAN"),
                        Map.entry("type", "Internal")
                    ),
                    Map.ofEntries(
                        Map.entry("identifier", 901),
                        Map.entry("port", 15001),
                        Map.entry("protocol", "VXLAN"),
                        Map.entry("type", "Internal")
                    ))
            ))
            .frontendIPConfigurations(Map.ofEntries(
                Map.entry("name", "fe-lb"),
                Map.entry("subnet", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"))
            ))
            .inboundNatPools()
            .loadBalancerName("lb")
            .loadBalancingRules(Map.ofEntries(
                Map.entry("backendAddressPools", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")),
                Map.entry("backendPort", 0),
                Map.entry("enableFloatingIP", true),
                Map.entry("frontendIPConfiguration", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")),
                Map.entry("frontendPort", 0),
                Map.entry("idleTimeoutInMinutes", 15),
                Map.entry("loadDistribution", "Default"),
                Map.entry("name", "rulelb"),
                Map.entry("probe", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")),
                Map.entry("protocol", "All")
            ))
            .location("eastus")
            .outboundRules()
            .probes(Map.ofEntries(
                Map.entry("intervalInSeconds", 15),
                Map.entry("name", "probe-lb"),
                Map.entry("numberOfProbes", 2),
                Map.entry("port", 80),
                Map.entry("probeThreshold", 1),
                Map.entry("protocol", "Http"),
                Map.entry("requestPath", "healthcheck.aspx")
            ))
            .resourceGroupName("rg1")
            .sku(Map.of("name", "Premium"))
            .build());
    }
}Create load balancer with Gateway Load Balancer Provider configured with two Backend Pool
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var loadBalancer = new AzureNative.Network.LoadBalancer("loadBalancer", new()
    {
        BackendAddressPools = new[]
        {
            new AzureNative.Network.Inputs.BackendAddressPoolArgs
            {
                Name = "be-lb1",
            },
            new AzureNative.Network.Inputs.BackendAddressPoolArgs
            {
                Name = "be-lb2",
            },
        },
        FrontendIPConfigurations = new[]
        {
            new AzureNative.Network.Inputs.FrontendIPConfigurationArgs
            {
                Name = "fe-lb",
                Subnet = new AzureNative.Network.Inputs.SubnetArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
                },
            },
        },
        InboundNatPools = new[] {},
        LoadBalancerName = "lb",
        LoadBalancingRules = new[]
        {
            new AzureNative.Network.Inputs.LoadBalancingRuleArgs
            {
                BackendAddressPool = null,
                BackendAddressPools = new[]
                {
                    new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1",
                    },
                    new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2",
                    },
                },
                BackendPort = 0,
                EnableFloatingIP = true,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
                },
                FrontendPort = 0,
                IdleTimeoutInMinutes = 15,
                LoadDistribution = "Default",
                Name = "rulelb",
                Probe = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                },
                Protocol = "All",
            },
        },
        Location = "eastus",
        OutboundRules = new[] {},
        Probes = new[]
        {
            new AzureNative.Network.Inputs.ProbeArgs
            {
                IntervalInSeconds = 15,
                Name = "probe-lb",
                NumberOfProbes = 2,
                Port = 80,
                ProbeThreshold = 1,
                Protocol = "Http",
                RequestPath = "healthcheck.aspx",
            },
        },
        ResourceGroupName = "rg1",
        Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs
        {
            Name = "Premium",
        },
    });
});package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/network/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := network.NewLoadBalancer(ctx, "loadBalancer", &network.LoadBalancerArgs{
			BackendAddressPools: []network.BackendAddressPoolArgs{
				{
					Name: pulumi.String("be-lb1"),
				},
				{
					Name: pulumi.String("be-lb2"),
				},
			},
			FrontendIPConfigurations: []network.FrontendIPConfigurationArgs{
				{
					Name: pulumi.String("fe-lb"),
					Subnet: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
					},
				},
			},
			InboundNatPools:  network.InboundNatPoolArray{},
			LoadBalancerName: pulumi.String("lb"),
			LoadBalancingRules: []network.LoadBalancingRuleArgs{
				{
					BackendAddressPool: nil,
					BackendAddressPools: network.SubResourceArray{
						{
							Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1"),
						},
						{
							Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2"),
						},
					},
					BackendPort:      pulumi.Int(0),
					EnableFloatingIP: pulumi.Bool(true),
					FrontendIPConfiguration: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
					},
					FrontendPort:         pulumi.Int(0),
					IdleTimeoutInMinutes: pulumi.Int(15),
					LoadDistribution:     pulumi.String("Default"),
					Name:                 pulumi.String("rulelb"),
					Probe: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
					},
					Protocol: pulumi.String("All"),
				},
			},
			Location:      pulumi.String("eastus"),
			OutboundRules: network.OutboundRuleArray{},
			Probes: []network.ProbeArgs{
				{
					IntervalInSeconds: pulumi.Int(15),
					Name:              pulumi.String("probe-lb"),
					NumberOfProbes:    pulumi.Int(2),
					Port:              pulumi.Int(80),
					ProbeThreshold:    pulumi.Int(1),
					Protocol:          pulumi.String("Http"),
					RequestPath:       pulumi.String("healthcheck.aspx"),
				},
			},
			ResourceGroupName: pulumi.String("rg1"),
			Sku: &network.LoadBalancerSkuArgs{
				Name: pulumi.String("Premium"),
			},
		})
		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.azurenative.network.LoadBalancer;
import com.pulumi.azurenative.network.LoadBalancerArgs;
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 loadBalancer = new LoadBalancer("loadBalancer", LoadBalancerArgs.builder()
            .backendAddressPools(
                Map.of("name", "be-lb1"),
                Map.of("name", "be-lb2"))
            .frontendIPConfigurations(Map.ofEntries(
                Map.entry("name", "fe-lb"),
                Map.entry("subnet", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"))
            ))
            .inboundNatPools()
            .loadBalancerName("lb")
            .loadBalancingRules(Map.ofEntries(
                Map.entry("backendAddressPool", ),
                Map.entry("backendAddressPools",
                    Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1"),
                    Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2")),
                Map.entry("backendPort", 0),
                Map.entry("enableFloatingIP", true),
                Map.entry("frontendIPConfiguration", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")),
                Map.entry("frontendPort", 0),
                Map.entry("idleTimeoutInMinutes", 15),
                Map.entry("loadDistribution", "Default"),
                Map.entry("name", "rulelb"),
                Map.entry("probe", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")),
                Map.entry("protocol", "All")
            ))
            .location("eastus")
            .outboundRules()
            .probes(Map.ofEntries(
                Map.entry("intervalInSeconds", 15),
                Map.entry("name", "probe-lb"),
                Map.entry("numberOfProbes", 2),
                Map.entry("port", 80),
                Map.entry("probeThreshold", 1),
                Map.entry("protocol", "Http"),
                Map.entry("requestPath", "healthcheck.aspx")
            ))
            .resourceGroupName("rg1")
            .sku(Map.of("name", "Premium"))
            .build());
    }
}Create load balancer with Global Tier and one regional load balancer in its backend pool
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var loadBalancer = new AzureNative.Network.LoadBalancer("loadBalancer", new()
    {
        BackendAddressPools = new[]
        {
            new AzureNative.Network.Inputs.BackendAddressPoolArgs
            {
                LoadBalancerBackendAddresses = new[]
                {
                    new AzureNative.Network.Inputs.LoadBalancerBackendAddressArgs
                    {
                        LoadBalancerFrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                        {
                            Id = "/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb",
                        },
                        Name = "regional-lb1-address",
                    },
                },
                Name = "be-lb",
            },
        },
        FrontendIPConfigurations = new[]
        {
            new AzureNative.Network.Inputs.FrontendIPConfigurationArgs
            {
                Name = "fe-lb",
                Subnet = new AzureNative.Network.Inputs.SubnetArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
                },
            },
        },
        LoadBalancerName = "lb",
        LoadBalancingRules = new[]
        {
            new AzureNative.Network.Inputs.LoadBalancingRuleArgs
            {
                BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
                },
                BackendPort = 80,
                EnableFloatingIP = false,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
                },
                FrontendPort = 80,
                IdleTimeoutInMinutes = 15,
                LoadDistribution = "Default",
                Name = "rulelb",
                Probe = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                },
                Protocol = "Tcp",
            },
        },
        Location = "eastus",
        Probes = new[]
        {
            new AzureNative.Network.Inputs.ProbeArgs
            {
                IntervalInSeconds = 15,
                Name = "probe-lb",
                NumberOfProbes = 2,
                Port = 80,
                ProbeThreshold = 1,
                Protocol = "Http",
                RequestPath = "healthcheck.aspx",
            },
        },
        ResourceGroupName = "rg1",
        Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs
        {
            Name = "Standard",
            Tier = "Global",
        },
    });
});package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/network/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := network.NewLoadBalancer(ctx, "loadBalancer", &network.LoadBalancerArgs{
			BackendAddressPools: []network.BackendAddressPoolArgs{
				{
					LoadBalancerBackendAddresses: network.LoadBalancerBackendAddressArray{
						{
							LoadBalancerFrontendIPConfiguration: {
								Id: pulumi.String("/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb"),
							},
							Name: pulumi.String("regional-lb1-address"),
						},
					},
					Name: pulumi.String("be-lb"),
				},
			},
			FrontendIPConfigurations: []network.FrontendIPConfigurationArgs{
				{
					Name: pulumi.String("fe-lb"),
					Subnet: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
					},
				},
			},
			LoadBalancerName: pulumi.String("lb"),
			LoadBalancingRules: []network.LoadBalancingRuleArgs{
				{
					BackendAddressPool: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
					},
					BackendPort:      pulumi.Int(80),
					EnableFloatingIP: pulumi.Bool(false),
					FrontendIPConfiguration: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
					},
					FrontendPort:         pulumi.Int(80),
					IdleTimeoutInMinutes: pulumi.Int(15),
					LoadDistribution:     pulumi.String("Default"),
					Name:                 pulumi.String("rulelb"),
					Probe: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
					},
					Protocol: pulumi.String("Tcp"),
				},
			},
			Location: pulumi.String("eastus"),
			Probes: []network.ProbeArgs{
				{
					IntervalInSeconds: pulumi.Int(15),
					Name:              pulumi.String("probe-lb"),
					NumberOfProbes:    pulumi.Int(2),
					Port:              pulumi.Int(80),
					ProbeThreshold:    pulumi.Int(1),
					Protocol:          pulumi.String("Http"),
					RequestPath:       pulumi.String("healthcheck.aspx"),
				},
			},
			ResourceGroupName: pulumi.String("rg1"),
			Sku: &network.LoadBalancerSkuArgs{
				Name: pulumi.String("Standard"),
				Tier: pulumi.String("Global"),
			},
		})
		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.azurenative.network.LoadBalancer;
import com.pulumi.azurenative.network.LoadBalancerArgs;
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 loadBalancer = new LoadBalancer("loadBalancer", LoadBalancerArgs.builder()
            .backendAddressPools(Map.ofEntries(
                Map.entry("loadBalancerBackendAddresses", Map.ofEntries(
                    Map.entry("loadBalancerFrontendIPConfiguration", Map.of("id", "/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb")),
                    Map.entry("name", "regional-lb1-address")
                )),
                Map.entry("name", "be-lb")
            ))
            .frontendIPConfigurations(Map.ofEntries(
                Map.entry("name", "fe-lb"),
                Map.entry("subnet", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"))
            ))
            .loadBalancerName("lb")
            .loadBalancingRules(Map.ofEntries(
                Map.entry("backendAddressPool", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")),
                Map.entry("backendPort", 80),
                Map.entry("enableFloatingIP", false),
                Map.entry("frontendIPConfiguration", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")),
                Map.entry("frontendPort", 80),
                Map.entry("idleTimeoutInMinutes", 15),
                Map.entry("loadDistribution", "Default"),
                Map.entry("name", "rulelb"),
                Map.entry("probe", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")),
                Map.entry("protocol", "Tcp")
            ))
            .location("eastus")
            .probes(Map.ofEntries(
                Map.entry("intervalInSeconds", 15),
                Map.entry("name", "probe-lb"),
                Map.entry("numberOfProbes", 2),
                Map.entry("port", 80),
                Map.entry("probeThreshold", 1),
                Map.entry("protocol", "Http"),
                Map.entry("requestPath", "healthcheck.aspx")
            ))
            .resourceGroupName("rg1")
            .sku(Map.ofEntries(
                Map.entry("name", "Standard"),
                Map.entry("tier", "Global")
            ))
            .build());
    }
}Create load balancer with Standard SKU
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var loadBalancer = new AzureNative.Network.LoadBalancer("loadBalancer", new()
    {
        BackendAddressPools = new[]
        {
            new AzureNative.Network.Inputs.BackendAddressPoolArgs
            {
                Name = "be-lb",
            },
        },
        FrontendIPConfigurations = new[]
        {
            new AzureNative.Network.Inputs.FrontendIPConfigurationArgs
            {
                Name = "fe-lb",
                Subnet = new AzureNative.Network.Inputs.SubnetArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
                },
            },
        },
        InboundNatPools = new[] {},
        InboundNatRules = new[]
        {
            new AzureNative.Network.Inputs.InboundNatRuleArgs
            {
                BackendPort = 3389,
                EnableFloatingIP = true,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
                },
                FrontendPort = 3389,
                IdleTimeoutInMinutes = 15,
                Name = "in-nat-rule",
                Protocol = "Tcp",
            },
        },
        LoadBalancerName = "lb",
        LoadBalancingRules = new[]
        {
            new AzureNative.Network.Inputs.LoadBalancingRuleArgs
            {
                BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
                },
                BackendPort = 80,
                EnableFloatingIP = true,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
                },
                FrontendPort = 80,
                IdleTimeoutInMinutes = 15,
                LoadDistribution = "Default",
                Name = "rulelb",
                Probe = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                },
                Protocol = "Tcp",
            },
        },
        Location = "eastus",
        OutboundRules = new[] {},
        Probes = new[]
        {
            new AzureNative.Network.Inputs.ProbeArgs
            {
                IntervalInSeconds = 15,
                Name = "probe-lb",
                NumberOfProbes = 2,
                Port = 80,
                ProbeThreshold = 1,
                Protocol = "Http",
                RequestPath = "healthcheck.aspx",
            },
        },
        ResourceGroupName = "rg1",
        Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs
        {
            Name = "Standard",
        },
    });
});package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/network/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := network.NewLoadBalancer(ctx, "loadBalancer", &network.LoadBalancerArgs{
			BackendAddressPools: []network.BackendAddressPoolArgs{
				{
					Name: pulumi.String("be-lb"),
				},
			},
			FrontendIPConfigurations: []network.FrontendIPConfigurationArgs{
				{
					Name: pulumi.String("fe-lb"),
					Subnet: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
					},
				},
			},
			InboundNatPools: network.InboundNatPoolArray{},
			InboundNatRules: []network.InboundNatRuleTypeArgs{
				{
					BackendPort:      pulumi.Int(3389),
					EnableFloatingIP: pulumi.Bool(true),
					FrontendIPConfiguration: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
					},
					FrontendPort:         pulumi.Int(3389),
					IdleTimeoutInMinutes: pulumi.Int(15),
					Name:                 pulumi.String("in-nat-rule"),
					Protocol:             pulumi.String("Tcp"),
				},
			},
			LoadBalancerName: pulumi.String("lb"),
			LoadBalancingRules: []network.LoadBalancingRuleArgs{
				{
					BackendAddressPool: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
					},
					BackendPort:      pulumi.Int(80),
					EnableFloatingIP: pulumi.Bool(true),
					FrontendIPConfiguration: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
					},
					FrontendPort:         pulumi.Int(80),
					IdleTimeoutInMinutes: pulumi.Int(15),
					LoadDistribution:     pulumi.String("Default"),
					Name:                 pulumi.String("rulelb"),
					Probe: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
					},
					Protocol: pulumi.String("Tcp"),
				},
			},
			Location:      pulumi.String("eastus"),
			OutboundRules: network.OutboundRuleArray{},
			Probes: []network.ProbeArgs{
				{
					IntervalInSeconds: pulumi.Int(15),
					Name:              pulumi.String("probe-lb"),
					NumberOfProbes:    pulumi.Int(2),
					Port:              pulumi.Int(80),
					ProbeThreshold:    pulumi.Int(1),
					Protocol:          pulumi.String("Http"),
					RequestPath:       pulumi.String("healthcheck.aspx"),
				},
			},
			ResourceGroupName: pulumi.String("rg1"),
			Sku: &network.LoadBalancerSkuArgs{
				Name: pulumi.String("Standard"),
			},
		})
		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.azurenative.network.LoadBalancer;
import com.pulumi.azurenative.network.LoadBalancerArgs;
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 loadBalancer = new LoadBalancer("loadBalancer", LoadBalancerArgs.builder()
            .backendAddressPools(Map.of("name", "be-lb"))
            .frontendIPConfigurations(Map.ofEntries(
                Map.entry("name", "fe-lb"),
                Map.entry("subnet", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"))
            ))
            .inboundNatPools()
            .inboundNatRules(Map.ofEntries(
                Map.entry("backendPort", 3389),
                Map.entry("enableFloatingIP", true),
                Map.entry("frontendIPConfiguration", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")),
                Map.entry("frontendPort", 3389),
                Map.entry("idleTimeoutInMinutes", 15),
                Map.entry("name", "in-nat-rule"),
                Map.entry("protocol", "Tcp")
            ))
            .loadBalancerName("lb")
            .loadBalancingRules(Map.ofEntries(
                Map.entry("backendAddressPool", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")),
                Map.entry("backendPort", 80),
                Map.entry("enableFloatingIP", true),
                Map.entry("frontendIPConfiguration", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")),
                Map.entry("frontendPort", 80),
                Map.entry("idleTimeoutInMinutes", 15),
                Map.entry("loadDistribution", "Default"),
                Map.entry("name", "rulelb"),
                Map.entry("probe", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")),
                Map.entry("protocol", "Tcp")
            ))
            .location("eastus")
            .outboundRules()
            .probes(Map.ofEntries(
                Map.entry("intervalInSeconds", 15),
                Map.entry("name", "probe-lb"),
                Map.entry("numberOfProbes", 2),
                Map.entry("port", 80),
                Map.entry("probeThreshold", 1),
                Map.entry("protocol", "Http"),
                Map.entry("requestPath", "healthcheck.aspx")
            ))
            .resourceGroupName("rg1")
            .sku(Map.of("name", "Standard"))
            .build());
    }
}Create load balancer with inbound nat pool
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var loadBalancer = new AzureNative.Network.LoadBalancer("loadBalancer", new()
    {
        BackendAddressPools = new[] {},
        FrontendIPConfigurations = new[]
        {
            new AzureNative.Network.Inputs.FrontendIPConfigurationArgs
            {
                Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
                Name = "test",
                PrivateIPAllocationMethod = "Dynamic",
                Subnet = new AzureNative.Network.Inputs.SubnetArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet",
                },
                Zones = new() { },
            },
        },
        InboundNatPools = new[]
        {
            new AzureNative.Network.Inputs.InboundNatPoolArgs
            {
                BackendPort = 8888,
                EnableFloatingIP = true,
                EnableTcpReset = true,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
                },
                FrontendPortRangeEnd = 8085,
                FrontendPortRangeStart = 8080,
                Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test",
                IdleTimeoutInMinutes = 10,
                Name = "test",
                Protocol = "Tcp",
            },
        },
        InboundNatRules = new[] {},
        LoadBalancerName = "lb",
        LoadBalancingRules = new[] {},
        Location = "eastus",
        OutboundRules = new[] {},
        Probes = new[] {},
        ResourceGroupName = "rg1",
        Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs
        {
            Name = "Standard",
        },
    });
});package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/network/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := network.NewLoadBalancer(ctx, "loadBalancer", &network.LoadBalancerArgs{
			BackendAddressPools: network.BackendAddressPoolArray{},
			FrontendIPConfigurations: []network.FrontendIPConfigurationArgs{
				{
					Id:                        pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"),
					Name:                      pulumi.String("test"),
					PrivateIPAllocationMethod: pulumi.String("Dynamic"),
					Subnet: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"),
					},
					Zones: pulumi.StringArray{},
				},
			},
			InboundNatPools: []network.InboundNatPoolArgs{
				{
					BackendPort:      pulumi.Int(8888),
					EnableFloatingIP: pulumi.Bool(true),
					EnableTcpReset:   pulumi.Bool(true),
					FrontendIPConfiguration: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"),
					},
					FrontendPortRangeEnd:   pulumi.Int(8085),
					FrontendPortRangeStart: pulumi.Int(8080),
					Id:                     pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"),
					IdleTimeoutInMinutes:   pulumi.Int(10),
					Name:                   pulumi.String("test"),
					Protocol:               pulumi.String("Tcp"),
				},
			},
			InboundNatRules:    network.InboundNatRuleTypeArray{},
			LoadBalancerName:   pulumi.String("lb"),
			LoadBalancingRules: network.LoadBalancingRuleArray{},
			Location:           pulumi.String("eastus"),
			OutboundRules:      network.OutboundRuleArray{},
			Probes:             network.ProbeArray{},
			ResourceGroupName:  pulumi.String("rg1"),
			Sku: &network.LoadBalancerSkuArgs{
				Name: pulumi.String("Standard"),
			},
		})
		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.azurenative.network.LoadBalancer;
import com.pulumi.azurenative.network.LoadBalancerArgs;
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 loadBalancer = new LoadBalancer("loadBalancer", LoadBalancerArgs.builder()
            .backendAddressPools()
            .frontendIPConfigurations(Map.ofEntries(
                Map.entry("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"),
                Map.entry("name", "test"),
                Map.entry("privateIPAllocationMethod", "Dynamic"),
                Map.entry("subnet", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet")),
                Map.entry("zones", )
            ))
            .inboundNatPools(Map.ofEntries(
                Map.entry("backendPort", 8888),
                Map.entry("enableFloatingIP", true),
                Map.entry("enableTcpReset", true),
                Map.entry("frontendIPConfiguration", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test")),
                Map.entry("frontendPortRangeEnd", 8085),
                Map.entry("frontendPortRangeStart", 8080),
                Map.entry("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"),
                Map.entry("idleTimeoutInMinutes", 10),
                Map.entry("name", "test"),
                Map.entry("protocol", "Tcp")
            ))
            .inboundNatRules()
            .loadBalancerName("lb")
            .loadBalancingRules()
            .location("eastus")
            .outboundRules()
            .probes()
            .resourceGroupName("rg1")
            .sku(Map.of("name", "Standard"))
            .build());
    }
}Create load balancer with outbound rules
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var loadBalancer = new AzureNative.Network.LoadBalancer("loadBalancer", new()
    {
        BackendAddressPools = new[]
        {
            new AzureNative.Network.Inputs.BackendAddressPoolArgs
            {
                Name = "be-lb",
            },
        },
        FrontendIPConfigurations = new[]
        {
            {
                { "name", "fe-lb" },
                { "publicIPAddress", new AzureNative.Network.Inputs.PublicIPAddressArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip",
                } },
            },
        },
        InboundNatPools = new[] {},
        InboundNatRules = new[]
        {
            new AzureNative.Network.Inputs.InboundNatRuleArgs
            {
                BackendPort = 3389,
                EnableFloatingIP = true,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
                },
                FrontendPort = 3389,
                IdleTimeoutInMinutes = 15,
                Name = "in-nat-rule",
                Protocol = "Tcp",
            },
        },
        LoadBalancerName = "lb",
        LoadBalancingRules = new[]
        {
            new AzureNative.Network.Inputs.LoadBalancingRuleArgs
            {
                BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
                },
                BackendPort = 80,
                DisableOutboundSnat = true,
                EnableFloatingIP = true,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
                },
                FrontendPort = 80,
                IdleTimeoutInMinutes = 15,
                LoadDistribution = "Default",
                Name = "rulelb",
                Probe = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                },
                Protocol = "Tcp",
            },
        },
        Location = "eastus",
        OutboundRules = new[]
        {
            new AzureNative.Network.Inputs.OutboundRuleArgs
            {
                BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
                },
                FrontendIPConfigurations = new[]
                {
                    new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
                    },
                },
                Name = "rule1",
                Protocol = "All",
            },
        },
        Probes = new[]
        {
            new AzureNative.Network.Inputs.ProbeArgs
            {
                IntervalInSeconds = 15,
                Name = "probe-lb",
                NumberOfProbes = 2,
                Port = 80,
                ProbeThreshold = 1,
                Protocol = "Http",
                RequestPath = "healthcheck.aspx",
            },
        },
        ResourceGroupName = "rg1",
        Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs
        {
            Name = "Standard",
        },
    });
});package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/network/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := network.NewLoadBalancer(ctx, "loadBalancer", &network.LoadBalancerArgs{
			BackendAddressPools: []network.BackendAddressPoolArgs{
				{
					Name: pulumi.String("be-lb"),
				},
			},
			FrontendIPConfigurations: []network.FrontendIPConfigurationArgs{
				{
					Name: pulumi.String("fe-lb"),
					PublicIPAddress: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"),
					},
				},
			},
			InboundNatPools: network.InboundNatPoolArray{},
			InboundNatRules: []network.InboundNatRuleTypeArgs{
				{
					BackendPort:      pulumi.Int(3389),
					EnableFloatingIP: pulumi.Bool(true),
					FrontendIPConfiguration: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
					},
					FrontendPort:         pulumi.Int(3389),
					IdleTimeoutInMinutes: pulumi.Int(15),
					Name:                 pulumi.String("in-nat-rule"),
					Protocol:             pulumi.String("Tcp"),
				},
			},
			LoadBalancerName: pulumi.String("lb"),
			LoadBalancingRules: []network.LoadBalancingRuleArgs{
				{
					BackendAddressPool: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
					},
					BackendPort:         pulumi.Int(80),
					DisableOutboundSnat: pulumi.Bool(true),
					EnableFloatingIP:    pulumi.Bool(true),
					FrontendIPConfiguration: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
					},
					FrontendPort:         pulumi.Int(80),
					IdleTimeoutInMinutes: pulumi.Int(15),
					LoadDistribution:     pulumi.String("Default"),
					Name:                 pulumi.String("rulelb"),
					Probe: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
					},
					Protocol: pulumi.String("Tcp"),
				},
			},
			Location: pulumi.String("eastus"),
			OutboundRules: []network.OutboundRuleArgs{
				{
					BackendAddressPool: {
						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
					},
					FrontendIPConfigurations: network.SubResourceArray{
						{
							Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
						},
					},
					Name:     pulumi.String("rule1"),
					Protocol: pulumi.String("All"),
				},
			},
			Probes: []network.ProbeArgs{
				{
					IntervalInSeconds: pulumi.Int(15),
					Name:              pulumi.String("probe-lb"),
					NumberOfProbes:    pulumi.Int(2),
					Port:              pulumi.Int(80),
					ProbeThreshold:    pulumi.Int(1),
					Protocol:          pulumi.String("Http"),
					RequestPath:       pulumi.String("healthcheck.aspx"),
				},
			},
			ResourceGroupName: pulumi.String("rg1"),
			Sku: &network.LoadBalancerSkuArgs{
				Name: pulumi.String("Standard"),
			},
		})
		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.azurenative.network.LoadBalancer;
import com.pulumi.azurenative.network.LoadBalancerArgs;
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 loadBalancer = new LoadBalancer("loadBalancer", LoadBalancerArgs.builder()
            .backendAddressPools(Map.of("name", "be-lb"))
            .frontendIPConfigurations(Map.ofEntries(
                Map.entry("name", "fe-lb"),
                Map.entry("publicIPAddress", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"))
            ))
            .inboundNatPools()
            .inboundNatRules(Map.ofEntries(
                Map.entry("backendPort", 3389),
                Map.entry("enableFloatingIP", true),
                Map.entry("frontendIPConfiguration", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")),
                Map.entry("frontendPort", 3389),
                Map.entry("idleTimeoutInMinutes", 15),
                Map.entry("name", "in-nat-rule"),
                Map.entry("protocol", "Tcp")
            ))
            .loadBalancerName("lb")
            .loadBalancingRules(Map.ofEntries(
                Map.entry("backendAddressPool", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")),
                Map.entry("backendPort", 80),
                Map.entry("disableOutboundSnat", true),
                Map.entry("enableFloatingIP", true),
                Map.entry("frontendIPConfiguration", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")),
                Map.entry("frontendPort", 80),
                Map.entry("idleTimeoutInMinutes", 15),
                Map.entry("loadDistribution", "Default"),
                Map.entry("name", "rulelb"),
                Map.entry("probe", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")),
                Map.entry("protocol", "Tcp")
            ))
            .location("eastus")
            .outboundRules(Map.ofEntries(
                Map.entry("backendAddressPool", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")),
                Map.entry("frontendIPConfigurations", Map.of("id", "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")),
                Map.entry("name", "rule1"),
                Map.entry("protocol", "All")
            ))
            .probes(Map.ofEntries(
                Map.entry("intervalInSeconds", 15),
                Map.entry("name", "probe-lb"),
                Map.entry("numberOfProbes", 2),
                Map.entry("port", 80),
                Map.entry("probeThreshold", 1),
                Map.entry("protocol", "Http"),
                Map.entry("requestPath", "healthcheck.aspx")
            ))
            .resourceGroupName("rg1")
            .sku(Map.of("name", "Standard"))
            .build());
    }
}Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:network:LoadBalancer lb /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}Properties
Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound NAT rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules.
Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to reference individual inbound NAT rules.