We recommend using Azure Native.
published on Monday, Mar 9, 2026 by Pulumi
We recommend using Azure Native.
published on Monday, Mar 9, 2026 by Pulumi
Manages a Load Balancer Backend Address Pool.
NOTE: When using this resource, the Load Balancer needs to have a FrontEnd IP Configuration Attached
Example Usage
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West Europe",
});
var examplePublicIp = new Azure.Network.PublicIp("examplePublicIp", new Azure.Network.PublicIpArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
AllocationMethod = "Static",
});
var exampleLoadBalancer = new Azure.Lb.LoadBalancer("exampleLoadBalancer", new Azure.Lb.LoadBalancerArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
FrontendIpConfigurations =
{
new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs
{
Name = "PublicIPAddress",
PublicIpAddressId = examplePublicIp.Id,
},
},
});
var exampleBackendAddressPool = new Azure.Lb.BackendAddressPool("exampleBackendAddressPool", new Azure.Lb.BackendAddressPoolArgs
{
LoadbalancerId = exampleLoadBalancer.Id,
});
}
}
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/lb"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
examplePublicIp, err := network.NewPublicIp(ctx, "examplePublicIp", &network.PublicIpArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
AllocationMethod: pulumi.String("Static"),
})
if err != nil {
return err
}
exampleLoadBalancer, err := lb.NewLoadBalancer(ctx, "exampleLoadBalancer", &lb.LoadBalancerArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
FrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{
&lb.LoadBalancerFrontendIpConfigurationArgs{
Name: pulumi.String("PublicIPAddress"),
PublicIpAddressId: examplePublicIp.ID(),
},
},
})
if err != nil {
return err
}
_, err = lb.NewBackendAddressPool(ctx, "exampleBackendAddressPool", &lb.BackendAddressPoolArgs{
LoadbalancerId: exampleLoadBalancer.ID(),
})
if err != nil {
return err
}
return nil
})
}
Example coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const examplePublicIp = new azure.network.PublicIp("examplePublicIp", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
allocationMethod: "Static",
});
const exampleLoadBalancer = new azure.lb.LoadBalancer("exampleLoadBalancer", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
frontendIpConfigurations: [{
name: "PublicIPAddress",
publicIpAddressId: examplePublicIp.id,
}],
});
const exampleBackendAddressPool = new azure.lb.BackendAddressPool("exampleBackendAddressPool", {loadbalancerId: exampleLoadBalancer.id});
import pulumi
import pulumi_azure as azure
example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
example_public_ip = azure.network.PublicIp("examplePublicIp",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
allocation_method="Static")
example_load_balancer = azure.lb.LoadBalancer("exampleLoadBalancer",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(
name="PublicIPAddress",
public_ip_address_id=example_public_ip.id,
)])
example_backend_address_pool = azure.lb.BackendAddressPool("exampleBackendAddressPool", loadbalancer_id=example_load_balancer.id)
Example coming soon!
Create BackendAddressPool Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new BackendAddressPool(name: string, args: BackendAddressPoolArgs, opts?: CustomResourceOptions);@overload
def BackendAddressPool(resource_name: str,
args: BackendAddressPoolArgs,
opts: Optional[ResourceOptions] = None)
@overload
def BackendAddressPool(resource_name: str,
opts: Optional[ResourceOptions] = None,
loadbalancer_id: Optional[str] = None,
backend_addresses: Optional[Sequence[BackendAddressPoolBackendAddressArgs]] = None,
name: Optional[str] = None,
resource_group_name: Optional[str] = None,
tunnel_interfaces: Optional[Sequence[BackendAddressPoolTunnelInterfaceArgs]] = None)func NewBackendAddressPool(ctx *Context, name string, args BackendAddressPoolArgs, opts ...ResourceOption) (*BackendAddressPool, error)public BackendAddressPool(string name, BackendAddressPoolArgs args, CustomResourceOptions? opts = null)
public BackendAddressPool(String name, BackendAddressPoolArgs args)
public BackendAddressPool(String name, BackendAddressPoolArgs args, CustomResourceOptions options)
type: azure:lb:BackendAddressPool
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 BackendAddressPoolArgs
- 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 BackendAddressPoolArgs
- 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 BackendAddressPoolArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args BackendAddressPoolArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args BackendAddressPoolArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var backendAddressPoolResource = new Azure.Lb.BackendAddressPool("backendAddressPoolResource", new()
{
LoadbalancerId = "string",
Name = "string",
TunnelInterfaces = new[]
{
new Azure.Lb.Inputs.BackendAddressPoolTunnelInterfaceArgs
{
Identifier = 0,
Port = 0,
Protocol = "string",
Type = "string",
},
},
});
example, err := lb.NewBackendAddressPool(ctx, "backendAddressPoolResource", &lb.BackendAddressPoolArgs{
LoadbalancerId: pulumi.String("string"),
Name: pulumi.String("string"),
TunnelInterfaces: lb.BackendAddressPoolTunnelInterfaceArray{
&lb.BackendAddressPoolTunnelInterfaceArgs{
Identifier: pulumi.Int(0),
Port: pulumi.Int(0),
Protocol: pulumi.String("string"),
Type: pulumi.String("string"),
},
},
})
var backendAddressPoolResource = new BackendAddressPool("backendAddressPoolResource", BackendAddressPoolArgs.builder()
.loadbalancerId("string")
.name("string")
.tunnelInterfaces(BackendAddressPoolTunnelInterfaceArgs.builder()
.identifier(0)
.port(0)
.protocol("string")
.type("string")
.build())
.build());
backend_address_pool_resource = azure.lb.BackendAddressPool("backendAddressPoolResource",
loadbalancer_id="string",
name="string",
tunnel_interfaces=[{
"identifier": 0,
"port": 0,
"protocol": "string",
"type": "string",
}])
const backendAddressPoolResource = new azure.lb.BackendAddressPool("backendAddressPoolResource", {
loadbalancerId: "string",
name: "string",
tunnelInterfaces: [{
identifier: 0,
port: 0,
protocol: "string",
type: "string",
}],
});
type: azure:lb:BackendAddressPool
properties:
loadbalancerId: string
name: string
tunnelInterfaces:
- identifier: 0
port: 0
protocol: string
type: string
BackendAddressPool Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The BackendAddressPool resource accepts the following input properties:
- Loadbalancer
Id string - The ID of the Load Balancer in which to create the Backend Address Pool.
- Backend
Addresses List<BackendAddress Pool Backend Address> - Name string
- Specifies the name of the Backend Address Pool.
- Resource
Group stringName - Tunnel
Interfaces List<BackendAddress Pool Tunnel Interface> - One or more
tunnel_interfaceblocks as defined below.
- Loadbalancer
Id string - The ID of the Load Balancer in which to create the Backend Address Pool.
- Backend
Addresses []BackendAddress Pool Backend Address Args - Name string
- Specifies the name of the Backend Address Pool.
- Resource
Group stringName - Tunnel
Interfaces []BackendAddress Pool Tunnel Interface Args - One or more
tunnel_interfaceblocks as defined below.
- loadbalancer
Id String - The ID of the Load Balancer in which to create the Backend Address Pool.
- backend
Addresses List<BackendAddress Pool Backend Address> - name String
- Specifies the name of the Backend Address Pool.
- resource
Group StringName - tunnel
Interfaces List<BackendAddress Pool Tunnel Interface> - One or more
tunnel_interfaceblocks as defined below.
- loadbalancer
Id string - The ID of the Load Balancer in which to create the Backend Address Pool.
- backend
Addresses BackendAddress Pool Backend Address[] - name string
- Specifies the name of the Backend Address Pool.
- resource
Group stringName - tunnel
Interfaces BackendAddress Pool Tunnel Interface[] - One or more
tunnel_interfaceblocks as defined below.
- loadbalancer_
id str - The ID of the Load Balancer in which to create the Backend Address Pool.
- backend_
addresses Sequence[BackendAddress Pool Backend Address Args] - name str
- Specifies the name of the Backend Address Pool.
- resource_
group_ strname - tunnel_
interfaces Sequence[BackendAddress Pool Tunnel Interface Args] - One or more
tunnel_interfaceblocks as defined below.
- loadbalancer
Id String - The ID of the Load Balancer in which to create the Backend Address Pool.
- backend
Addresses List<Property Map> - name String
- Specifies the name of the Backend Address Pool.
- resource
Group StringName - tunnel
Interfaces List<Property Map> - One or more
tunnel_interfaceblocks as defined below.
Outputs
All input properties are implicitly available as output properties. Additionally, the BackendAddressPool resource produces the following output properties:
- Backend
Ip List<string>Configurations - The Backend IP Configurations associated with this Backend Address Pool.
- Id string
- The provider-assigned unique ID for this managed resource.
- Load
Balancing List<string>Rules - The Load Balancing Rules associated with this Backend Address Pool.
- Outbound
Rules List<string> - An array of the Load Balancing Outbound Rules associated with this Backend Address Pool.
- Backend
Ip []stringConfigurations - The Backend IP Configurations associated with this Backend Address Pool.
- Id string
- The provider-assigned unique ID for this managed resource.
- Load
Balancing []stringRules - The Load Balancing Rules associated with this Backend Address Pool.
- Outbound
Rules []string - An array of the Load Balancing Outbound Rules associated with this Backend Address Pool.
- backend
Ip List<String>Configurations - The Backend IP Configurations associated with this Backend Address Pool.
- id String
- The provider-assigned unique ID for this managed resource.
- load
Balancing List<String>Rules - The Load Balancing Rules associated with this Backend Address Pool.
- outbound
Rules List<String> - An array of the Load Balancing Outbound Rules associated with this Backend Address Pool.
- backend
Ip string[]Configurations - The Backend IP Configurations associated with this Backend Address Pool.
- id string
- The provider-assigned unique ID for this managed resource.
- load
Balancing string[]Rules - The Load Balancing Rules associated with this Backend Address Pool.
- outbound
Rules string[] - An array of the Load Balancing Outbound Rules associated with this Backend Address Pool.
- backend_
ip_ Sequence[str]configurations - The Backend IP Configurations associated with this Backend Address Pool.
- id str
- The provider-assigned unique ID for this managed resource.
- load_
balancing_ Sequence[str]rules - The Load Balancing Rules associated with this Backend Address Pool.
- outbound_
rules Sequence[str] - An array of the Load Balancing Outbound Rules associated with this Backend Address Pool.
- backend
Ip List<String>Configurations - The Backend IP Configurations associated with this Backend Address Pool.
- id String
- The provider-assigned unique ID for this managed resource.
- load
Balancing List<String>Rules - The Load Balancing Rules associated with this Backend Address Pool.
- outbound
Rules List<String> - An array of the Load Balancing Outbound Rules associated with this Backend Address Pool.
Look up Existing BackendAddressPool Resource
Get an existing BackendAddressPool resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: BackendAddressPoolState, opts?: CustomResourceOptions): BackendAddressPool@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
backend_addresses: Optional[Sequence[BackendAddressPoolBackendAddressArgs]] = None,
backend_ip_configurations: Optional[Sequence[str]] = None,
load_balancing_rules: Optional[Sequence[str]] = None,
loadbalancer_id: Optional[str] = None,
name: Optional[str] = None,
outbound_rules: Optional[Sequence[str]] = None,
resource_group_name: Optional[str] = None,
tunnel_interfaces: Optional[Sequence[BackendAddressPoolTunnelInterfaceArgs]] = None) -> BackendAddressPoolfunc GetBackendAddressPool(ctx *Context, name string, id IDInput, state *BackendAddressPoolState, opts ...ResourceOption) (*BackendAddressPool, error)public static BackendAddressPool Get(string name, Input<string> id, BackendAddressPoolState? state, CustomResourceOptions? opts = null)public static BackendAddressPool get(String name, Output<String> id, BackendAddressPoolState state, CustomResourceOptions options)resources: _: type: azure:lb:BackendAddressPool get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Backend
Addresses List<BackendAddress Pool Backend Address> - Backend
Ip List<string>Configurations - The Backend IP Configurations associated with this Backend Address Pool.
- Load
Balancing List<string>Rules - The Load Balancing Rules associated with this Backend Address Pool.
- Loadbalancer
Id string - The ID of the Load Balancer in which to create the Backend Address Pool.
- Name string
- Specifies the name of the Backend Address Pool.
- Outbound
Rules List<string> - An array of the Load Balancing Outbound Rules associated with this Backend Address Pool.
- Resource
Group stringName - Tunnel
Interfaces List<BackendAddress Pool Tunnel Interface> - One or more
tunnel_interfaceblocks as defined below.
- Backend
Addresses []BackendAddress Pool Backend Address Args - Backend
Ip []stringConfigurations - The Backend IP Configurations associated with this Backend Address Pool.
- Load
Balancing []stringRules - The Load Balancing Rules associated with this Backend Address Pool.
- Loadbalancer
Id string - The ID of the Load Balancer in which to create the Backend Address Pool.
- Name string
- Specifies the name of the Backend Address Pool.
- Outbound
Rules []string - An array of the Load Balancing Outbound Rules associated with this Backend Address Pool.
- Resource
Group stringName - Tunnel
Interfaces []BackendAddress Pool Tunnel Interface Args - One or more
tunnel_interfaceblocks as defined below.
- backend
Addresses List<BackendAddress Pool Backend Address> - backend
Ip List<String>Configurations - The Backend IP Configurations associated with this Backend Address Pool.
- load
Balancing List<String>Rules - The Load Balancing Rules associated with this Backend Address Pool.
- loadbalancer
Id String - The ID of the Load Balancer in which to create the Backend Address Pool.
- name String
- Specifies the name of the Backend Address Pool.
- outbound
Rules List<String> - An array of the Load Balancing Outbound Rules associated with this Backend Address Pool.
- resource
Group StringName - tunnel
Interfaces List<BackendAddress Pool Tunnel Interface> - One or more
tunnel_interfaceblocks as defined below.
- backend
Addresses BackendAddress Pool Backend Address[] - backend
Ip string[]Configurations - The Backend IP Configurations associated with this Backend Address Pool.
- load
Balancing string[]Rules - The Load Balancing Rules associated with this Backend Address Pool.
- loadbalancer
Id string - The ID of the Load Balancer in which to create the Backend Address Pool.
- name string
- Specifies the name of the Backend Address Pool.
- outbound
Rules string[] - An array of the Load Balancing Outbound Rules associated with this Backend Address Pool.
- resource
Group stringName - tunnel
Interfaces BackendAddress Pool Tunnel Interface[] - One or more
tunnel_interfaceblocks as defined below.
- backend_
addresses Sequence[BackendAddress Pool Backend Address Args] - backend_
ip_ Sequence[str]configurations - The Backend IP Configurations associated with this Backend Address Pool.
- load_
balancing_ Sequence[str]rules - The Load Balancing Rules associated with this Backend Address Pool.
- loadbalancer_
id str - The ID of the Load Balancer in which to create the Backend Address Pool.
- name str
- Specifies the name of the Backend Address Pool.
- outbound_
rules Sequence[str] - An array of the Load Balancing Outbound Rules associated with this Backend Address Pool.
- resource_
group_ strname - tunnel_
interfaces Sequence[BackendAddress Pool Tunnel Interface Args] - One or more
tunnel_interfaceblocks as defined below.
- backend
Addresses List<Property Map> - backend
Ip List<String>Configurations - The Backend IP Configurations associated with this Backend Address Pool.
- load
Balancing List<String>Rules - The Load Balancing Rules associated with this Backend Address Pool.
- loadbalancer
Id String - The ID of the Load Balancer in which to create the Backend Address Pool.
- name String
- Specifies the name of the Backend Address Pool.
- outbound
Rules List<String> - An array of the Load Balancing Outbound Rules associated with this Backend Address Pool.
- resource
Group StringName - tunnel
Interfaces List<Property Map> - One or more
tunnel_interfaceblocks as defined below.
Supporting Types
BackendAddressPoolBackendAddress, BackendAddressPoolBackendAddressArgs
- Ip
Address string - Name string
- Specifies the name of the Backend Address Pool.
- Virtual
Network stringId
- Ip
Address string - Name string
- Specifies the name of the Backend Address Pool.
- Virtual
Network stringId
- ip
Address String - name String
- Specifies the name of the Backend Address Pool.
- virtual
Network StringId
- ip
Address string - name string
- Specifies the name of the Backend Address Pool.
- virtual
Network stringId
- ip_
address str - name str
- Specifies the name of the Backend Address Pool.
- virtual_
network_ strid
- ip
Address String - name String
- Specifies the name of the Backend Address Pool.
- virtual
Network StringId
BackendAddressPoolTunnelInterface, BackendAddressPoolTunnelInterfaceArgs
- Identifier int
- The unique identifier of this Gateway Lodbalancer Tunnel Interface.
- Port int
- The port number that this Gateway Lodbalancer Tunnel Interface listens to.
- Protocol string
- The protocol used for this Gateway Lodbalancer Tunnel Interface. Possible values are
NativeandVXLAN. - Type string
- The traffic type of this Gateway Lodbalancer Tunnel Interface. Possible values are
InternalandExternal.
- Identifier int
- The unique identifier of this Gateway Lodbalancer Tunnel Interface.
- Port int
- The port number that this Gateway Lodbalancer Tunnel Interface listens to.
- Protocol string
- The protocol used for this Gateway Lodbalancer Tunnel Interface. Possible values are
NativeandVXLAN. - Type string
- The traffic type of this Gateway Lodbalancer Tunnel Interface. Possible values are
InternalandExternal.
- identifier Integer
- The unique identifier of this Gateway Lodbalancer Tunnel Interface.
- port Integer
- The port number that this Gateway Lodbalancer Tunnel Interface listens to.
- protocol String
- The protocol used for this Gateway Lodbalancer Tunnel Interface. Possible values are
NativeandVXLAN. - type String
- The traffic type of this Gateway Lodbalancer Tunnel Interface. Possible values are
InternalandExternal.
- identifier number
- The unique identifier of this Gateway Lodbalancer Tunnel Interface.
- port number
- The port number that this Gateway Lodbalancer Tunnel Interface listens to.
- protocol string
- The protocol used for this Gateway Lodbalancer Tunnel Interface. Possible values are
NativeandVXLAN. - type string
- The traffic type of this Gateway Lodbalancer Tunnel Interface. Possible values are
InternalandExternal.
- identifier int
- The unique identifier of this Gateway Lodbalancer Tunnel Interface.
- port int
- The port number that this Gateway Lodbalancer Tunnel Interface listens to.
- protocol str
- The protocol used for this Gateway Lodbalancer Tunnel Interface. Possible values are
NativeandVXLAN. - type str
- The traffic type of this Gateway Lodbalancer Tunnel Interface. Possible values are
InternalandExternal.
- identifier Number
- The unique identifier of this Gateway Lodbalancer Tunnel Interface.
- port Number
- The port number that this Gateway Lodbalancer Tunnel Interface listens to.
- protocol String
- The protocol used for this Gateway Lodbalancer Tunnel Interface. Possible values are
NativeandVXLAN. - type String
- The traffic type of this Gateway Lodbalancer Tunnel Interface. Possible values are
InternalandExternal.
Import
Load Balancer Backend Address Pools can be imported using the resource id, e.g.
$ pulumi import azure:lb/backendAddressPool:BackendAddressPool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/pool1
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
azurermTerraform Provider.
We recommend using Azure Native.
published on Monday, Mar 9, 2026 by Pulumi
