1. Packages
  2. Azure Native
  3. API Docs
  4. network
  5. LoadBalancer
This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
Azure Native v2.44.1 published on Thursday, Jun 6, 2024 by Pulumi

azure-native.network.LoadBalancer

Explore with Pulumi AI

azure-native logo
This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
Azure Native v2.44.1 published on Thursday, Jun 6, 2024 by Pulumi

    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, 2023-09-01, 2023-11-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 = AzureNative.Network.TransportProtocol.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 = AzureNative.Network.LoadDistribution.Default,
                    Name = "rulelb",
                    Probe = new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                    },
                    Protocol = AzureNative.Network.TransportProtocol.Tcp,
                },
            },
            Location = "eastus",
            Probes = new[]
            {
                new AzureNative.Network.Inputs.ProbeArgs
                {
                    IntervalInSeconds = 15,
                    Name = "probe-lb",
                    NumberOfProbes = 2,
                    Port = 80,
                    ProbeThreshold = 1,
                    Protocol = AzureNative.Network.ProbeProtocol.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.BackendAddressPoolArray{
    				&network.BackendAddressPoolArgs{
    					Name: pulumi.String("be-lb"),
    				},
    			},
    			FrontendIPConfigurations: network.FrontendIPConfigurationArray{
    				&network.FrontendIPConfigurationArgs{
    					Name: pulumi.String("fe-lb"),
    					Subnet: &network.SubnetTypeArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
    					},
    				},
    			},
    			InboundNatPools: network.InboundNatPoolArray{},
    			InboundNatRules: network.InboundNatRuleTypeArray{
    				&network.InboundNatRuleTypeArgs{
    					BackendPort:      pulumi.Int(3389),
    					EnableFloatingIP: pulumi.Bool(true),
    					EnableTcpReset:   pulumi.Bool(false),
    					FrontendIPConfiguration: &network.SubResourceArgs{
    						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(network.TransportProtocolTcp),
    				},
    			},
    			LoadBalancerName: pulumi.String("lb"),
    			LoadBalancingRules: network.LoadBalancingRuleArray{
    				&network.LoadBalancingRuleArgs{
    					BackendAddressPool: &network.SubResourceArgs{
    						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: &network.SubResourceArgs{
    						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(network.LoadDistributionDefault),
    					Name:                 pulumi.String("rulelb"),
    					Probe: &network.SubResourceArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
    					},
    					Protocol: pulumi.String(network.TransportProtocolTcp),
    				},
    			},
    			Location: pulumi.String("eastus"),
    			Probes: network.ProbeArray{
    				&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(network.ProbeProtocolHttp),
    					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 com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;
    import com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;
    import com.pulumi.azurenative.network.inputs.SubnetArgs;
    import com.pulumi.azurenative.network.inputs.InboundNatRuleArgs;
    import com.pulumi.azurenative.network.inputs.SubResourceArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;
    import com.pulumi.azurenative.network.inputs.ProbeArgs;
    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(BackendAddressPoolArgs.builder()
                    .name("be-lb")
                    .build())
                .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()
                    .name("fe-lb")
                    .subnet(SubnetArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb")
                        .build())
                    .build())
                .inboundNatPools()
                .inboundNatRules(InboundNatRuleArgs.builder()
                    .backendPort(3389)
                    .enableFloatingIP(true)
                    .enableTcpReset(false)
                    .frontendIPConfiguration(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")
                        .build())
                    .frontendPort(3389)
                    .idleTimeoutInMinutes(15)
                    .name("in-nat-rule")
                    .protocol("Tcp")
                    .build())
                .loadBalancerName("lb")
                .loadBalancingRules(LoadBalancingRuleArgs.builder()
                    .backendAddressPool(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")
                        .build())
                    .backendPort(80)
                    .enableFloatingIP(true)
                    .enableTcpReset(false)
                    .frontendIPConfiguration(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")
                        .build())
                    .frontendPort(80)
                    .idleTimeoutInMinutes(15)
                    .loadDistribution("Default")
                    .name("rulelb")
                    .probe(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")
                        .build())
                    .protocol("Tcp")
                    .build())
                .location("eastus")
                .probes(ProbeArgs.builder()
                    .intervalInSeconds(15)
                    .name("probe-lb")
                    .numberOfProbes(2)
                    .port(80)
                    .probeThreshold(1)
                    .protocol("Http")
                    .requestPath("healthcheck.aspx")
                    .build())
                .resourceGroupName("rg1")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    load_balancer = azure_native.network.LoadBalancer("loadBalancer",
        backend_address_pools=[azure_native.network.BackendAddressPoolArgs(
            name="be-lb",
        )],
        frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(
            name="fe-lb",
            subnet=azure_native.network.SubnetArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
            ),
        )],
        inbound_nat_pools=[],
        inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(
            backend_port=3389,
            enable_floating_ip=True,
            enable_tcp_reset=False,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            ),
            frontend_port=3389,
            idle_timeout_in_minutes=15,
            name="in-nat-rule",
            protocol=azure_native.network.TransportProtocol.TCP,
        )],
        load_balancer_name="lb",
        load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(
            backend_address_pool=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            ),
            backend_port=80,
            enable_floating_ip=True,
            enable_tcp_reset=False,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            ),
            frontend_port=80,
            idle_timeout_in_minutes=15,
            load_distribution=azure_native.network.LoadDistribution.DEFAULT,
            name="rulelb",
            probe=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            ),
            protocol=azure_native.network.TransportProtocol.TCP,
        )],
        location="eastus",
        probes=[azure_native.network.ProbeArgs(
            interval_in_seconds=15,
            name="probe-lb",
            number_of_probes=2,
            port=80,
            probe_threshold=1,
            protocol=azure_native.network.ProbeProtocol.HTTP,
            request_path="healthcheck.aspx",
        )],
        resource_group_name="rg1")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const loadBalancer = new azure_native.network.LoadBalancer("loadBalancer", {
        backendAddressPools: [{
            name: "be-lb",
        }],
        frontendIPConfigurations: [{
            name: "fe-lb",
            subnet: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
            },
        }],
        inboundNatPools: [],
        inboundNatRules: [{
            backendPort: 3389,
            enableFloatingIP: true,
            enableTcpReset: false,
            frontendIPConfiguration: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            },
            frontendPort: 3389,
            idleTimeoutInMinutes: 15,
            name: "in-nat-rule",
            protocol: azure_native.network.TransportProtocol.Tcp,
        }],
        loadBalancerName: "lb",
        loadBalancingRules: [{
            backendAddressPool: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            },
            backendPort: 80,
            enableFloatingIP: true,
            enableTcpReset: false,
            frontendIPConfiguration: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            },
            frontendPort: 80,
            idleTimeoutInMinutes: 15,
            loadDistribution: azure_native.network.LoadDistribution.Default,
            name: "rulelb",
            probe: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            },
            protocol: azure_native.network.TransportProtocol.Tcp,
        }],
        location: "eastus",
        probes: [{
            intervalInSeconds: 15,
            name: "probe-lb",
            numberOfProbes: 2,
            port: 80,
            probeThreshold: 1,
            protocol: azure_native.network.ProbeProtocol.Http,
            requestPath: "healthcheck.aspx",
        }],
        resourceGroupName: "rg1",
    });
    
    resources:
      loadBalancer:
        type: azure-native:network:LoadBalancer
        properties:
          backendAddressPools:
            - name: be-lb
          frontendIPConfigurations:
            - name: fe-lb
              subnet:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb
          inboundNatPools: []
          inboundNatRules:
            - backendPort: 3389
              enableFloatingIP: true
              enableTcpReset: false
              frontendIPConfiguration:
                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:
            - backendAddressPool:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb
              backendPort: 80
              enableFloatingIP: true
              enableTcpReset: false
              frontendIPConfiguration:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb
              frontendPort: 80
              idleTimeoutInMinutes: 15
              loadDistribution: Default
              name: rulelb
              probe:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb
              protocol: Tcp
          location: eastus
          probes:
            - intervalInSeconds: 15
              name: probe-lb
              numberOfProbes: 2
              port: 80
              probeThreshold: 1
              protocol: Http
              requestPath: healthcheck.aspx
          resourceGroupName: rg1
    

    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 = AzureNative.Network.TransportProtocol.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 = AzureNative.Network.LoadDistribution.Default,
                    Name = "rulelb",
                    Probe = new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                    },
                    Protocol = AzureNative.Network.TransportProtocol.Tcp,
                },
            },
            Location = "eastus",
            OutboundRules = new[] {},
            Probes = new[]
            {
                new AzureNative.Network.Inputs.ProbeArgs
                {
                    IntervalInSeconds = 15,
                    Name = "probe-lb",
                    NumberOfProbes = 2,
                    Port = 80,
                    ProbeThreshold = 1,
                    Protocol = AzureNative.Network.ProbeProtocol.Http,
                    RequestPath = "healthcheck.aspx",
                },
            },
            ResourceGroupName = "rg1",
            Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs
            {
                Name = AzureNative.Network.LoadBalancerSkuName.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{
    				&network.BackendAddressPoolArgs{
    					Name: pulumi.String("be-lb"),
    				},
    			},
    			FrontendIPConfigurations: network.FrontendIPConfigurationArray{
    				&network.FrontendIPConfigurationArgs{
    					Name: pulumi.String("fe-lb"),
    					Subnet: &network.SubnetTypeArgs{
    						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.InboundNatRuleTypeArray{
    				&network.InboundNatRuleTypeArgs{
    					BackendPort:      pulumi.Int(3389),
    					EnableFloatingIP: pulumi.Bool(true),
    					FrontendIPConfiguration: &network.SubResourceArgs{
    						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(network.TransportProtocolTcp),
    				},
    			},
    			LoadBalancerName: pulumi.String("lb"),
    			LoadBalancingRules: network.LoadBalancingRuleArray{
    				&network.LoadBalancingRuleArgs{
    					BackendAddressPool: &network.SubResourceArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
    					},
    					BackendPort:      pulumi.Int(80),
    					EnableFloatingIP: pulumi.Bool(true),
    					FrontendIPConfiguration: &network.SubResourceArgs{
    						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(network.LoadDistributionDefault),
    					Name:                 pulumi.String("rulelb"),
    					Probe: &network.SubResourceArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
    					},
    					Protocol: pulumi.String(network.TransportProtocolTcp),
    				},
    			},
    			Location:      pulumi.String("eastus"),
    			OutboundRules: network.OutboundRuleArray{},
    			Probes: network.ProbeArray{
    				&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(network.ProbeProtocolHttp),
    					RequestPath:       pulumi.String("healthcheck.aspx"),
    				},
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			Sku: &network.LoadBalancerSkuArgs{
    				Name: pulumi.String(network.LoadBalancerSkuNameStandard),
    			},
    		})
    		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 com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;
    import com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;
    import com.pulumi.azurenative.network.inputs.SubnetArgs;
    import com.pulumi.azurenative.network.inputs.InboundNatRuleArgs;
    import com.pulumi.azurenative.network.inputs.SubResourceArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;
    import com.pulumi.azurenative.network.inputs.ProbeArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;
    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(BackendAddressPoolArgs.builder()
                    .name("be-lb")
                    .build())
                .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()
                    .name("fe-lb")
                    .subnet(SubnetArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb")
                        .build())
                    .zones("1")
                    .build())
                .inboundNatPools()
                .inboundNatRules(InboundNatRuleArgs.builder()
                    .backendPort(3389)
                    .enableFloatingIP(true)
                    .frontendIPConfiguration(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")
                        .build())
                    .frontendPort(3389)
                    .idleTimeoutInMinutes(15)
                    .name("in-nat-rule")
                    .protocol("Tcp")
                    .build())
                .loadBalancerName("lb")
                .loadBalancingRules(LoadBalancingRuleArgs.builder()
                    .backendAddressPool(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")
                        .build())
                    .backendPort(80)
                    .enableFloatingIP(true)
                    .frontendIPConfiguration(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")
                        .build())
                    .frontendPort(80)
                    .idleTimeoutInMinutes(15)
                    .loadDistribution("Default")
                    .name("rulelb")
                    .probe(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")
                        .build())
                    .protocol("Tcp")
                    .build())
                .location("eastus")
                .outboundRules()
                .probes(ProbeArgs.builder()
                    .intervalInSeconds(15)
                    .name("probe-lb")
                    .numberOfProbes(2)
                    .port(80)
                    .probeThreshold(1)
                    .protocol("Http")
                    .requestPath("healthcheck.aspx")
                    .build())
                .resourceGroupName("rg1")
                .sku(LoadBalancerSkuArgs.builder()
                    .name("Standard")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    load_balancer = azure_native.network.LoadBalancer("loadBalancer",
        backend_address_pools=[azure_native.network.BackendAddressPoolArgs(
            name="be-lb",
        )],
        frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(
            name="fe-lb",
            subnet=azure_native.network.SubnetArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
            ),
            zones=["1"],
        )],
        inbound_nat_pools=[],
        inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(
            backend_port=3389,
            enable_floating_ip=True,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            ),
            frontend_port=3389,
            idle_timeout_in_minutes=15,
            name="in-nat-rule",
            protocol=azure_native.network.TransportProtocol.TCP,
        )],
        load_balancer_name="lb",
        load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(
            backend_address_pool=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            ),
            backend_port=80,
            enable_floating_ip=True,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            ),
            frontend_port=80,
            idle_timeout_in_minutes=15,
            load_distribution=azure_native.network.LoadDistribution.DEFAULT,
            name="rulelb",
            probe=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            ),
            protocol=azure_native.network.TransportProtocol.TCP,
        )],
        location="eastus",
        outbound_rules=[],
        probes=[azure_native.network.ProbeArgs(
            interval_in_seconds=15,
            name="probe-lb",
            number_of_probes=2,
            port=80,
            probe_threshold=1,
            protocol=azure_native.network.ProbeProtocol.HTTP,
            request_path="healthcheck.aspx",
        )],
        resource_group_name="rg1",
        sku=azure_native.network.LoadBalancerSkuArgs(
            name=azure_native.network.LoadBalancerSkuName.STANDARD,
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const loadBalancer = new azure_native.network.LoadBalancer("loadBalancer", {
        backendAddressPools: [{
            name: "be-lb",
        }],
        frontendIPConfigurations: [{
            name: "fe-lb",
            subnet: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
            },
            zones: ["1"],
        }],
        inboundNatPools: [],
        inboundNatRules: [{
            backendPort: 3389,
            enableFloatingIP: true,
            frontendIPConfiguration: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            },
            frontendPort: 3389,
            idleTimeoutInMinutes: 15,
            name: "in-nat-rule",
            protocol: azure_native.network.TransportProtocol.Tcp,
        }],
        loadBalancerName: "lb",
        loadBalancingRules: [{
            backendAddressPool: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            },
            backendPort: 80,
            enableFloatingIP: true,
            frontendIPConfiguration: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            },
            frontendPort: 80,
            idleTimeoutInMinutes: 15,
            loadDistribution: azure_native.network.LoadDistribution.Default,
            name: "rulelb",
            probe: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            },
            protocol: azure_native.network.TransportProtocol.Tcp,
        }],
        location: "eastus",
        outboundRules: [],
        probes: [{
            intervalInSeconds: 15,
            name: "probe-lb",
            numberOfProbes: 2,
            port: 80,
            probeThreshold: 1,
            protocol: azure_native.network.ProbeProtocol.Http,
            requestPath: "healthcheck.aspx",
        }],
        resourceGroupName: "rg1",
        sku: {
            name: azure_native.network.LoadBalancerSkuName.Standard,
        },
    });
    
    resources:
      loadBalancer:
        type: azure-native:network:LoadBalancer
        properties:
          backendAddressPools:
            - name: be-lb
          frontendIPConfigurations:
            - name: fe-lb
              subnet:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb
              zones:
                - '1'
          inboundNatPools: []
          inboundNatRules:
            - backendPort: 3389
              enableFloatingIP: true
              frontendIPConfiguration:
                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:
            - backendAddressPool:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb
              backendPort: 80
              enableFloatingIP: true
              frontendIPConfiguration:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb
              frontendPort: 80
              idleTimeoutInMinutes: 15
              loadDistribution: Default
              name: rulelb
              probe:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb
              protocol: Tcp
          location: eastus
          outboundRules: []
          probes:
            - intervalInSeconds: 15
              name: probe-lb
              numberOfProbes: 2
              port: 80
              probeThreshold: 1
              protocol: Http
              requestPath: healthcheck.aspx
          resourceGroupName: rg1
          sku:
            name: Standard
    

    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 = AzureNative.Network.TransportProtocol.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 = AzureNative.Network.LoadDistribution.Default,
                    Name = "rulelb",
                    Probe = new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                    },
                    Protocol = AzureNative.Network.TransportProtocol.Tcp,
                },
            },
            Location = "eastus",
            OutboundRules = new[] {},
            Probes = new[]
            {
                new AzureNative.Network.Inputs.ProbeArgs
                {
                    IntervalInSeconds = 15,
                    Name = "probe-lb",
                    NumberOfProbes = 2,
                    Port = 80,
                    ProbeThreshold = 1,
                    Protocol = AzureNative.Network.ProbeProtocol.Http,
                    RequestPath = "healthcheck.aspx",
                },
            },
            ResourceGroupName = "rg1",
            Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs
            {
                Name = AzureNative.Network.LoadBalancerSkuName.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{
    				&network.BackendAddressPoolArgs{
    					Name: pulumi.String("be-lb"),
    				},
    			},
    			FrontendIPConfigurations: network.FrontendIPConfigurationArray{
    				&network.FrontendIPConfigurationArgs{
    					GatewayLoadBalancer: &network.SubResourceArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider"),
    					},
    					Name: pulumi.String("fe-lb"),
    					Subnet: &network.SubnetTypeArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
    					},
    				},
    			},
    			InboundNatPools: network.InboundNatPoolArray{},
    			InboundNatRules: network.InboundNatRuleTypeArray{
    				&network.InboundNatRuleTypeArgs{
    					BackendPort:      pulumi.Int(3389),
    					EnableFloatingIP: pulumi.Bool(true),
    					FrontendIPConfiguration: &network.SubResourceArgs{
    						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(network.TransportProtocolTcp),
    				},
    			},
    			LoadBalancerName: pulumi.String("lb"),
    			LoadBalancingRules: network.LoadBalancingRuleArray{
    				&network.LoadBalancingRuleArgs{
    					BackendAddressPool: &network.SubResourceArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
    					},
    					BackendPort:      pulumi.Int(80),
    					EnableFloatingIP: pulumi.Bool(true),
    					FrontendIPConfiguration: &network.SubResourceArgs{
    						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(network.LoadDistributionDefault),
    					Name:                 pulumi.String("rulelb"),
    					Probe: &network.SubResourceArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
    					},
    					Protocol: pulumi.String(network.TransportProtocolTcp),
    				},
    			},
    			Location:      pulumi.String("eastus"),
    			OutboundRules: network.OutboundRuleArray{},
    			Probes: network.ProbeArray{
    				&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(network.ProbeProtocolHttp),
    					RequestPath:       pulumi.String("healthcheck.aspx"),
    				},
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			Sku: &network.LoadBalancerSkuArgs{
    				Name: pulumi.String(network.LoadBalancerSkuNameStandard),
    			},
    		})
    		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 com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;
    import com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;
    import com.pulumi.azurenative.network.inputs.SubResourceArgs;
    import com.pulumi.azurenative.network.inputs.SubnetArgs;
    import com.pulumi.azurenative.network.inputs.InboundNatRuleArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;
    import com.pulumi.azurenative.network.inputs.ProbeArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;
    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(BackendAddressPoolArgs.builder()
                    .name("be-lb")
                    .build())
                .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()
                    .gatewayLoadBalancer(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider")
                        .build())
                    .name("fe-lb")
                    .subnet(SubnetArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb")
                        .build())
                    .build())
                .inboundNatPools()
                .inboundNatRules(InboundNatRuleArgs.builder()
                    .backendPort(3389)
                    .enableFloatingIP(true)
                    .frontendIPConfiguration(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")
                        .build())
                    .frontendPort(3389)
                    .idleTimeoutInMinutes(15)
                    .name("in-nat-rule")
                    .protocol("Tcp")
                    .build())
                .loadBalancerName("lb")
                .loadBalancingRules(LoadBalancingRuleArgs.builder()
                    .backendAddressPool(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")
                        .build())
                    .backendPort(80)
                    .enableFloatingIP(true)
                    .frontendIPConfiguration(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")
                        .build())
                    .frontendPort(80)
                    .idleTimeoutInMinutes(15)
                    .loadDistribution("Default")
                    .name("rulelb")
                    .probe(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")
                        .build())
                    .protocol("Tcp")
                    .build())
                .location("eastus")
                .outboundRules()
                .probes(ProbeArgs.builder()
                    .intervalInSeconds(15)
                    .name("probe-lb")
                    .numberOfProbes(2)
                    .port(80)
                    .probeThreshold(1)
                    .protocol("Http")
                    .requestPath("healthcheck.aspx")
                    .build())
                .resourceGroupName("rg1")
                .sku(LoadBalancerSkuArgs.builder()
                    .name("Standard")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    load_balancer = azure_native.network.LoadBalancer("loadBalancer",
        backend_address_pools=[azure_native.network.BackendAddressPoolArgs(
            name="be-lb",
        )],
        frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(
            gateway_load_balancer=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider",
            ),
            name="fe-lb",
            subnet=azure_native.network.SubnetArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
            ),
        )],
        inbound_nat_pools=[],
        inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(
            backend_port=3389,
            enable_floating_ip=True,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            ),
            frontend_port=3389,
            idle_timeout_in_minutes=15,
            name="in-nat-rule",
            protocol=azure_native.network.TransportProtocol.TCP,
        )],
        load_balancer_name="lb",
        load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(
            backend_address_pool=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            ),
            backend_port=80,
            enable_floating_ip=True,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            ),
            frontend_port=80,
            idle_timeout_in_minutes=15,
            load_distribution=azure_native.network.LoadDistribution.DEFAULT,
            name="rulelb",
            probe=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            ),
            protocol=azure_native.network.TransportProtocol.TCP,
        )],
        location="eastus",
        outbound_rules=[],
        probes=[azure_native.network.ProbeArgs(
            interval_in_seconds=15,
            name="probe-lb",
            number_of_probes=2,
            port=80,
            probe_threshold=1,
            protocol=azure_native.network.ProbeProtocol.HTTP,
            request_path="healthcheck.aspx",
        )],
        resource_group_name="rg1",
        sku=azure_native.network.LoadBalancerSkuArgs(
            name=azure_native.network.LoadBalancerSkuName.STANDARD,
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const loadBalancer = new azure_native.network.LoadBalancer("loadBalancer", {
        backendAddressPools: [{
            name: "be-lb",
        }],
        frontendIPConfigurations: [{
            gatewayLoadBalancer: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider",
            },
            name: "fe-lb",
            subnet: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
            },
        }],
        inboundNatPools: [],
        inboundNatRules: [{
            backendPort: 3389,
            enableFloatingIP: true,
            frontendIPConfiguration: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            },
            frontendPort: 3389,
            idleTimeoutInMinutes: 15,
            name: "in-nat-rule",
            protocol: azure_native.network.TransportProtocol.Tcp,
        }],
        loadBalancerName: "lb",
        loadBalancingRules: [{
            backendAddressPool: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            },
            backendPort: 80,
            enableFloatingIP: true,
            frontendIPConfiguration: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            },
            frontendPort: 80,
            idleTimeoutInMinutes: 15,
            loadDistribution: azure_native.network.LoadDistribution.Default,
            name: "rulelb",
            probe: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            },
            protocol: azure_native.network.TransportProtocol.Tcp,
        }],
        location: "eastus",
        outboundRules: [],
        probes: [{
            intervalInSeconds: 15,
            name: "probe-lb",
            numberOfProbes: 2,
            port: 80,
            probeThreshold: 1,
            protocol: azure_native.network.ProbeProtocol.Http,
            requestPath: "healthcheck.aspx",
        }],
        resourceGroupName: "rg1",
        sku: {
            name: azure_native.network.LoadBalancerSkuName.Standard,
        },
    });
    
    resources:
      loadBalancer:
        type: azure-native:network:LoadBalancer
        properties:
          backendAddressPools:
            - name: be-lb
          frontendIPConfigurations:
            - gatewayLoadBalancer:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider
              name: fe-lb
              subnet:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb
          inboundNatPools: []
          inboundNatRules:
            - backendPort: 3389
              enableFloatingIP: true
              frontendIPConfiguration:
                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:
            - backendAddressPool:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb
              backendPort: 80
              enableFloatingIP: true
              frontendIPConfiguration:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb
              frontendPort: 80
              idleTimeoutInMinutes: 15
              loadDistribution: Default
              name: rulelb
              probe:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb
              protocol: Tcp
          location: eastus
          outboundRules: []
          probes:
            - intervalInSeconds: 15
              name: probe-lb
              numberOfProbes: 2
              port: 80
              probeThreshold: 1
              protocol: Http
              requestPath: healthcheck.aspx
          resourceGroupName: rg1
          sku:
            name: Standard
    

    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 = AzureNative.Network.GatewayLoadBalancerTunnelProtocol.VXLAN,
                            Type = AzureNative.Network.GatewayLoadBalancerTunnelInterfaceType.Internal,
                        },
                        new AzureNative.Network.Inputs.GatewayLoadBalancerTunnelInterfaceArgs
                        {
                            Identifier = 901,
                            Port = 15001,
                            Protocol = AzureNative.Network.GatewayLoadBalancerTunnelProtocol.VXLAN,
                            Type = AzureNative.Network.GatewayLoadBalancerTunnelInterfaceType.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 = AzureNative.Network.LoadDistribution.Default,
                    Name = "rulelb",
                    Probe = new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                    },
                    Protocol = AzureNative.Network.TransportProtocol.All,
                },
            },
            Location = "eastus",
            OutboundRules = new[] {},
            Probes = new[]
            {
                new AzureNative.Network.Inputs.ProbeArgs
                {
                    IntervalInSeconds = 15,
                    Name = "probe-lb",
                    NumberOfProbes = 2,
                    Port = 80,
                    ProbeThreshold = 1,
                    Protocol = AzureNative.Network.ProbeProtocol.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.BackendAddressPoolArray{
    				&network.BackendAddressPoolArgs{
    					Name: pulumi.String("be-lb"),
    					TunnelInterfaces: network.GatewayLoadBalancerTunnelInterfaceArray{
    						&network.GatewayLoadBalancerTunnelInterfaceArgs{
    							Identifier: pulumi.Int(900),
    							Port:       pulumi.Int(15000),
    							Protocol:   pulumi.String(network.GatewayLoadBalancerTunnelProtocolVXLAN),
    							Type:       pulumi.String(network.GatewayLoadBalancerTunnelInterfaceTypeInternal),
    						},
    						&network.GatewayLoadBalancerTunnelInterfaceArgs{
    							Identifier: pulumi.Int(901),
    							Port:       pulumi.Int(15001),
    							Protocol:   pulumi.String(network.GatewayLoadBalancerTunnelProtocolVXLAN),
    							Type:       pulumi.String(network.GatewayLoadBalancerTunnelInterfaceTypeInternal),
    						},
    					},
    				},
    			},
    			FrontendIPConfigurations: network.FrontendIPConfigurationArray{
    				&network.FrontendIPConfigurationArgs{
    					Name: pulumi.String("fe-lb"),
    					Subnet: &network.SubnetTypeArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
    					},
    				},
    			},
    			InboundNatPools:  network.InboundNatPoolArray{},
    			LoadBalancerName: pulumi.String("lb"),
    			LoadBalancingRules: network.LoadBalancingRuleArray{
    				&network.LoadBalancingRuleArgs{
    					BackendAddressPools: network.SubResourceArray{
    						&network.SubResourceArgs{
    							Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
    						},
    					},
    					BackendPort:      pulumi.Int(0),
    					EnableFloatingIP: pulumi.Bool(true),
    					FrontendIPConfiguration: &network.SubResourceArgs{
    						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(network.LoadDistributionDefault),
    					Name:                 pulumi.String("rulelb"),
    					Probe: &network.SubResourceArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
    					},
    					Protocol: pulumi.String(network.TransportProtocolAll),
    				},
    			},
    			Location:      pulumi.String("eastus"),
    			OutboundRules: network.OutboundRuleArray{},
    			Probes: network.ProbeArray{
    				&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(network.ProbeProtocolHttp),
    					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 com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;
    import com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;
    import com.pulumi.azurenative.network.inputs.SubnetArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;
    import com.pulumi.azurenative.network.inputs.SubResourceArgs;
    import com.pulumi.azurenative.network.inputs.ProbeArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;
    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(BackendAddressPoolArgs.builder()
                    .name("be-lb")
                    .tunnelInterfaces(                
                        GatewayLoadBalancerTunnelInterfaceArgs.builder()
                            .identifier(900)
                            .port(15000)
                            .protocol("VXLAN")
                            .type("Internal")
                            .build(),
                        GatewayLoadBalancerTunnelInterfaceArgs.builder()
                            .identifier(901)
                            .port(15001)
                            .protocol("VXLAN")
                            .type("Internal")
                            .build())
                    .build())
                .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()
                    .name("fe-lb")
                    .subnet(SubnetArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb")
                        .build())
                    .build())
                .inboundNatPools()
                .loadBalancerName("lb")
                .loadBalancingRules(LoadBalancingRuleArgs.builder()
                    .backendAddressPools(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")
                        .build())
                    .backendPort(0)
                    .enableFloatingIP(true)
                    .frontendIPConfiguration(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")
                        .build())
                    .frontendPort(0)
                    .idleTimeoutInMinutes(15)
                    .loadDistribution("Default")
                    .name("rulelb")
                    .probe(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")
                        .build())
                    .protocol("All")
                    .build())
                .location("eastus")
                .outboundRules()
                .probes(ProbeArgs.builder()
                    .intervalInSeconds(15)
                    .name("probe-lb")
                    .numberOfProbes(2)
                    .port(80)
                    .probeThreshold(1)
                    .protocol("Http")
                    .requestPath("healthcheck.aspx")
                    .build())
                .resourceGroupName("rg1")
                .sku(LoadBalancerSkuArgs.builder()
                    .name("Premium")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    load_balancer = azure_native.network.LoadBalancer("loadBalancer",
        backend_address_pools=[azure_native.network.BackendAddressPoolArgs(
            name="be-lb",
            tunnel_interfaces=[
                azure_native.network.GatewayLoadBalancerTunnelInterfaceArgs(
                    identifier=900,
                    port=15000,
                    protocol=azure_native.network.GatewayLoadBalancerTunnelProtocol.VXLAN,
                    type=azure_native.network.GatewayLoadBalancerTunnelInterfaceType.INTERNAL,
                ),
                azure_native.network.GatewayLoadBalancerTunnelInterfaceArgs(
                    identifier=901,
                    port=15001,
                    protocol=azure_native.network.GatewayLoadBalancerTunnelProtocol.VXLAN,
                    type=azure_native.network.GatewayLoadBalancerTunnelInterfaceType.INTERNAL,
                ),
            ],
        )],
        frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(
            name="fe-lb",
            subnet=azure_native.network.SubnetArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
            ),
        )],
        inbound_nat_pools=[],
        load_balancer_name="lb",
        load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(
            backend_address_pools=[azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            )],
            backend_port=0,
            enable_floating_ip=True,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            ),
            frontend_port=0,
            idle_timeout_in_minutes=15,
            load_distribution=azure_native.network.LoadDistribution.DEFAULT,
            name="rulelb",
            probe=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            ),
            protocol=azure_native.network.TransportProtocol.ALL,
        )],
        location="eastus",
        outbound_rules=[],
        probes=[azure_native.network.ProbeArgs(
            interval_in_seconds=15,
            name="probe-lb",
            number_of_probes=2,
            port=80,
            probe_threshold=1,
            protocol=azure_native.network.ProbeProtocol.HTTP,
            request_path="healthcheck.aspx",
        )],
        resource_group_name="rg1",
        sku=azure_native.network.LoadBalancerSkuArgs(
            name="Premium",
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const loadBalancer = new azure_native.network.LoadBalancer("loadBalancer", {
        backendAddressPools: [{
            name: "be-lb",
            tunnelInterfaces: [
                {
                    identifier: 900,
                    port: 15000,
                    protocol: azure_native.network.GatewayLoadBalancerTunnelProtocol.VXLAN,
                    type: azure_native.network.GatewayLoadBalancerTunnelInterfaceType.Internal,
                },
                {
                    identifier: 901,
                    port: 15001,
                    protocol: azure_native.network.GatewayLoadBalancerTunnelProtocol.VXLAN,
                    type: azure_native.network.GatewayLoadBalancerTunnelInterfaceType.Internal,
                },
            ],
        }],
        frontendIPConfigurations: [{
            name: "fe-lb",
            subnet: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
            },
        }],
        inboundNatPools: [],
        loadBalancerName: "lb",
        loadBalancingRules: [{
            backendAddressPools: [{
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            }],
            backendPort: 0,
            enableFloatingIP: true,
            frontendIPConfiguration: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            },
            frontendPort: 0,
            idleTimeoutInMinutes: 15,
            loadDistribution: azure_native.network.LoadDistribution.Default,
            name: "rulelb",
            probe: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            },
            protocol: azure_native.network.TransportProtocol.All,
        }],
        location: "eastus",
        outboundRules: [],
        probes: [{
            intervalInSeconds: 15,
            name: "probe-lb",
            numberOfProbes: 2,
            port: 80,
            probeThreshold: 1,
            protocol: azure_native.network.ProbeProtocol.Http,
            requestPath: "healthcheck.aspx",
        }],
        resourceGroupName: "rg1",
        sku: {
            name: "Premium",
        },
    });
    
    resources:
      loadBalancer:
        type: azure-native:network:LoadBalancer
        properties:
          backendAddressPools:
            - name: be-lb
              tunnelInterfaces:
                - identifier: 900
                  port: 15000
                  protocol: VXLAN
                  type: Internal
                - identifier: 901
                  port: 15001
                  protocol: VXLAN
                  type: Internal
          frontendIPConfigurations:
            - name: fe-lb
              subnet:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb
          inboundNatPools: []
          loadBalancerName: lb
          loadBalancingRules:
            - backendAddressPools:
                - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb
              backendPort: 0
              enableFloatingIP: true
              frontendIPConfiguration:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb
              frontendPort: 0
              idleTimeoutInMinutes: 15
              loadDistribution: Default
              name: rulelb
              probe:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb
              protocol: All
          location: eastus
          outboundRules: []
          probes:
            - intervalInSeconds: 15
              name: probe-lb
              numberOfProbes: 2
              port: 80
              probeThreshold: 1
              protocol: Http
              requestPath: healthcheck.aspx
          resourceGroupName: rg1
          sku:
            name: Premium
    

    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 = AzureNative.Network.LoadDistribution.Default,
                    Name = "rulelb",
                    Probe = new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                    },
                    Protocol = AzureNative.Network.TransportProtocol.All,
                },
            },
            Location = "eastus",
            OutboundRules = new[] {},
            Probes = new[]
            {
                new AzureNative.Network.Inputs.ProbeArgs
                {
                    IntervalInSeconds = 15,
                    Name = "probe-lb",
                    NumberOfProbes = 2,
                    Port = 80,
                    ProbeThreshold = 1,
                    Protocol = AzureNative.Network.ProbeProtocol.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.BackendAddressPoolArray{
    				&network.BackendAddressPoolArgs{
    					Name: pulumi.String("be-lb1"),
    				},
    				&network.BackendAddressPoolArgs{
    					Name: pulumi.String("be-lb2"),
    				},
    			},
    			FrontendIPConfigurations: network.FrontendIPConfigurationArray{
    				&network.FrontendIPConfigurationArgs{
    					Name: pulumi.String("fe-lb"),
    					Subnet: &network.SubnetTypeArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
    					},
    				},
    			},
    			InboundNatPools:  network.InboundNatPoolArray{},
    			LoadBalancerName: pulumi.String("lb"),
    			LoadBalancingRules: network.LoadBalancingRuleArray{
    				&network.LoadBalancingRuleArgs{
    					BackendAddressPool: nil,
    					BackendAddressPools: network.SubResourceArray{
    						&network.SubResourceArgs{
    							Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1"),
    						},
    						&network.SubResourceArgs{
    							Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2"),
    						},
    					},
    					BackendPort:      pulumi.Int(0),
    					EnableFloatingIP: pulumi.Bool(true),
    					FrontendIPConfiguration: &network.SubResourceArgs{
    						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(network.LoadDistributionDefault),
    					Name:                 pulumi.String("rulelb"),
    					Probe: &network.SubResourceArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
    					},
    					Protocol: pulumi.String(network.TransportProtocolAll),
    				},
    			},
    			Location:      pulumi.String("eastus"),
    			OutboundRules: network.OutboundRuleArray{},
    			Probes: network.ProbeArray{
    				&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(network.ProbeProtocolHttp),
    					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 com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;
    import com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;
    import com.pulumi.azurenative.network.inputs.SubnetArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;
    import com.pulumi.azurenative.network.inputs.SubResourceArgs;
    import com.pulumi.azurenative.network.inputs.ProbeArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;
    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(            
                    BackendAddressPoolArgs.builder()
                        .name("be-lb1")
                        .build(),
                    BackendAddressPoolArgs.builder()
                        .name("be-lb2")
                        .build())
                .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()
                    .name("fe-lb")
                    .subnet(SubnetArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb")
                        .build())
                    .build())
                .inboundNatPools()
                .loadBalancerName("lb")
                .loadBalancingRules(LoadBalancingRuleArgs.builder()
                    .backendAddressPool()
                    .backendAddressPools(                
                        SubResourceArgs.builder()
                            .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1")
                            .build(),
                        SubResourceArgs.builder()
                            .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2")
                            .build())
                    .backendPort(0)
                    .enableFloatingIP(true)
                    .frontendIPConfiguration(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")
                        .build())
                    .frontendPort(0)
                    .idleTimeoutInMinutes(15)
                    .loadDistribution("Default")
                    .name("rulelb")
                    .probe(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")
                        .build())
                    .protocol("All")
                    .build())
                .location("eastus")
                .outboundRules()
                .probes(ProbeArgs.builder()
                    .intervalInSeconds(15)
                    .name("probe-lb")
                    .numberOfProbes(2)
                    .port(80)
                    .probeThreshold(1)
                    .protocol("Http")
                    .requestPath("healthcheck.aspx")
                    .build())
                .resourceGroupName("rg1")
                .sku(LoadBalancerSkuArgs.builder()
                    .name("Premium")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    load_balancer = azure_native.network.LoadBalancer("loadBalancer",
        backend_address_pools=[
            azure_native.network.BackendAddressPoolArgs(
                name="be-lb1",
            ),
            azure_native.network.BackendAddressPoolArgs(
                name="be-lb2",
            ),
        ],
        frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(
            name="fe-lb",
            subnet=azure_native.network.SubnetArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
            ),
        )],
        inbound_nat_pools=[],
        load_balancer_name="lb",
        load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(
            backend_address_pool=azure_native.network.SubResourceArgs(),
            backend_address_pools=[
                azure_native.network.SubResourceArgs(
                    id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1",
                ),
                azure_native.network.SubResourceArgs(
                    id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2",
                ),
            ],
            backend_port=0,
            enable_floating_ip=True,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            ),
            frontend_port=0,
            idle_timeout_in_minutes=15,
            load_distribution=azure_native.network.LoadDistribution.DEFAULT,
            name="rulelb",
            probe=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            ),
            protocol=azure_native.network.TransportProtocol.ALL,
        )],
        location="eastus",
        outbound_rules=[],
        probes=[azure_native.network.ProbeArgs(
            interval_in_seconds=15,
            name="probe-lb",
            number_of_probes=2,
            port=80,
            probe_threshold=1,
            protocol=azure_native.network.ProbeProtocol.HTTP,
            request_path="healthcheck.aspx",
        )],
        resource_group_name="rg1",
        sku=azure_native.network.LoadBalancerSkuArgs(
            name="Premium",
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const loadBalancer = new azure_native.network.LoadBalancer("loadBalancer", {
        backendAddressPools: [
            {
                name: "be-lb1",
            },
            {
                name: "be-lb2",
            },
        ],
        frontendIPConfigurations: [{
            name: "fe-lb",
            subnet: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
            },
        }],
        inboundNatPools: [],
        loadBalancerName: "lb",
        loadBalancingRules: [{
            backendAddressPool: {},
            backendAddressPools: [
                {
                    id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1",
                },
                {
                    id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2",
                },
            ],
            backendPort: 0,
            enableFloatingIP: true,
            frontendIPConfiguration: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            },
            frontendPort: 0,
            idleTimeoutInMinutes: 15,
            loadDistribution: azure_native.network.LoadDistribution.Default,
            name: "rulelb",
            probe: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            },
            protocol: azure_native.network.TransportProtocol.All,
        }],
        location: "eastus",
        outboundRules: [],
        probes: [{
            intervalInSeconds: 15,
            name: "probe-lb",
            numberOfProbes: 2,
            port: 80,
            probeThreshold: 1,
            protocol: azure_native.network.ProbeProtocol.Http,
            requestPath: "healthcheck.aspx",
        }],
        resourceGroupName: "rg1",
        sku: {
            name: "Premium",
        },
    });
    
    resources:
      loadBalancer:
        type: azure-native:network:LoadBalancer
        properties:
          backendAddressPools:
            - name: be-lb1
            - name: be-lb2
          frontendIPConfigurations:
            - name: fe-lb
              subnet:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb
          inboundNatPools: []
          loadBalancerName: lb
          loadBalancingRules:
            - backendAddressPool: {}
              backendAddressPools:
                - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1
                - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2
              backendPort: 0
              enableFloatingIP: true
              frontendIPConfiguration:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb
              frontendPort: 0
              idleTimeoutInMinutes: 15
              loadDistribution: Default
              name: rulelb
              probe:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb
              protocol: All
          location: eastus
          outboundRules: []
          probes:
            - intervalInSeconds: 15
              name: probe-lb
              numberOfProbes: 2
              port: 80
              probeThreshold: 1
              protocol: Http
              requestPath: healthcheck.aspx
          resourceGroupName: rg1
          sku:
            name: Premium
    

    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 = AzureNative.Network.LoadDistribution.Default,
                    Name = "rulelb",
                    Probe = new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                    },
                    Protocol = AzureNative.Network.TransportProtocol.Tcp,
                },
            },
            Location = "eastus",
            Probes = new[]
            {
                new AzureNative.Network.Inputs.ProbeArgs
                {
                    IntervalInSeconds = 15,
                    Name = "probe-lb",
                    NumberOfProbes = 2,
                    Port = 80,
                    ProbeThreshold = 1,
                    Protocol = AzureNative.Network.ProbeProtocol.Http,
                    RequestPath = "healthcheck.aspx",
                },
            },
            ResourceGroupName = "rg1",
            Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs
            {
                Name = AzureNative.Network.LoadBalancerSkuName.Standard,
                Tier = AzureNative.Network.LoadBalancerSkuTier.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.BackendAddressPoolArray{
    				&network.BackendAddressPoolArgs{
    					LoadBalancerBackendAddresses: network.LoadBalancerBackendAddressArray{
    						&network.LoadBalancerBackendAddressArgs{
    							LoadBalancerFrontendIPConfiguration: &network.SubResourceArgs{
    								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.FrontendIPConfigurationArray{
    				&network.FrontendIPConfigurationArgs{
    					Name: pulumi.String("fe-lb"),
    					Subnet: &network.SubnetTypeArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
    					},
    				},
    			},
    			LoadBalancerName: pulumi.String("lb"),
    			LoadBalancingRules: network.LoadBalancingRuleArray{
    				&network.LoadBalancingRuleArgs{
    					BackendAddressPool: &network.SubResourceArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
    					},
    					BackendPort:      pulumi.Int(80),
    					EnableFloatingIP: pulumi.Bool(false),
    					FrontendIPConfiguration: &network.SubResourceArgs{
    						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(network.LoadDistributionDefault),
    					Name:                 pulumi.String("rulelb"),
    					Probe: &network.SubResourceArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
    					},
    					Protocol: pulumi.String(network.TransportProtocolTcp),
    				},
    			},
    			Location: pulumi.String("eastus"),
    			Probes: network.ProbeArray{
    				&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(network.ProbeProtocolHttp),
    					RequestPath:       pulumi.String("healthcheck.aspx"),
    				},
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			Sku: &network.LoadBalancerSkuArgs{
    				Name: pulumi.String(network.LoadBalancerSkuNameStandard),
    				Tier: pulumi.String(network.LoadBalancerSkuTierGlobal),
    			},
    		})
    		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 com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;
    import com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;
    import com.pulumi.azurenative.network.inputs.SubnetArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;
    import com.pulumi.azurenative.network.inputs.SubResourceArgs;
    import com.pulumi.azurenative.network.inputs.ProbeArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;
    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(BackendAddressPoolArgs.builder()
                    .loadBalancerBackendAddresses(LoadBalancerBackendAddressArgs.builder()
                        .loadBalancerFrontendIPConfiguration(SubResourceArgs.builder()
                            .id("/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb")
                            .build())
                        .name("regional-lb1-address")
                        .build())
                    .name("be-lb")
                    .build())
                .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()
                    .name("fe-lb")
                    .subnet(SubnetArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb")
                        .build())
                    .build())
                .loadBalancerName("lb")
                .loadBalancingRules(LoadBalancingRuleArgs.builder()
                    .backendAddressPool(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")
                        .build())
                    .backendPort(80)
                    .enableFloatingIP(false)
                    .frontendIPConfiguration(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")
                        .build())
                    .frontendPort(80)
                    .idleTimeoutInMinutes(15)
                    .loadDistribution("Default")
                    .name("rulelb")
                    .probe(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")
                        .build())
                    .protocol("Tcp")
                    .build())
                .location("eastus")
                .probes(ProbeArgs.builder()
                    .intervalInSeconds(15)
                    .name("probe-lb")
                    .numberOfProbes(2)
                    .port(80)
                    .probeThreshold(1)
                    .protocol("Http")
                    .requestPath("healthcheck.aspx")
                    .build())
                .resourceGroupName("rg1")
                .sku(LoadBalancerSkuArgs.builder()
                    .name("Standard")
                    .tier("Global")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    load_balancer = azure_native.network.LoadBalancer("loadBalancer",
        backend_address_pools=[azure_native.network.BackendAddressPoolArgs(
            load_balancer_backend_addresses=[azure_native.network.LoadBalancerBackendAddressArgs(
                load_balancer_frontend_ip_configuration=azure_native.network.SubResourceArgs(
                    id="/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb",
                ),
                name="regional-lb1-address",
            )],
            name="be-lb",
        )],
        frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(
            name="fe-lb",
            subnet=azure_native.network.SubnetArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
            ),
        )],
        load_balancer_name="lb",
        load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(
            backend_address_pool=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            ),
            backend_port=80,
            enable_floating_ip=False,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            ),
            frontend_port=80,
            idle_timeout_in_minutes=15,
            load_distribution=azure_native.network.LoadDistribution.DEFAULT,
            name="rulelb",
            probe=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            ),
            protocol=azure_native.network.TransportProtocol.TCP,
        )],
        location="eastus",
        probes=[azure_native.network.ProbeArgs(
            interval_in_seconds=15,
            name="probe-lb",
            number_of_probes=2,
            port=80,
            probe_threshold=1,
            protocol=azure_native.network.ProbeProtocol.HTTP,
            request_path="healthcheck.aspx",
        )],
        resource_group_name="rg1",
        sku=azure_native.network.LoadBalancerSkuArgs(
            name=azure_native.network.LoadBalancerSkuName.STANDARD,
            tier=azure_native.network.LoadBalancerSkuTier.GLOBAL_,
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const loadBalancer = new azure_native.network.LoadBalancer("loadBalancer", {
        backendAddressPools: [{
            loadBalancerBackendAddresses: [{
                loadBalancerFrontendIPConfiguration: {
                    id: "/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb",
                },
                name: "regional-lb1-address",
            }],
            name: "be-lb",
        }],
        frontendIPConfigurations: [{
            name: "fe-lb",
            subnet: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
            },
        }],
        loadBalancerName: "lb",
        loadBalancingRules: [{
            backendAddressPool: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            },
            backendPort: 80,
            enableFloatingIP: false,
            frontendIPConfiguration: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            },
            frontendPort: 80,
            idleTimeoutInMinutes: 15,
            loadDistribution: azure_native.network.LoadDistribution.Default,
            name: "rulelb",
            probe: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            },
            protocol: azure_native.network.TransportProtocol.Tcp,
        }],
        location: "eastus",
        probes: [{
            intervalInSeconds: 15,
            name: "probe-lb",
            numberOfProbes: 2,
            port: 80,
            probeThreshold: 1,
            protocol: azure_native.network.ProbeProtocol.Http,
            requestPath: "healthcheck.aspx",
        }],
        resourceGroupName: "rg1",
        sku: {
            name: azure_native.network.LoadBalancerSkuName.Standard,
            tier: azure_native.network.LoadBalancerSkuTier.Global,
        },
    });
    
    resources:
      loadBalancer:
        type: azure-native:network:LoadBalancer
        properties:
          backendAddressPools:
            - loadBalancerBackendAddresses:
                - loadBalancerFrontendIPConfiguration:
                    id: /subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb
                  name: regional-lb1-address
              name: be-lb
          frontendIPConfigurations:
            - name: fe-lb
              subnet:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb
          loadBalancerName: lb
          loadBalancingRules:
            - backendAddressPool:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb
              backendPort: 80
              enableFloatingIP: false
              frontendIPConfiguration:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb
              frontendPort: 80
              idleTimeoutInMinutes: 15
              loadDistribution: Default
              name: rulelb
              probe:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb
              protocol: Tcp
          location: eastus
          probes:
            - intervalInSeconds: 15
              name: probe-lb
              numberOfProbes: 2
              port: 80
              probeThreshold: 1
              protocol: Http
              requestPath: healthcheck.aspx
          resourceGroupName: rg1
          sku:
            name: Standard
            tier: Global
    

    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 = AzureNative.Network.TransportProtocol.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 = AzureNative.Network.LoadDistribution.Default,
                    Name = "rulelb",
                    Probe = new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                    },
                    Protocol = AzureNative.Network.TransportProtocol.Tcp,
                },
            },
            Location = "eastus",
            OutboundRules = new[] {},
            Probes = new[]
            {
                new AzureNative.Network.Inputs.ProbeArgs
                {
                    IntervalInSeconds = 15,
                    Name = "probe-lb",
                    NumberOfProbes = 2,
                    Port = 80,
                    ProbeThreshold = 1,
                    Protocol = AzureNative.Network.ProbeProtocol.Http,
                    RequestPath = "healthcheck.aspx",
                },
            },
            ResourceGroupName = "rg1",
            Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs
            {
                Name = AzureNative.Network.LoadBalancerSkuName.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{
    				&network.BackendAddressPoolArgs{
    					Name: pulumi.String("be-lb"),
    				},
    			},
    			FrontendIPConfigurations: network.FrontendIPConfigurationArray{
    				&network.FrontendIPConfigurationArgs{
    					Name: pulumi.String("fe-lb"),
    					Subnet: &network.SubnetTypeArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
    					},
    				},
    			},
    			InboundNatPools: network.InboundNatPoolArray{},
    			InboundNatRules: network.InboundNatRuleTypeArray{
    				&network.InboundNatRuleTypeArgs{
    					BackendPort:      pulumi.Int(3389),
    					EnableFloatingIP: pulumi.Bool(true),
    					FrontendIPConfiguration: &network.SubResourceArgs{
    						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(network.TransportProtocolTcp),
    				},
    			},
    			LoadBalancerName: pulumi.String("lb"),
    			LoadBalancingRules: network.LoadBalancingRuleArray{
    				&network.LoadBalancingRuleArgs{
    					BackendAddressPool: &network.SubResourceArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
    					},
    					BackendPort:      pulumi.Int(80),
    					EnableFloatingIP: pulumi.Bool(true),
    					FrontendIPConfiguration: &network.SubResourceArgs{
    						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(network.LoadDistributionDefault),
    					Name:                 pulumi.String("rulelb"),
    					Probe: &network.SubResourceArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
    					},
    					Protocol: pulumi.String(network.TransportProtocolTcp),
    				},
    			},
    			Location:      pulumi.String("eastus"),
    			OutboundRules: network.OutboundRuleArray{},
    			Probes: network.ProbeArray{
    				&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(network.ProbeProtocolHttp),
    					RequestPath:       pulumi.String("healthcheck.aspx"),
    				},
    			},
    			ResourceGroupName: pulumi.String("rg1"),
    			Sku: &network.LoadBalancerSkuArgs{
    				Name: pulumi.String(network.LoadBalancerSkuNameStandard),
    			},
    		})
    		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 com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;
    import com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;
    import com.pulumi.azurenative.network.inputs.SubnetArgs;
    import com.pulumi.azurenative.network.inputs.InboundNatRuleArgs;
    import com.pulumi.azurenative.network.inputs.SubResourceArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;
    import com.pulumi.azurenative.network.inputs.ProbeArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;
    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(BackendAddressPoolArgs.builder()
                    .name("be-lb")
                    .build())
                .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()
                    .name("fe-lb")
                    .subnet(SubnetArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb")
                        .build())
                    .build())
                .inboundNatPools()
                .inboundNatRules(InboundNatRuleArgs.builder()
                    .backendPort(3389)
                    .enableFloatingIP(true)
                    .frontendIPConfiguration(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")
                        .build())
                    .frontendPort(3389)
                    .idleTimeoutInMinutes(15)
                    .name("in-nat-rule")
                    .protocol("Tcp")
                    .build())
                .loadBalancerName("lb")
                .loadBalancingRules(LoadBalancingRuleArgs.builder()
                    .backendAddressPool(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")
                        .build())
                    .backendPort(80)
                    .enableFloatingIP(true)
                    .frontendIPConfiguration(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")
                        .build())
                    .frontendPort(80)
                    .idleTimeoutInMinutes(15)
                    .loadDistribution("Default")
                    .name("rulelb")
                    .probe(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")
                        .build())
                    .protocol("Tcp")
                    .build())
                .location("eastus")
                .outboundRules()
                .probes(ProbeArgs.builder()
                    .intervalInSeconds(15)
                    .name("probe-lb")
                    .numberOfProbes(2)
                    .port(80)
                    .probeThreshold(1)
                    .protocol("Http")
                    .requestPath("healthcheck.aspx")
                    .build())
                .resourceGroupName("rg1")
                .sku(LoadBalancerSkuArgs.builder()
                    .name("Standard")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    load_balancer = azure_native.network.LoadBalancer("loadBalancer",
        backend_address_pools=[azure_native.network.BackendAddressPoolArgs(
            name="be-lb",
        )],
        frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(
            name="fe-lb",
            subnet=azure_native.network.SubnetArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
            ),
        )],
        inbound_nat_pools=[],
        inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(
            backend_port=3389,
            enable_floating_ip=True,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            ),
            frontend_port=3389,
            idle_timeout_in_minutes=15,
            name="in-nat-rule",
            protocol=azure_native.network.TransportProtocol.TCP,
        )],
        load_balancer_name="lb",
        load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(
            backend_address_pool=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            ),
            backend_port=80,
            enable_floating_ip=True,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            ),
            frontend_port=80,
            idle_timeout_in_minutes=15,
            load_distribution=azure_native.network.LoadDistribution.DEFAULT,
            name="rulelb",
            probe=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            ),
            protocol=azure_native.network.TransportProtocol.TCP,
        )],
        location="eastus",
        outbound_rules=[],
        probes=[azure_native.network.ProbeArgs(
            interval_in_seconds=15,
            name="probe-lb",
            number_of_probes=2,
            port=80,
            probe_threshold=1,
            protocol=azure_native.network.ProbeProtocol.HTTP,
            request_path="healthcheck.aspx",
        )],
        resource_group_name="rg1",
        sku=azure_native.network.LoadBalancerSkuArgs(
            name=azure_native.network.LoadBalancerSkuName.STANDARD,
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const loadBalancer = new azure_native.network.LoadBalancer("loadBalancer", {
        backendAddressPools: [{
            name: "be-lb",
        }],
        frontendIPConfigurations: [{
            name: "fe-lb",
            subnet: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
            },
        }],
        inboundNatPools: [],
        inboundNatRules: [{
            backendPort: 3389,
            enableFloatingIP: true,
            frontendIPConfiguration: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            },
            frontendPort: 3389,
            idleTimeoutInMinutes: 15,
            name: "in-nat-rule",
            protocol: azure_native.network.TransportProtocol.Tcp,
        }],
        loadBalancerName: "lb",
        loadBalancingRules: [{
            backendAddressPool: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            },
            backendPort: 80,
            enableFloatingIP: true,
            frontendIPConfiguration: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            },
            frontendPort: 80,
            idleTimeoutInMinutes: 15,
            loadDistribution: azure_native.network.LoadDistribution.Default,
            name: "rulelb",
            probe: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            },
            protocol: azure_native.network.TransportProtocol.Tcp,
        }],
        location: "eastus",
        outboundRules: [],
        probes: [{
            intervalInSeconds: 15,
            name: "probe-lb",
            numberOfProbes: 2,
            port: 80,
            probeThreshold: 1,
            protocol: azure_native.network.ProbeProtocol.Http,
            requestPath: "healthcheck.aspx",
        }],
        resourceGroupName: "rg1",
        sku: {
            name: azure_native.network.LoadBalancerSkuName.Standard,
        },
    });
    
    resources:
      loadBalancer:
        type: azure-native:network:LoadBalancer
        properties:
          backendAddressPools:
            - name: be-lb
          frontendIPConfigurations:
            - name: fe-lb
              subnet:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb
          inboundNatPools: []
          inboundNatRules:
            - backendPort: 3389
              enableFloatingIP: true
              frontendIPConfiguration:
                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:
            - backendAddressPool:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb
              backendPort: 80
              enableFloatingIP: true
              frontendIPConfiguration:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb
              frontendPort: 80
              idleTimeoutInMinutes: 15
              loadDistribution: Default
              name: rulelb
              probe:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb
              protocol: Tcp
          location: eastus
          outboundRules: []
          probes:
            - intervalInSeconds: 15
              name: probe-lb
              numberOfProbes: 2
              port: 80
              probeThreshold: 1
              protocol: Http
              requestPath: healthcheck.aspx
          resourceGroupName: rg1
          sku:
            name: Standard
    

    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 = AzureNative.Network.IPAllocationMethod.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 = AzureNative.Network.TransportProtocol.Tcp,
                },
            },
            InboundNatRules = new[] {},
            LoadBalancerName = "lb",
            LoadBalancingRules = new[] {},
            Location = "eastus",
            OutboundRules = new[] {},
            Probes = new[] {},
            ResourceGroupName = "rg1",
            Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs
            {
                Name = AzureNative.Network.LoadBalancerSkuName.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.FrontendIPConfigurationArray{
    				&network.FrontendIPConfigurationArgs{
    					Id:                        pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"),
    					Name:                      pulumi.String("test"),
    					PrivateIPAllocationMethod: pulumi.String(network.IPAllocationMethodDynamic),
    					Subnet: &network.SubnetTypeArgs{
    						Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"),
    					},
    					Zones: pulumi.StringArray{},
    				},
    			},
    			InboundNatPools: network.InboundNatPoolArray{
    				&network.InboundNatPoolArgs{
    					BackendPort:      pulumi.Int(8888),
    					EnableFloatingIP: pulumi.Bool(true),
    					EnableTcpReset:   pulumi.Bool(true),
    					FrontendIPConfiguration: &network.SubResourceArgs{
    						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(network.TransportProtocolTcp),
    				},
    			},
    			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(network.LoadBalancerSkuNameStandard),
    			},
    		})
    		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 com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;
    import com.pulumi.azurenative.network.inputs.SubnetArgs;
    import com.pulumi.azurenative.network.inputs.InboundNatPoolArgs;
    import com.pulumi.azurenative.network.inputs.SubResourceArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;
    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(FrontendIPConfigurationArgs.builder()
                    .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test")
                    .name("test")
                    .privateIPAllocationMethod("Dynamic")
                    .subnet(SubnetArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet")
                        .build())
                    .zones()
                    .build())
                .inboundNatPools(InboundNatPoolArgs.builder()
                    .backendPort(8888)
                    .enableFloatingIP(true)
                    .enableTcpReset(true)
                    .frontendIPConfiguration(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test")
                        .build())
                    .frontendPortRangeEnd(8085)
                    .frontendPortRangeStart(8080)
                    .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test")
                    .idleTimeoutInMinutes(10)
                    .name("test")
                    .protocol("Tcp")
                    .build())
                .inboundNatRules()
                .loadBalancerName("lb")
                .loadBalancingRules()
                .location("eastus")
                .outboundRules()
                .probes()
                .resourceGroupName("rg1")
                .sku(LoadBalancerSkuArgs.builder()
                    .name("Standard")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    load_balancer = azure_native.network.LoadBalancer("loadBalancer",
        backend_address_pools=[],
        frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(
            id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
            name="test",
            private_ip_allocation_method=azure_native.network.IPAllocationMethod.DYNAMIC,
            subnet=azure_native.network.SubnetArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet",
            ),
            zones=[],
        )],
        inbound_nat_pools=[azure_native.network.InboundNatPoolArgs(
            backend_port=8888,
            enable_floating_ip=True,
            enable_tcp_reset=True,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
            ),
            frontend_port_range_end=8085,
            frontend_port_range_start=8080,
            id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test",
            idle_timeout_in_minutes=10,
            name="test",
            protocol=azure_native.network.TransportProtocol.TCP,
        )],
        inbound_nat_rules=[],
        load_balancer_name="lb",
        load_balancing_rules=[],
        location="eastus",
        outbound_rules=[],
        probes=[],
        resource_group_name="rg1",
        sku=azure_native.network.LoadBalancerSkuArgs(
            name=azure_native.network.LoadBalancerSkuName.STANDARD,
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const loadBalancer = new azure_native.network.LoadBalancer("loadBalancer", {
        backendAddressPools: [],
        frontendIPConfigurations: [{
            id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
            name: "test",
            privateIPAllocationMethod: azure_native.network.IPAllocationMethod.Dynamic,
            subnet: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet",
            },
            zones: [],
        }],
        inboundNatPools: [{
            backendPort: 8888,
            enableFloatingIP: true,
            enableTcpReset: true,
            frontendIPConfiguration: {
                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: azure_native.network.TransportProtocol.Tcp,
        }],
        inboundNatRules: [],
        loadBalancerName: "lb",
        loadBalancingRules: [],
        location: "eastus",
        outboundRules: [],
        probes: [],
        resourceGroupName: "rg1",
        sku: {
            name: azure_native.network.LoadBalancerSkuName.Standard,
        },
    });
    
    resources:
      loadBalancer:
        type: azure-native:network:LoadBalancer
        properties:
          backendAddressPools: []
          frontendIPConfigurations:
            - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test
              name: test
              privateIPAllocationMethod: Dynamic
              subnet:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet
              zones: []
          inboundNatPools:
            - backendPort: 8888
              enableFloatingIP: true
              enableTcpReset: true
              frontendIPConfiguration:
                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: []
          loadBalancerName: lb
          loadBalancingRules: []
          location: eastus
          outboundRules: []
          probes: []
          resourceGroupName: rg1
          sku:
            name: Standard
    

    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[]
            {
                new AzureNative.Network.Inputs.FrontendIPConfigurationArgs
                {
                    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 = AzureNative.Network.TransportProtocol.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 = AzureNative.Network.LoadDistribution.Default,
                    Name = "rulelb",
                    Probe = new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
                    },
                    Protocol = AzureNative.Network.TransportProtocol.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 = AzureNative.Network.LoadBalancerOutboundRuleProtocol.All,
                },
            },
            Probes = new[]
            {
                new AzureNative.Network.Inputs.ProbeArgs
                {
                    IntervalInSeconds = 15,
                    Name = "probe-lb",
                    NumberOfProbes = 2,
                    Port = 80,
                    ProbeThreshold = 1,
                    Protocol = AzureNative.Network.ProbeProtocol.Http,
                    RequestPath = "healthcheck.aspx",
                },
            },
            ResourceGroupName = "rg1",
            Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs
            {
                Name = AzureNative.Network.LoadBalancerSkuName.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{
    &network.BackendAddressPoolArgs{
    Name: pulumi.String("be-lb"),
    },
    },
    FrontendIPConfigurations: network.FrontendIPConfigurationArray{
    interface{}{
    Name: pulumi.String("fe-lb"),
    PublicIPAddress: &network.PublicIPAddressTypeArgs{
    Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"),
    },
    },
    },
    InboundNatPools: network.InboundNatPoolArray{
    },
    InboundNatRules: network.InboundNatRuleTypeArray{
    &network.InboundNatRuleTypeArgs{
    BackendPort: pulumi.Int(3389),
    EnableFloatingIP: pulumi.Bool(true),
    FrontendIPConfiguration: &network.SubResourceArgs{
    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(network.TransportProtocolTcp),
    },
    },
    LoadBalancerName: pulumi.String("lb"),
    LoadBalancingRules: network.LoadBalancingRuleArray{
    &network.LoadBalancingRuleArgs{
    BackendAddressPool: &network.SubResourceArgs{
    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: &network.SubResourceArgs{
    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(network.LoadDistributionDefault),
    Name: pulumi.String("rulelb"),
    Probe: &network.SubResourceArgs{
    Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
    },
    Protocol: pulumi.String(network.TransportProtocolTcp),
    },
    },
    Location: pulumi.String("eastus"),
    OutboundRules: network.OutboundRuleArray{
    &network.OutboundRuleArgs{
    BackendAddressPool: &network.SubResourceArgs{
    Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
    },
    FrontendIPConfigurations: network.SubResourceArray{
    &network.SubResourceArgs{
    Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
    },
    },
    Name: pulumi.String("rule1"),
    Protocol: pulumi.String(network.LoadBalancerOutboundRuleProtocolAll),
    },
    },
    Probes: network.ProbeArray{
    &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(network.ProbeProtocolHttp),
    RequestPath: pulumi.String("healthcheck.aspx"),
    },
    },
    ResourceGroupName: pulumi.String("rg1"),
    Sku: &network.LoadBalancerSkuArgs{
    Name: pulumi.String(network.LoadBalancerSkuNameStandard),
    },
    })
    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 com.pulumi.azurenative.network.inputs.BackendAddressPoolArgs;
    import com.pulumi.azurenative.network.inputs.FrontendIPConfigurationArgs;
    import com.pulumi.azurenative.network.inputs.PublicIPAddressArgs;
    import com.pulumi.azurenative.network.inputs.InboundNatRuleArgs;
    import com.pulumi.azurenative.network.inputs.SubResourceArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancingRuleArgs;
    import com.pulumi.azurenative.network.inputs.OutboundRuleArgs;
    import com.pulumi.azurenative.network.inputs.ProbeArgs;
    import com.pulumi.azurenative.network.inputs.LoadBalancerSkuArgs;
    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(BackendAddressPoolArgs.builder()
                    .name("be-lb")
                    .build())
                .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()
                    .name("fe-lb")
                    .publicIPAddress(PublicIPAddressArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip")
                        .build())
                    .build())
                .inboundNatPools()
                .inboundNatRules(InboundNatRuleArgs.builder()
                    .backendPort(3389)
                    .enableFloatingIP(true)
                    .frontendIPConfiguration(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")
                        .build())
                    .frontendPort(3389)
                    .idleTimeoutInMinutes(15)
                    .name("in-nat-rule")
                    .protocol("Tcp")
                    .build())
                .loadBalancerName("lb")
                .loadBalancingRules(LoadBalancingRuleArgs.builder()
                    .backendAddressPool(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")
                        .build())
                    .backendPort(80)
                    .disableOutboundSnat(true)
                    .enableFloatingIP(true)
                    .frontendIPConfiguration(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")
                        .build())
                    .frontendPort(80)
                    .idleTimeoutInMinutes(15)
                    .loadDistribution("Default")
                    .name("rulelb")
                    .probe(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb")
                        .build())
                    .protocol("Tcp")
                    .build())
                .location("eastus")
                .outboundRules(OutboundRuleArgs.builder()
                    .backendAddressPool(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")
                        .build())
                    .frontendIPConfigurations(SubResourceArgs.builder()
                        .id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")
                        .build())
                    .name("rule1")
                    .protocol("All")
                    .build())
                .probes(ProbeArgs.builder()
                    .intervalInSeconds(15)
                    .name("probe-lb")
                    .numberOfProbes(2)
                    .port(80)
                    .probeThreshold(1)
                    .protocol("Http")
                    .requestPath("healthcheck.aspx")
                    .build())
                .resourceGroupName("rg1")
                .sku(LoadBalancerSkuArgs.builder()
                    .name("Standard")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    load_balancer = azure_native.network.LoadBalancer("loadBalancer",
        backend_address_pools=[azure_native.network.BackendAddressPoolArgs(
            name="be-lb",
        )],
        frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(
            name="fe-lb",
            public_ip_address=azure_native.network.PublicIPAddressArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip",
            ),
        )],
        inbound_nat_pools=[],
        inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(
            backend_port=3389,
            enable_floating_ip=True,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            ),
            frontend_port=3389,
            idle_timeout_in_minutes=15,
            name="in-nat-rule",
            protocol=azure_native.network.TransportProtocol.TCP,
        )],
        load_balancer_name="lb",
        load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(
            backend_address_pool=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            ),
            backend_port=80,
            disable_outbound_snat=True,
            enable_floating_ip=True,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            ),
            frontend_port=80,
            idle_timeout_in_minutes=15,
            load_distribution=azure_native.network.LoadDistribution.DEFAULT,
            name="rulelb",
            probe=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            ),
            protocol=azure_native.network.TransportProtocol.TCP,
        )],
        location="eastus",
        outbound_rules=[azure_native.network.OutboundRuleArgs(
            backend_address_pool=azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            ),
            frontend_ip_configurations=[azure_native.network.SubResourceArgs(
                id="/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            )],
            name="rule1",
            protocol=azure_native.network.LoadBalancerOutboundRuleProtocol.ALL,
        )],
        probes=[azure_native.network.ProbeArgs(
            interval_in_seconds=15,
            name="probe-lb",
            number_of_probes=2,
            port=80,
            probe_threshold=1,
            protocol=azure_native.network.ProbeProtocol.HTTP,
            request_path="healthcheck.aspx",
        )],
        resource_group_name="rg1",
        sku=azure_native.network.LoadBalancerSkuArgs(
            name=azure_native.network.LoadBalancerSkuName.STANDARD,
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const loadBalancer = new azure_native.network.LoadBalancer("loadBalancer", {
        backendAddressPools: [{
            name: "be-lb",
        }],
        frontendIPConfigurations: [{
            name: "fe-lb",
            publicIPAddress: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip",
            },
        }],
        inboundNatPools: [],
        inboundNatRules: [{
            backendPort: 3389,
            enableFloatingIP: true,
            frontendIPConfiguration: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            },
            frontendPort: 3389,
            idleTimeoutInMinutes: 15,
            name: "in-nat-rule",
            protocol: azure_native.network.TransportProtocol.Tcp,
        }],
        loadBalancerName: "lb",
        loadBalancingRules: [{
            backendAddressPool: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            },
            backendPort: 80,
            disableOutboundSnat: true,
            enableFloatingIP: true,
            frontendIPConfiguration: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            },
            frontendPort: 80,
            idleTimeoutInMinutes: 15,
            loadDistribution: azure_native.network.LoadDistribution.Default,
            name: "rulelb",
            probe: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
            },
            protocol: azure_native.network.TransportProtocol.Tcp,
        }],
        location: "eastus",
        outboundRules: [{
            backendAddressPool: {
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
            },
            frontendIPConfigurations: [{
                id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
            }],
            name: "rule1",
            protocol: azure_native.network.LoadBalancerOutboundRuleProtocol.All,
        }],
        probes: [{
            intervalInSeconds: 15,
            name: "probe-lb",
            numberOfProbes: 2,
            port: 80,
            probeThreshold: 1,
            protocol: azure_native.network.ProbeProtocol.Http,
            requestPath: "healthcheck.aspx",
        }],
        resourceGroupName: "rg1",
        sku: {
            name: azure_native.network.LoadBalancerSkuName.Standard,
        },
    });
    
    resources:
      loadBalancer:
        type: azure-native:network:LoadBalancer
        properties:
          backendAddressPools:
            - name: be-lb
          frontendIPConfigurations:
            - name: fe-lb
              publicIPAddress:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip
          inboundNatPools: []
          inboundNatRules:
            - backendPort: 3389
              enableFloatingIP: true
              frontendIPConfiguration:
                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:
            - backendAddressPool:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb
              backendPort: 80
              disableOutboundSnat: true
              enableFloatingIP: true
              frontendIPConfiguration:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb
              frontendPort: 80
              idleTimeoutInMinutes: 15
              loadDistribution: Default
              name: rulelb
              probe:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb
              protocol: Tcp
          location: eastus
          outboundRules:
            - backendAddressPool:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb
              frontendIPConfigurations:
                - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb
              name: rule1
              protocol: All
          probes:
            - intervalInSeconds: 15
              name: probe-lb
              numberOfProbes: 2
              port: 80
              probeThreshold: 1
              protocol: Http
              requestPath: healthcheck.aspx
          resourceGroupName: rg1
          sku:
            name: Standard
    

    Create LoadBalancer Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new LoadBalancer(name: string, args: LoadBalancerArgs, opts?: CustomResourceOptions);
    @overload
    def LoadBalancer(resource_name: str,
                     args: LoadBalancerArgs,
                     opts: Optional[ResourceOptions] = None)
    
    @overload
    def LoadBalancer(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     resource_group_name: Optional[str] = None,
                     load_balancer_name: Optional[str] = None,
                     frontend_ip_configurations: Optional[Sequence[FrontendIPConfigurationArgs]] = None,
                     id: Optional[str] = None,
                     inbound_nat_pools: Optional[Sequence[InboundNatPoolArgs]] = None,
                     inbound_nat_rules: Optional[Sequence[InboundNatRuleArgs]] = None,
                     backend_address_pools: Optional[Sequence[BackendAddressPoolArgs]] = None,
                     load_balancing_rules: Optional[Sequence[LoadBalancingRuleArgs]] = None,
                     location: Optional[str] = None,
                     outbound_rules: Optional[Sequence[OutboundRuleArgs]] = None,
                     probes: Optional[Sequence[ProbeArgs]] = None,
                     extended_location: Optional[ExtendedLocationArgs] = None,
                     sku: Optional[LoadBalancerSkuArgs] = None,
                     tags: Optional[Mapping[str, str]] = None)
    func NewLoadBalancer(ctx *Context, name string, args LoadBalancerArgs, opts ...ResourceOption) (*LoadBalancer, error)
    public LoadBalancer(string name, LoadBalancerArgs args, CustomResourceOptions? opts = null)
    public LoadBalancer(String name, LoadBalancerArgs args)
    public LoadBalancer(String name, LoadBalancerArgs args, CustomResourceOptions options)
    
    type: azure-native:network:LoadBalancer
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args LoadBalancerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args LoadBalancerArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args LoadBalancerArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args LoadBalancerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args LoadBalancerArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var exampleloadBalancerResourceResourceFromNetwork = new AzureNative.Network.LoadBalancer("exampleloadBalancerResourceResourceFromNetwork", new()
    {
        ResourceGroupName = "string",
        LoadBalancerName = "string",
        FrontendIPConfigurations = new[]
        {
            new AzureNative.Network.Inputs.FrontendIPConfigurationArgs
            {
                GatewayLoadBalancer = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "string",
                },
                Id = "string",
                Name = "string",
                PrivateIPAddress = "string",
                PrivateIPAddressVersion = "string",
                PrivateIPAllocationMethod = "string",
                PublicIPAddress = new AzureNative.Network.Inputs.PublicIPAddressArgs
                {
                    DdosSettings = new AzureNative.Network.Inputs.DdosSettingsArgs
                    {
                        DdosProtectionPlan = new AzureNative.Network.Inputs.SubResourceArgs
                        {
                            Id = "string",
                        },
                        ProtectionMode = "string",
                    },
                    DeleteOption = "string",
                    DnsSettings = new AzureNative.Network.Inputs.PublicIPAddressDnsSettingsArgs
                    {
                        DomainNameLabel = "string",
                        DomainNameLabelScope = AzureNative.Network.PublicIpAddressDnsSettingsDomainNameLabelScope.TenantReuse,
                        Fqdn = "string",
                        ReverseFqdn = "string",
                    },
                    ExtendedLocation = new AzureNative.Network.Inputs.ExtendedLocationArgs
                    {
                        Name = "string",
                        Type = "string",
                    },
                    Id = "string",
                    IdleTimeoutInMinutes = 0,
                    IpAddress = "string",
                    IpTags = new[]
                    {
                        new AzureNative.Network.Inputs.IpTagArgs
                        {
                            IpTagType = "string",
                            Tag = "string",
                        },
                    },
                    LinkedPublicIPAddress = publicIPAddress,
                    Location = "string",
                    MigrationPhase = "string",
                    NatGateway = new AzureNative.Network.Inputs.NatGatewayArgs
                    {
                        Id = "string",
                        IdleTimeoutInMinutes = 0,
                        Location = "string",
                        PublicIpAddresses = new[]
                        {
                            new AzureNative.Network.Inputs.SubResourceArgs
                            {
                                Id = "string",
                            },
                        },
                        PublicIpPrefixes = new[]
                        {
                            new AzureNative.Network.Inputs.SubResourceArgs
                            {
                                Id = "string",
                            },
                        },
                        Sku = new AzureNative.Network.Inputs.NatGatewaySkuArgs
                        {
                            Name = "string",
                        },
                        Tags = 
                        {
                            { "string", "string" },
                        },
                        Zones = new[]
                        {
                            "string",
                        },
                    },
                    PublicIPAddressVersion = "string",
                    PublicIPAllocationMethod = "string",
                    PublicIPPrefix = new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "string",
                    },
                    ServicePublicIPAddress = publicIPAddress,
                    Sku = new AzureNative.Network.Inputs.PublicIPAddressSkuArgs
                    {
                        Name = "string",
                        Tier = "string",
                    },
                    Tags = 
                    {
                        { "string", "string" },
                    },
                    Zones = new[]
                    {
                        "string",
                    },
                },
                PublicIPPrefix = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "string",
                },
                Subnet = new AzureNative.Network.Inputs.SubnetArgs
                {
                    AddressPrefix = "string",
                    AddressPrefixes = new[]
                    {
                        "string",
                    },
                    ApplicationGatewayIPConfigurations = new[]
                    {
                        new AzureNative.Network.Inputs.ApplicationGatewayIPConfigurationArgs
                        {
                            Id = "string",
                            Name = "string",
                            Subnet = new AzureNative.Network.Inputs.SubResourceArgs
                            {
                                Id = "string",
                            },
                        },
                    },
                    Delegations = new[]
                    {
                        new AzureNative.Network.Inputs.DelegationArgs
                        {
                            Actions = new[]
                            {
                                "string",
                            },
                            Etag = "string",
                            Id = "string",
                            Name = "string",
                            ServiceName = "string",
                            Type = "string",
                        },
                    },
                    Etag = "string",
                    Id = "string",
                    IpAllocations = new[]
                    {
                        new AzureNative.Network.Inputs.SubResourceArgs
                        {
                            Id = "string",
                        },
                    },
                    Name = "string",
                    NatGateway = new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "string",
                    },
                    NetworkSecurityGroup = new AzureNative.Network.Inputs.NetworkSecurityGroupArgs
                    {
                        DefaultSecurityRules = new[]
                        {
                            new AzureNative.Network.Inputs.SecurityRuleArgs
                            {
                                Direction = "string",
                                Protocol = "string",
                                Access = "string",
                                Name = "string",
                                Description = "string",
                                DestinationPortRange = "string",
                                DestinationPortRanges = new[]
                                {
                                    "string",
                                },
                                DestinationAddressPrefixes = new[]
                                {
                                    "string",
                                },
                                Etag = "string",
                                Id = "string",
                                DestinationAddressPrefix = "string",
                                Priority = 0,
                                DestinationApplicationSecurityGroups = new[]
                                {
                                    new AzureNative.Network.Inputs.ApplicationSecurityGroupArgs
                                    {
                                        Id = "string",
                                        Location = "string",
                                        Tags = 
                                        {
                                            { "string", "string" },
                                        },
                                    },
                                },
                                ProvisioningState = "string",
                                SourceAddressPrefix = "string",
                                SourceAddressPrefixes = new[]
                                {
                                    "string",
                                },
                                SourceApplicationSecurityGroups = new[]
                                {
                                    new AzureNative.Network.Inputs.ApplicationSecurityGroupArgs
                                    {
                                        Id = "string",
                                        Location = "string",
                                        Tags = 
                                        {
                                            { "string", "string" },
                                        },
                                    },
                                },
                                SourcePortRange = "string",
                                SourcePortRanges = new[]
                                {
                                    "string",
                                },
                                Type = "string",
                            },
                        },
                        Etag = "string",
                        FlushConnection = false,
                        Id = "string",
                        Location = "string",
                        ProvisioningState = "string",
                        ResourceGuid = "string",
                        SecurityRules = new[]
                        {
                            new AzureNative.Network.Inputs.SecurityRuleArgs
                            {
                                Direction = "string",
                                Protocol = "string",
                                Access = "string",
                                Name = "string",
                                Description = "string",
                                DestinationPortRange = "string",
                                DestinationPortRanges = new[]
                                {
                                    "string",
                                },
                                DestinationAddressPrefixes = new[]
                                {
                                    "string",
                                },
                                Etag = "string",
                                Id = "string",
                                DestinationAddressPrefix = "string",
                                Priority = 0,
                                DestinationApplicationSecurityGroups = new[]
                                {
                                    new AzureNative.Network.Inputs.ApplicationSecurityGroupArgs
                                    {
                                        Id = "string",
                                        Location = "string",
                                        Tags = 
                                        {
                                            { "string", "string" },
                                        },
                                    },
                                },
                                ProvisioningState = "string",
                                SourceAddressPrefix = "string",
                                SourceAddressPrefixes = new[]
                                {
                                    "string",
                                },
                                SourceApplicationSecurityGroups = new[]
                                {
                                    new AzureNative.Network.Inputs.ApplicationSecurityGroupArgs
                                    {
                                        Id = "string",
                                        Location = "string",
                                        Tags = 
                                        {
                                            { "string", "string" },
                                        },
                                    },
                                },
                                SourcePortRange = "string",
                                SourcePortRanges = new[]
                                {
                                    "string",
                                },
                                Type = "string",
                            },
                        },
                        Tags = 
                        {
                            { "string", "string" },
                        },
                    },
                    PrivateEndpointNetworkPolicies = "string",
                    PrivateLinkServiceNetworkPolicies = "string",
                    ProvisioningState = "string",
                    ResourceNavigationLinks = new[]
                    {
                        new AzureNative.Network.Inputs.ResourceNavigationLinkArgs
                        {
                            Id = "string",
                            Link = "string",
                            LinkedResourceType = "string",
                            Name = "string",
                        },
                    },
                    RouteTable = new AzureNative.Network.Inputs.RouteTableArgs
                    {
                        DisableBgpRoutePropagation = false,
                        Etag = "string",
                        Id = "string",
                        Location = "string",
                        ProvisioningState = "string",
                        Routes = new[]
                        {
                            new AzureNative.Network.Inputs.RouteArgs
                            {
                                NextHopType = "string",
                                AddressPrefix = "string",
                                Etag = "string",
                                HasBgpOverride = false,
                                Id = "string",
                                Name = "string",
                                NextHopIpAddress = "string",
                                ProvisioningState = "string",
                                Type = "string",
                            },
                        },
                        Tags = 
                        {
                            { "string", "string" },
                        },
                    },
                    ServiceAssociationLinks = new[]
                    {
                        new AzureNative.Network.Inputs.ServiceAssociationLinkArgs
                        {
                            Id = "string",
                            Link = "string",
                            LinkedResourceType = "string",
                            Name = "string",
                        },
                    },
                    ServiceEndpointPolicies = new[]
                    {
                        new AzureNative.Network.Inputs.ServiceEndpointPolicyArgs
                        {
                            ContextualServiceEndpointPolicies = new[]
                            {
                                "string",
                            },
                            Etag = "string",
                            Id = "string",
                            Location = "string",
                            ServiceAlias = "string",
                            ServiceEndpointPolicyDefinitions = new[]
                            {
                                new AzureNative.Network.Inputs.ServiceEndpointPolicyDefinitionArgs
                                {
                                    Description = "string",
                                    Etag = "string",
                                    Id = "string",
                                    Name = "string",
                                    Service = "string",
                                    ServiceResources = new[]
                                    {
                                        "string",
                                    },
                                    Type = "string",
                                },
                            },
                            Tags = 
                            {
                                { "string", "string" },
                            },
                        },
                    },
                    ServiceEndpoints = new[]
                    {
                        new AzureNative.Network.Inputs.ServiceEndpointPropertiesFormatArgs
                        {
                            Locations = new[]
                            {
                                "string",
                            },
                            ProvisioningState = "string",
                            Service = "string",
                        },
                    },
                    Type = "string",
                },
                Zones = new[]
                {
                    "string",
                },
            },
        },
        Id = "string",
        InboundNatPools = new[]
        {
            new AzureNative.Network.Inputs.InboundNatPoolArgs
            {
                BackendPort = 0,
                FrontendPortRangeEnd = 0,
                FrontendPortRangeStart = 0,
                Protocol = "string",
                EnableFloatingIP = false,
                EnableTcpReset = false,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "string",
                },
                Id = "string",
                IdleTimeoutInMinutes = 0,
                Name = "string",
            },
        },
        InboundNatRules = new[]
        {
            new AzureNative.Network.Inputs.InboundNatRuleArgs
            {
                BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "string",
                },
                BackendPort = 0,
                EnableFloatingIP = false,
                EnableTcpReset = false,
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "string",
                },
                FrontendPort = 0,
                FrontendPortRangeEnd = 0,
                FrontendPortRangeStart = 0,
                Id = "string",
                IdleTimeoutInMinutes = 0,
                Name = "string",
                Protocol = "string",
            },
        },
        BackendAddressPools = new[]
        {
            new AzureNative.Network.Inputs.BackendAddressPoolArgs
            {
                DrainPeriodInSeconds = 0,
                Id = "string",
                LoadBalancerBackendAddresses = new[]
                {
                    new AzureNative.Network.Inputs.LoadBalancerBackendAddressArgs
                    {
                        AdminState = "string",
                        IpAddress = "string",
                        LoadBalancerFrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                        {
                            Id = "string",
                        },
                        Name = "string",
                        Subnet = new AzureNative.Network.Inputs.SubResourceArgs
                        {
                            Id = "string",
                        },
                        VirtualNetwork = new AzureNative.Network.Inputs.SubResourceArgs
                        {
                            Id = "string",
                        },
                    },
                },
                Location = "string",
                Name = "string",
                TunnelInterfaces = new[]
                {
                    new AzureNative.Network.Inputs.GatewayLoadBalancerTunnelInterfaceArgs
                    {
                        Identifier = 0,
                        Port = 0,
                        Protocol = "string",
                        Type = "string",
                    },
                },
                VirtualNetwork = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "string",
                },
            },
        },
        LoadBalancingRules = new[]
        {
            new AzureNative.Network.Inputs.LoadBalancingRuleArgs
            {
                FrontendPort = 0,
                Protocol = "string",
                FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "string",
                },
                DisableOutboundSnat = false,
                EnableFloatingIP = false,
                EnableTcpReset = false,
                BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "string",
                },
                BackendPort = 0,
                Id = "string",
                IdleTimeoutInMinutes = 0,
                LoadDistribution = "string",
                Name = "string",
                Probe = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "string",
                },
                BackendAddressPools = new[]
                {
                    new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "string",
                    },
                },
            },
        },
        Location = "string",
        OutboundRules = new[]
        {
            new AzureNative.Network.Inputs.OutboundRuleArgs
            {
                BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs
                {
                    Id = "string",
                },
                FrontendIPConfigurations = new[]
                {
                    new AzureNative.Network.Inputs.SubResourceArgs
                    {
                        Id = "string",
                    },
                },
                Protocol = "string",
                AllocatedOutboundPorts = 0,
                EnableTcpReset = false,
                Id = "string",
                IdleTimeoutInMinutes = 0,
                Name = "string",
            },
        },
        Probes = new[]
        {
            new AzureNative.Network.Inputs.ProbeArgs
            {
                Port = 0,
                Protocol = "string",
                Id = "string",
                IntervalInSeconds = 0,
                Name = "string",
                NumberOfProbes = 0,
                ProbeThreshold = 0,
                RequestPath = "string",
            },
        },
        ExtendedLocation = new AzureNative.Network.Inputs.ExtendedLocationArgs
        {
            Name = "string",
            Type = "string",
        },
        Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs
        {
            Name = "string",
            Tier = "string",
        },
        Tags = 
        {
            { "string", "string" },
        },
    });
    
    example, err := network.NewLoadBalancer(ctx, "exampleloadBalancerResourceResourceFromNetwork", &network.LoadBalancerArgs{
    ResourceGroupName: pulumi.String("string"),
    LoadBalancerName: pulumi.String("string"),
    FrontendIPConfigurations: network.FrontendIPConfigurationArray{
    &network.FrontendIPConfigurationArgs{
    GatewayLoadBalancer: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    Id: pulumi.String("string"),
    Name: pulumi.String("string"),
    PrivateIPAddress: pulumi.String("string"),
    PrivateIPAddressVersion: pulumi.String("string"),
    PrivateIPAllocationMethod: pulumi.String("string"),
    PublicIPAddress: interface{}{
    DdosSettings: &network.DdosSettingsArgs{
    DdosProtectionPlan: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    ProtectionMode: pulumi.String("string"),
    },
    DeleteOption: pulumi.String("string"),
    DnsSettings: &network.PublicIPAddressDnsSettingsArgs{
    DomainNameLabel: pulumi.String("string"),
    DomainNameLabelScope: network.PublicIpAddressDnsSettingsDomainNameLabelScopeTenantReuse,
    Fqdn: pulumi.String("string"),
    ReverseFqdn: pulumi.String("string"),
    },
    ExtendedLocation: &network.ExtendedLocationArgs{
    Name: pulumi.String("string"),
    Type: pulumi.String("string"),
    },
    Id: pulumi.String("string"),
    IdleTimeoutInMinutes: pulumi.Int(0),
    IpAddress: pulumi.String("string"),
    IpTags: network.IpTagArray{
    &network.IpTagArgs{
    IpTagType: pulumi.String("string"),
    Tag: pulumi.String("string"),
    },
    },
    LinkedPublicIPAddress: pulumi.Any(publicIPAddress),
    Location: pulumi.String("string"),
    MigrationPhase: pulumi.String("string"),
    NatGateway: &network.NatGatewayTypeArgs{
    Id: pulumi.String("string"),
    IdleTimeoutInMinutes: pulumi.Int(0),
    Location: pulumi.String("string"),
    PublicIpAddresses: network.SubResourceArray{
    &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    PublicIpPrefixes: network.SubResourceArray{
    &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    Sku: &network.NatGatewaySkuArgs{
    Name: pulumi.String("string"),
    },
    Tags: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    Zones: pulumi.StringArray{
    pulumi.String("string"),
    },
    },
    PublicIPAddressVersion: pulumi.String("string"),
    PublicIPAllocationMethod: pulumi.String("string"),
    PublicIPPrefix: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    ServicePublicIPAddress: pulumi.Any(publicIPAddress),
    Sku: &network.PublicIPAddressSkuArgs{
    Name: pulumi.String("string"),
    Tier: pulumi.String("string"),
    },
    Tags: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    Zones: pulumi.StringArray{
    pulumi.String("string"),
    },
    },
    PublicIPPrefix: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    Subnet: &network.SubnetTypeArgs{
    AddressPrefix: pulumi.String("string"),
    AddressPrefixes: pulumi.StringArray{
    pulumi.String("string"),
    },
    ApplicationGatewayIPConfigurations: network.ApplicationGatewayIPConfigurationArray{
    &network.ApplicationGatewayIPConfigurationArgs{
    Id: pulumi.String("string"),
    Name: pulumi.String("string"),
    Subnet: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    },
    Delegations: network.DelegationArray{
    &network.DelegationArgs{
    Actions: pulumi.StringArray{
    pulumi.String("string"),
    },
    Etag: pulumi.String("string"),
    Id: pulumi.String("string"),
    Name: pulumi.String("string"),
    ServiceName: pulumi.String("string"),
    Type: pulumi.String("string"),
    },
    },
    Etag: pulumi.String("string"),
    Id: pulumi.String("string"),
    IpAllocations: network.SubResourceArray{
    &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    Name: pulumi.String("string"),
    NatGateway: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    NetworkSecurityGroup: &network.NetworkSecurityGroupTypeArgs{
    DefaultSecurityRules: network.SecurityRuleTypeArray{
    &network.SecurityRuleTypeArgs{
    Direction: pulumi.String("string"),
    Protocol: pulumi.String("string"),
    Access: pulumi.String("string"),
    Name: pulumi.String("string"),
    Description: pulumi.String("string"),
    DestinationPortRange: pulumi.String("string"),
    DestinationPortRanges: pulumi.StringArray{
    pulumi.String("string"),
    },
    DestinationAddressPrefixes: pulumi.StringArray{
    pulumi.String("string"),
    },
    Etag: pulumi.String("string"),
    Id: pulumi.String("string"),
    DestinationAddressPrefix: pulumi.String("string"),
    Priority: pulumi.Int(0),
    DestinationApplicationSecurityGroups: network.ApplicationSecurityGroupTypeArray{
    &network.ApplicationSecurityGroupTypeArgs{
    Id: pulumi.String("string"),
    Location: pulumi.String("string"),
    Tags: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    },
    },
    ProvisioningState: pulumi.String("string"),
    SourceAddressPrefix: pulumi.String("string"),
    SourceAddressPrefixes: pulumi.StringArray{
    pulumi.String("string"),
    },
    SourceApplicationSecurityGroups: network.ApplicationSecurityGroupTypeArray{
    &network.ApplicationSecurityGroupTypeArgs{
    Id: pulumi.String("string"),
    Location: pulumi.String("string"),
    Tags: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    },
    },
    SourcePortRange: pulumi.String("string"),
    SourcePortRanges: pulumi.StringArray{
    pulumi.String("string"),
    },
    Type: pulumi.String("string"),
    },
    },
    Etag: pulumi.String("string"),
    FlushConnection: pulumi.Bool(false),
    Id: pulumi.String("string"),
    Location: pulumi.String("string"),
    ProvisioningState: pulumi.String("string"),
    ResourceGuid: pulumi.String("string"),
    SecurityRules: network.SecurityRuleTypeArray{
    &network.SecurityRuleTypeArgs{
    Direction: pulumi.String("string"),
    Protocol: pulumi.String("string"),
    Access: pulumi.String("string"),
    Name: pulumi.String("string"),
    Description: pulumi.String("string"),
    DestinationPortRange: pulumi.String("string"),
    DestinationPortRanges: pulumi.StringArray{
    pulumi.String("string"),
    },
    DestinationAddressPrefixes: pulumi.StringArray{
    pulumi.String("string"),
    },
    Etag: pulumi.String("string"),
    Id: pulumi.String("string"),
    DestinationAddressPrefix: pulumi.String("string"),
    Priority: pulumi.Int(0),
    DestinationApplicationSecurityGroups: network.ApplicationSecurityGroupTypeArray{
    &network.ApplicationSecurityGroupTypeArgs{
    Id: pulumi.String("string"),
    Location: pulumi.String("string"),
    Tags: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    },
    },
    ProvisioningState: pulumi.String("string"),
    SourceAddressPrefix: pulumi.String("string"),
    SourceAddressPrefixes: pulumi.StringArray{
    pulumi.String("string"),
    },
    SourceApplicationSecurityGroups: network.ApplicationSecurityGroupTypeArray{
    &network.ApplicationSecurityGroupTypeArgs{
    Id: pulumi.String("string"),
    Location: pulumi.String("string"),
    Tags: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    },
    },
    SourcePortRange: pulumi.String("string"),
    SourcePortRanges: pulumi.StringArray{
    pulumi.String("string"),
    },
    Type: pulumi.String("string"),
    },
    },
    Tags: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    },
    PrivateEndpointNetworkPolicies: pulumi.String("string"),
    PrivateLinkServiceNetworkPolicies: pulumi.String("string"),
    ProvisioningState: pulumi.String("string"),
    ResourceNavigationLinks: network.ResourceNavigationLinkArray{
    &network.ResourceNavigationLinkArgs{
    Id: pulumi.String("string"),
    Link: pulumi.String("string"),
    LinkedResourceType: pulumi.String("string"),
    Name: pulumi.String("string"),
    },
    },
    RouteTable: &network.RouteTableTypeArgs{
    DisableBgpRoutePropagation: pulumi.Bool(false),
    Etag: pulumi.String("string"),
    Id: pulumi.String("string"),
    Location: pulumi.String("string"),
    ProvisioningState: pulumi.String("string"),
    Routes: network.RouteTypeArray{
    &network.RouteTypeArgs{
    NextHopType: pulumi.String("string"),
    AddressPrefix: pulumi.String("string"),
    Etag: pulumi.String("string"),
    HasBgpOverride: pulumi.Bool(false),
    Id: pulumi.String("string"),
    Name: pulumi.String("string"),
    NextHopIpAddress: pulumi.String("string"),
    ProvisioningState: pulumi.String("string"),
    Type: pulumi.String("string"),
    },
    },
    Tags: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    },
    ServiceAssociationLinks: network.ServiceAssociationLinkArray{
    &network.ServiceAssociationLinkArgs{
    Id: pulumi.String("string"),
    Link: pulumi.String("string"),
    LinkedResourceType: pulumi.String("string"),
    Name: pulumi.String("string"),
    },
    },
    ServiceEndpointPolicies: network.ServiceEndpointPolicyTypeArray{
    &network.ServiceEndpointPolicyTypeArgs{
    ContextualServiceEndpointPolicies: pulumi.StringArray{
    pulumi.String("string"),
    },
    Etag: pulumi.String("string"),
    Id: pulumi.String("string"),
    Location: pulumi.String("string"),
    ServiceAlias: pulumi.String("string"),
    ServiceEndpointPolicyDefinitions: network.ServiceEndpointPolicyDefinitionTypeArray{
    &network.ServiceEndpointPolicyDefinitionTypeArgs{
    Description: pulumi.String("string"),
    Etag: pulumi.String("string"),
    Id: pulumi.String("string"),
    Name: pulumi.String("string"),
    Service: pulumi.String("string"),
    ServiceResources: pulumi.StringArray{
    pulumi.String("string"),
    },
    Type: pulumi.String("string"),
    },
    },
    Tags: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    },
    },
    ServiceEndpoints: network.ServiceEndpointPropertiesFormatArray{
    &network.ServiceEndpointPropertiesFormatArgs{
    Locations: pulumi.StringArray{
    pulumi.String("string"),
    },
    ProvisioningState: pulumi.String("string"),
    Service: pulumi.String("string"),
    },
    },
    Type: pulumi.String("string"),
    },
    Zones: pulumi.StringArray{
    pulumi.String("string"),
    },
    },
    },
    Id: pulumi.String("string"),
    InboundNatPools: network.InboundNatPoolArray{
    &network.InboundNatPoolArgs{
    BackendPort: pulumi.Int(0),
    FrontendPortRangeEnd: pulumi.Int(0),
    FrontendPortRangeStart: pulumi.Int(0),
    Protocol: pulumi.String("string"),
    EnableFloatingIP: pulumi.Bool(false),
    EnableTcpReset: pulumi.Bool(false),
    FrontendIPConfiguration: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    Id: pulumi.String("string"),
    IdleTimeoutInMinutes: pulumi.Int(0),
    Name: pulumi.String("string"),
    },
    },
    InboundNatRules: network.InboundNatRuleTypeArray{
    &network.InboundNatRuleTypeArgs{
    BackendAddressPool: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    BackendPort: pulumi.Int(0),
    EnableFloatingIP: pulumi.Bool(false),
    EnableTcpReset: pulumi.Bool(false),
    FrontendIPConfiguration: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    FrontendPort: pulumi.Int(0),
    FrontendPortRangeEnd: pulumi.Int(0),
    FrontendPortRangeStart: pulumi.Int(0),
    Id: pulumi.String("string"),
    IdleTimeoutInMinutes: pulumi.Int(0),
    Name: pulumi.String("string"),
    Protocol: pulumi.String("string"),
    },
    },
    BackendAddressPools: network.BackendAddressPoolArray{
    &network.BackendAddressPoolArgs{
    DrainPeriodInSeconds: pulumi.Int(0),
    Id: pulumi.String("string"),
    LoadBalancerBackendAddresses: network.LoadBalancerBackendAddressArray{
    &network.LoadBalancerBackendAddressArgs{
    AdminState: pulumi.String("string"),
    IpAddress: pulumi.String("string"),
    LoadBalancerFrontendIPConfiguration: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    Name: pulumi.String("string"),
    Subnet: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    VirtualNetwork: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    },
    Location: pulumi.String("string"),
    Name: pulumi.String("string"),
    TunnelInterfaces: network.GatewayLoadBalancerTunnelInterfaceArray{
    &network.GatewayLoadBalancerTunnelInterfaceArgs{
    Identifier: pulumi.Int(0),
    Port: pulumi.Int(0),
    Protocol: pulumi.String("string"),
    Type: pulumi.String("string"),
    },
    },
    VirtualNetwork: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    },
    LoadBalancingRules: network.LoadBalancingRuleArray{
    &network.LoadBalancingRuleArgs{
    FrontendPort: pulumi.Int(0),
    Protocol: pulumi.String("string"),
    FrontendIPConfiguration: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    DisableOutboundSnat: pulumi.Bool(false),
    EnableFloatingIP: pulumi.Bool(false),
    EnableTcpReset: pulumi.Bool(false),
    BackendAddressPool: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    BackendPort: pulumi.Int(0),
    Id: pulumi.String("string"),
    IdleTimeoutInMinutes: pulumi.Int(0),
    LoadDistribution: pulumi.String("string"),
    Name: pulumi.String("string"),
    Probe: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    BackendAddressPools: network.SubResourceArray{
    &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    },
    },
    Location: pulumi.String("string"),
    OutboundRules: network.OutboundRuleArray{
    &network.OutboundRuleArgs{
    BackendAddressPool: &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    FrontendIPConfigurations: network.SubResourceArray{
    &network.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    Protocol: pulumi.String("string"),
    AllocatedOutboundPorts: pulumi.Int(0),
    EnableTcpReset: pulumi.Bool(false),
    Id: pulumi.String("string"),
    IdleTimeoutInMinutes: pulumi.Int(0),
    Name: pulumi.String("string"),
    },
    },
    Probes: network.ProbeArray{
    &network.ProbeArgs{
    Port: pulumi.Int(0),
    Protocol: pulumi.String("string"),
    Id: pulumi.String("string"),
    IntervalInSeconds: pulumi.Int(0),
    Name: pulumi.String("string"),
    NumberOfProbes: pulumi.Int(0),
    ProbeThreshold: pulumi.Int(0),
    RequestPath: pulumi.String("string"),
    },
    },
    ExtendedLocation: &network.ExtendedLocationArgs{
    Name: pulumi.String("string"),
    Type: pulumi.String("string"),
    },
    Sku: &network.LoadBalancerSkuArgs{
    Name: pulumi.String("string"),
    Tier: pulumi.String("string"),
    },
    Tags: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    })
    
    var exampleloadBalancerResourceResourceFromNetwork = new LoadBalancer("exampleloadBalancerResourceResourceFromNetwork", LoadBalancerArgs.builder()
        .resourceGroupName("string")
        .loadBalancerName("string")
        .frontendIPConfigurations(FrontendIPConfigurationArgs.builder()
            .gatewayLoadBalancer(SubResourceArgs.builder()
                .id("string")
                .build())
            .id("string")
            .name("string")
            .privateIPAddress("string")
            .privateIPAddressVersion("string")
            .privateIPAllocationMethod("string")
            .publicIPAddress(PublicIPAddressArgs.builder()
                .ddosSettings(DdosSettingsArgs.builder()
                    .ddosProtectionPlan(SubResourceArgs.builder()
                        .id("string")
                        .build())
                    .protectionMode("string")
                    .build())
                .deleteOption("string")
                .dnsSettings(PublicIPAddressDnsSettingsArgs.builder()
                    .domainNameLabel("string")
                    .domainNameLabelScope("TenantReuse")
                    .fqdn("string")
                    .reverseFqdn("string")
                    .build())
                .extendedLocation(ExtendedLocationArgs.builder()
                    .name("string")
                    .type("string")
                    .build())
                .id("string")
                .idleTimeoutInMinutes(0)
                .ipAddress("string")
                .ipTags(IpTagArgs.builder()
                    .ipTagType("string")
                    .tag("string")
                    .build())
                .linkedPublicIPAddress(publicIPAddress)
                .location("string")
                .migrationPhase("string")
                .natGateway(NatGatewayArgs.builder()
                    .id("string")
                    .idleTimeoutInMinutes(0)
                    .location("string")
                    .publicIpAddresses(SubResourceArgs.builder()
                        .id("string")
                        .build())
                    .publicIpPrefixes(SubResourceArgs.builder()
                        .id("string")
                        .build())
                    .sku(NatGatewaySkuArgs.builder()
                        .name("string")
                        .build())
                    .tags(Map.of("string", "string"))
                    .zones("string")
                    .build())
                .publicIPAddressVersion("string")
                .publicIPAllocationMethod("string")
                .publicIPPrefix(SubResourceArgs.builder()
                    .id("string")
                    .build())
                .servicePublicIPAddress(publicIPAddress)
                .sku(PublicIPAddressSkuArgs.builder()
                    .name("string")
                    .tier("string")
                    .build())
                .tags(Map.of("string", "string"))
                .zones("string")
                .build())
            .publicIPPrefix(SubResourceArgs.builder()
                .id("string")
                .build())
            .subnet(SubnetArgs.builder()
                .addressPrefix("string")
                .addressPrefixes("string")
                .applicationGatewayIPConfigurations(ApplicationGatewayIPConfigurationArgs.builder()
                    .id("string")
                    .name("string")
                    .subnet(SubResourceArgs.builder()
                        .id("string")
                        .build())
                    .build())
                .delegations(DelegationArgs.builder()
                    .actions("string")
                    .etag("string")
                    .id("string")
                    .name("string")
                    .serviceName("string")
                    .type("string")
                    .build())
                .etag("string")
                .id("string")
                .ipAllocations(SubResourceArgs.builder()
                    .id("string")
                    .build())
                .name("string")
                .natGateway(SubResourceArgs.builder()
                    .id("string")
                    .build())
                .networkSecurityGroup(NetworkSecurityGroupArgs.builder()
                    .defaultSecurityRules(SecurityRuleArgs.builder()
                        .direction("string")
                        .protocol("string")
                        .access("string")
                        .name("string")
                        .description("string")
                        .destinationPortRange("string")
                        .destinationPortRanges("string")
                        .destinationAddressPrefixes("string")
                        .etag("string")
                        .id("string")
                        .destinationAddressPrefix("string")
                        .priority(0)
                        .destinationApplicationSecurityGroups(ApplicationSecurityGroupArgs.builder()
                            .id("string")
                            .location("string")
                            .tags(Map.of("string", "string"))
                            .build())
                        .provisioningState("string")
                        .sourceAddressPrefix("string")
                        .sourceAddressPrefixes("string")
                        .sourceApplicationSecurityGroups(ApplicationSecurityGroupArgs.builder()
                            .id("string")
                            .location("string")
                            .tags(Map.of("string", "string"))
                            .build())
                        .sourcePortRange("string")
                        .sourcePortRanges("string")
                        .type("string")
                        .build())
                    .etag("string")
                    .flushConnection(false)
                    .id("string")
                    .location("string")
                    .provisioningState("string")
                    .resourceGuid("string")
                    .securityRules(SecurityRuleArgs.builder()
                        .direction("string")
                        .protocol("string")
                        .access("string")
                        .name("string")
                        .description("string")
                        .destinationPortRange("string")
                        .destinationPortRanges("string")
                        .destinationAddressPrefixes("string")
                        .etag("string")
                        .id("string")
                        .destinationAddressPrefix("string")
                        .priority(0)
                        .destinationApplicationSecurityGroups(ApplicationSecurityGroupArgs.builder()
                            .id("string")
                            .location("string")
                            .tags(Map.of("string", "string"))
                            .build())
                        .provisioningState("string")
                        .sourceAddressPrefix("string")
                        .sourceAddressPrefixes("string")
                        .sourceApplicationSecurityGroups(ApplicationSecurityGroupArgs.builder()
                            .id("string")
                            .location("string")
                            .tags(Map.of("string", "string"))
                            .build())
                        .sourcePortRange("string")
                        .sourcePortRanges("string")
                        .type("string")
                        .build())
                    .tags(Map.of("string", "string"))
                    .build())
                .privateEndpointNetworkPolicies("string")
                .privateLinkServiceNetworkPolicies("string")
                .provisioningState("string")
                .resourceNavigationLinks(ResourceNavigationLinkArgs.builder()
                    .id("string")
                    .link("string")
                    .linkedResourceType("string")
                    .name("string")
                    .build())
                .routeTable(RouteTableArgs.builder()
                    .disableBgpRoutePropagation(false)
                    .etag("string")
                    .id("string")
                    .location("string")
                    .provisioningState("string")
                    .routes(RouteArgs.builder()
                        .nextHopType("string")
                        .addressPrefix("string")
                        .etag("string")
                        .hasBgpOverride(false)
                        .id("string")
                        .name("string")
                        .nextHopIpAddress("string")
                        .provisioningState("string")
                        .type("string")
                        .build())
                    .tags(Map.of("string", "string"))
                    .build())
                .serviceAssociationLinks(ServiceAssociationLinkArgs.builder()
                    .id("string")
                    .link("string")
                    .linkedResourceType("string")
                    .name("string")
                    .build())
                .serviceEndpointPolicies(ServiceEndpointPolicyArgs.builder()
                    .contextualServiceEndpointPolicies("string")
                    .etag("string")
                    .id("string")
                    .location("string")
                    .serviceAlias("string")
                    .serviceEndpointPolicyDefinitions(ServiceEndpointPolicyDefinitionArgs.builder()
                        .description("string")
                        .etag("string")
                        .id("string")
                        .name("string")
                        .service("string")
                        .serviceResources("string")
                        .type("string")
                        .build())
                    .tags(Map.of("string", "string"))
                    .build())
                .serviceEndpoints(ServiceEndpointPropertiesFormatArgs.builder()
                    .locations("string")
                    .provisioningState("string")
                    .service("string")
                    .build())
                .type("string")
                .build())
            .zones("string")
            .build())
        .id("string")
        .inboundNatPools(InboundNatPoolArgs.builder()
            .backendPort(0)
            .frontendPortRangeEnd(0)
            .frontendPortRangeStart(0)
            .protocol("string")
            .enableFloatingIP(false)
            .enableTcpReset(false)
            .frontendIPConfiguration(SubResourceArgs.builder()
                .id("string")
                .build())
            .id("string")
            .idleTimeoutInMinutes(0)
            .name("string")
            .build())
        .inboundNatRules(InboundNatRuleArgs.builder()
            .backendAddressPool(SubResourceArgs.builder()
                .id("string")
                .build())
            .backendPort(0)
            .enableFloatingIP(false)
            .enableTcpReset(false)
            .frontendIPConfiguration(SubResourceArgs.builder()
                .id("string")
                .build())
            .frontendPort(0)
            .frontendPortRangeEnd(0)
            .frontendPortRangeStart(0)
            .id("string")
            .idleTimeoutInMinutes(0)
            .name("string")
            .protocol("string")
            .build())
        .backendAddressPools(BackendAddressPoolArgs.builder()
            .drainPeriodInSeconds(0)
            .id("string")
            .loadBalancerBackendAddresses(LoadBalancerBackendAddressArgs.builder()
                .adminState("string")
                .ipAddress("string")
                .loadBalancerFrontendIPConfiguration(SubResourceArgs.builder()
                    .id("string")
                    .build())
                .name("string")
                .subnet(SubResourceArgs.builder()
                    .id("string")
                    .build())
                .virtualNetwork(SubResourceArgs.builder()
                    .id("string")
                    .build())
                .build())
            .location("string")
            .name("string")
            .tunnelInterfaces(GatewayLoadBalancerTunnelInterfaceArgs.builder()
                .identifier(0)
                .port(0)
                .protocol("string")
                .type("string")
                .build())
            .virtualNetwork(SubResourceArgs.builder()
                .id("string")
                .build())
            .build())
        .loadBalancingRules(LoadBalancingRuleArgs.builder()
            .frontendPort(0)
            .protocol("string")
            .frontendIPConfiguration(SubResourceArgs.builder()
                .id("string")
                .build())
            .disableOutboundSnat(false)
            .enableFloatingIP(false)
            .enableTcpReset(false)
            .backendAddressPool(SubResourceArgs.builder()
                .id("string")
                .build())
            .backendPort(0)
            .id("string")
            .idleTimeoutInMinutes(0)
            .loadDistribution("string")
            .name("string")
            .probe(SubResourceArgs.builder()
                .id("string")
                .build())
            .backendAddressPools(SubResourceArgs.builder()
                .id("string")
                .build())
            .build())
        .location("string")
        .outboundRules(OutboundRuleArgs.builder()
            .backendAddressPool(SubResourceArgs.builder()
                .id("string")
                .build())
            .frontendIPConfigurations(SubResourceArgs.builder()
                .id("string")
                .build())
            .protocol("string")
            .allocatedOutboundPorts(0)
            .enableTcpReset(false)
            .id("string")
            .idleTimeoutInMinutes(0)
            .name("string")
            .build())
        .probes(ProbeArgs.builder()
            .port(0)
            .protocol("string")
            .id("string")
            .intervalInSeconds(0)
            .name("string")
            .numberOfProbes(0)
            .probeThreshold(0)
            .requestPath("string")
            .build())
        .extendedLocation(ExtendedLocationArgs.builder()
            .name("string")
            .type("string")
            .build())
        .sku(LoadBalancerSkuArgs.builder()
            .name("string")
            .tier("string")
            .build())
        .tags(Map.of("string", "string"))
        .build());
    
    exampleload_balancer_resource_resource_from_network = azure_native.network.LoadBalancer("exampleloadBalancerResourceResourceFromNetwork",
        resource_group_name="string",
        load_balancer_name="string",
        frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(
            gateway_load_balancer=azure_native.network.SubResourceArgs(
                id="string",
            ),
            id="string",
            name="string",
            private_ip_address="string",
            private_ip_address_version="string",
            private_ip_allocation_method="string",
            public_ip_address=azure_native.network.PublicIPAddressArgs(
                ddos_settings=azure_native.network.DdosSettingsArgs(
                    ddos_protection_plan=azure_native.network.SubResourceArgs(
                        id="string",
                    ),
                    protection_mode="string",
                ),
                delete_option="string",
                dns_settings=azure_native.network.PublicIPAddressDnsSettingsArgs(
                    domain_name_label="string",
                    domain_name_label_scope=azure_native.network.PublicIpAddressDnsSettingsDomainNameLabelScope.TENANT_REUSE,
                    fqdn="string",
                    reverse_fqdn="string",
                ),
                extended_location=azure_native.network.ExtendedLocationArgs(
                    name="string",
                    type="string",
                ),
                id="string",
                idle_timeout_in_minutes=0,
                ip_address="string",
                ip_tags=[azure_native.network.IpTagArgs(
                    ip_tag_type="string",
                    tag="string",
                )],
                linked_public_ip_address=public_ip_address,
                location="string",
                migration_phase="string",
                nat_gateway=azure_native.network.NatGatewayArgs(
                    id="string",
                    idle_timeout_in_minutes=0,
                    location="string",
                    public_ip_addresses=[azure_native.network.SubResourceArgs(
                        id="string",
                    )],
                    public_ip_prefixes=[azure_native.network.SubResourceArgs(
                        id="string",
                    )],
                    sku=azure_native.network.NatGatewaySkuArgs(
                        name="string",
                    ),
                    tags={
                        "string": "string",
                    },
                    zones=["string"],
                ),
                public_ip_address_version="string",
                public_ip_allocation_method="string",
                public_ip_prefix=azure_native.network.SubResourceArgs(
                    id="string",
                ),
                service_public_ip_address=public_ip_address,
                sku=azure_native.network.PublicIPAddressSkuArgs(
                    name="string",
                    tier="string",
                ),
                tags={
                    "string": "string",
                },
                zones=["string"],
            ),
            public_ip_prefix=azure_native.network.SubResourceArgs(
                id="string",
            ),
            subnet=azure_native.network.SubnetArgs(
                address_prefix="string",
                address_prefixes=["string"],
                application_gateway_ip_configurations=[azure_native.network.ApplicationGatewayIPConfigurationArgs(
                    id="string",
                    name="string",
                    subnet=azure_native.network.SubResourceArgs(
                        id="string",
                    ),
                )],
                delegations=[azure_native.network.DelegationArgs(
                    actions=["string"],
                    etag="string",
                    id="string",
                    name="string",
                    service_name="string",
                    type="string",
                )],
                etag="string",
                id="string",
                ip_allocations=[azure_native.network.SubResourceArgs(
                    id="string",
                )],
                name="string",
                nat_gateway=azure_native.network.SubResourceArgs(
                    id="string",
                ),
                network_security_group=azure_native.network.NetworkSecurityGroupArgs(
                    default_security_rules=[azure_native.network.SecurityRuleArgs(
                        direction="string",
                        protocol="string",
                        access="string",
                        name="string",
                        description="string",
                        destination_port_range="string",
                        destination_port_ranges=["string"],
                        destination_address_prefixes=["string"],
                        etag="string",
                        id="string",
                        destination_address_prefix="string",
                        priority=0,
                        destination_application_security_groups=[azure_native.network.ApplicationSecurityGroupArgs(
                            id="string",
                            location="string",
                            tags={
                                "string": "string",
                            },
                        )],
                        provisioning_state="string",
                        source_address_prefix="string",
                        source_address_prefixes=["string"],
                        source_application_security_groups=[azure_native.network.ApplicationSecurityGroupArgs(
                            id="string",
                            location="string",
                            tags={
                                "string": "string",
                            },
                        )],
                        source_port_range="string",
                        source_port_ranges=["string"],
                        type="string",
                    )],
                    etag="string",
                    flush_connection=False,
                    id="string",
                    location="string",
                    provisioning_state="string",
                    resource_guid="string",
                    security_rules=[azure_native.network.SecurityRuleArgs(
                        direction="string",
                        protocol="string",
                        access="string",
                        name="string",
                        description="string",
                        destination_port_range="string",
                        destination_port_ranges=["string"],
                        destination_address_prefixes=["string"],
                        etag="string",
                        id="string",
                        destination_address_prefix="string",
                        priority=0,
                        destination_application_security_groups=[azure_native.network.ApplicationSecurityGroupArgs(
                            id="string",
                            location="string",
                            tags={
                                "string": "string",
                            },
                        )],
                        provisioning_state="string",
                        source_address_prefix="string",
                        source_address_prefixes=["string"],
                        source_application_security_groups=[azure_native.network.ApplicationSecurityGroupArgs(
                            id="string",
                            location="string",
                            tags={
                                "string": "string",
                            },
                        )],
                        source_port_range="string",
                        source_port_ranges=["string"],
                        type="string",
                    )],
                    tags={
                        "string": "string",
                    },
                ),
                private_endpoint_network_policies="string",
                private_link_service_network_policies="string",
                provisioning_state="string",
                resource_navigation_links=[azure_native.network.ResourceNavigationLinkArgs(
                    id="string",
                    link="string",
                    linked_resource_type="string",
                    name="string",
                )],
                route_table=azure_native.network.RouteTableArgs(
                    disable_bgp_route_propagation=False,
                    etag="string",
                    id="string",
                    location="string",
                    provisioning_state="string",
                    routes=[azure_native.network.RouteArgs(
                        next_hop_type="string",
                        address_prefix="string",
                        etag="string",
                        has_bgp_override=False,
                        id="string",
                        name="string",
                        next_hop_ip_address="string",
                        provisioning_state="string",
                        type="string",
                    )],
                    tags={
                        "string": "string",
                    },
                ),
                service_association_links=[azure_native.network.ServiceAssociationLinkArgs(
                    id="string",
                    link="string",
                    linked_resource_type="string",
                    name="string",
                )],
                service_endpoint_policies=[azure_native.network.ServiceEndpointPolicyArgs(
                    contextual_service_endpoint_policies=["string"],
                    etag="string",
                    id="string",
                    location="string",
                    service_alias="string",
                    service_endpoint_policy_definitions=[azure_native.network.ServiceEndpointPolicyDefinitionArgs(
                        description="string",
                        etag="string",
                        id="string",
                        name="string",
                        service="string",
                        service_resources=["string"],
                        type="string",
                    )],
                    tags={
                        "string": "string",
                    },
                )],
                service_endpoints=[azure_native.network.ServiceEndpointPropertiesFormatArgs(
                    locations=["string"],
                    provisioning_state="string",
                    service="string",
                )],
                type="string",
            ),
            zones=["string"],
        )],
        id="string",
        inbound_nat_pools=[azure_native.network.InboundNatPoolArgs(
            backend_port=0,
            frontend_port_range_end=0,
            frontend_port_range_start=0,
            protocol="string",
            enable_floating_ip=False,
            enable_tcp_reset=False,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="string",
            ),
            id="string",
            idle_timeout_in_minutes=0,
            name="string",
        )],
        inbound_nat_rules=[azure_native.network.InboundNatRuleArgs(
            backend_address_pool=azure_native.network.SubResourceArgs(
                id="string",
            ),
            backend_port=0,
            enable_floating_ip=False,
            enable_tcp_reset=False,
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="string",
            ),
            frontend_port=0,
            frontend_port_range_end=0,
            frontend_port_range_start=0,
            id="string",
            idle_timeout_in_minutes=0,
            name="string",
            protocol="string",
        )],
        backend_address_pools=[azure_native.network.BackendAddressPoolArgs(
            drain_period_in_seconds=0,
            id="string",
            load_balancer_backend_addresses=[azure_native.network.LoadBalancerBackendAddressArgs(
                admin_state="string",
                ip_address="string",
                load_balancer_frontend_ip_configuration=azure_native.network.SubResourceArgs(
                    id="string",
                ),
                name="string",
                subnet=azure_native.network.SubResourceArgs(
                    id="string",
                ),
                virtual_network=azure_native.network.SubResourceArgs(
                    id="string",
                ),
            )],
            location="string",
            name="string",
            tunnel_interfaces=[azure_native.network.GatewayLoadBalancerTunnelInterfaceArgs(
                identifier=0,
                port=0,
                protocol="string",
                type="string",
            )],
            virtual_network=azure_native.network.SubResourceArgs(
                id="string",
            ),
        )],
        load_balancing_rules=[azure_native.network.LoadBalancingRuleArgs(
            frontend_port=0,
            protocol="string",
            frontend_ip_configuration=azure_native.network.SubResourceArgs(
                id="string",
            ),
            disable_outbound_snat=False,
            enable_floating_ip=False,
            enable_tcp_reset=False,
            backend_address_pool=azure_native.network.SubResourceArgs(
                id="string",
            ),
            backend_port=0,
            id="string",
            idle_timeout_in_minutes=0,
            load_distribution="string",
            name="string",
            probe=azure_native.network.SubResourceArgs(
                id="string",
            ),
            backend_address_pools=[azure_native.network.SubResourceArgs(
                id="string",
            )],
        )],
        location="string",
        outbound_rules=[azure_native.network.OutboundRuleArgs(
            backend_address_pool=azure_native.network.SubResourceArgs(
                id="string",
            ),
            frontend_ip_configurations=[azure_native.network.SubResourceArgs(
                id="string",
            )],
            protocol="string",
            allocated_outbound_ports=0,
            enable_tcp_reset=False,
            id="string",
            idle_timeout_in_minutes=0,
            name="string",
        )],
        probes=[azure_native.network.ProbeArgs(
            port=0,
            protocol="string",
            id="string",
            interval_in_seconds=0,
            name="string",
            number_of_probes=0,
            probe_threshold=0,
            request_path="string",
        )],
        extended_location=azure_native.network.ExtendedLocationArgs(
            name="string",
            type="string",
        ),
        sku=azure_native.network.LoadBalancerSkuArgs(
            name="string",
            tier="string",
        ),
        tags={
            "string": "string",
        })
    
    const exampleloadBalancerResourceResourceFromNetwork = new azure_native.network.LoadBalancer("exampleloadBalancerResourceResourceFromNetwork", {
        resourceGroupName: "string",
        loadBalancerName: "string",
        frontendIPConfigurations: [{
            gatewayLoadBalancer: {
                id: "string",
            },
            id: "string",
            name: "string",
            privateIPAddress: "string",
            privateIPAddressVersion: "string",
            privateIPAllocationMethod: "string",
            publicIPAddress: {
                ddosSettings: {
                    ddosProtectionPlan: {
                        id: "string",
                    },
                    protectionMode: "string",
                },
                deleteOption: "string",
                dnsSettings: {
                    domainNameLabel: "string",
                    domainNameLabelScope: azure_native.network.PublicIpAddressDnsSettingsDomainNameLabelScope.TenantReuse,
                    fqdn: "string",
                    reverseFqdn: "string",
                },
                extendedLocation: {
                    name: "string",
                    type: "string",
                },
                id: "string",
                idleTimeoutInMinutes: 0,
                ipAddress: "string",
                ipTags: [{
                    ipTagType: "string",
                    tag: "string",
                }],
                linkedPublicIPAddress: publicIPAddress,
                location: "string",
                migrationPhase: "string",
                natGateway: {
                    id: "string",
                    idleTimeoutInMinutes: 0,
                    location: "string",
                    publicIpAddresses: [{
                        id: "string",
                    }],
                    publicIpPrefixes: [{
                        id: "string"