1. Packages
  2. Packages
  3. Linode Provider
  4. API Docs
  5. NodeBalancer
Viewing docs for Linode v3.12.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi
linode logo
Viewing docs for Linode v3.12.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi

    Provides a Linode NodeBalancer resource. This can be used to create, modify, and delete Linodes NodeBalancers in Linode’s managed load balancer service. For more information, see Getting Started with NodeBalancers and the Linode APIv4 docs.

    Example Usage

    The following example shows how one might use this resource to configure a NodeBalancer.

    using System.Collections.Generic;
    using Pulumi;
    using Linode = Pulumi.Linode;
    
    return await Deployment.RunAsync(() => 
    {
        var foobar = new Linode.NodeBalancer("foobar", new()
        {
            ClientConnThrottle = 20,
            Label = "mynodebalancer",
            Region = "us-east",
            Tags = new[]
            {
                "foobar",
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-linode/sdk/v3/go/linode"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := linode.NewNodeBalancer(ctx, "foobar", &linode.NodeBalancerArgs{
    			ClientConnThrottle: pulumi.Int(20),
    			Label:              pulumi.String("mynodebalancer"),
    			Region:             pulumi.String("us-east"),
    			Tags: pulumi.StringArray{
    				pulumi.String("foobar"),
    			},
    		})
    		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.linode.NodeBalancer;
    import com.pulumi.linode.NodeBalancerArgs;
    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 foobar = new NodeBalancer("foobar", NodeBalancerArgs.builder()        
                .clientConnThrottle(20)
                .label("mynodebalancer")
                .region("us-east")
                .tags("foobar")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as linode from "@pulumi/linode";
    
    const foobar = new linode.NodeBalancer("foobar", {
        clientConnThrottle: 20,
        label: "mynodebalancer",
        region: "us-east",
        tags: ["foobar"],
    });
    
    import pulumi
    import pulumi_linode as linode
    
    foobar = linode.NodeBalancer("foobar",
        client_conn_throttle=20,
        label="mynodebalancer",
        region="us-east",
        tags=["foobar"])
    
    resources:
      foobar:
        type: linode:NodeBalancer
        properties:
          clientConnThrottle: 20
          label: mynodebalancer
          region: us-east
          tags:
            - foobar
    

    Create NodeBalancer Resource

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

    Constructor syntax

    new NodeBalancer(name: string, args: NodeBalancerArgs, opts?: CustomResourceOptions);
    @overload
    def NodeBalancer(resource_name: str,
                     args: NodeBalancerArgs,
                     opts: Optional[ResourceOptions] = None)
    
    @overload
    def NodeBalancer(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     region: Optional[str] = None,
                     client_conn_throttle: Optional[int] = None,
                     label: Optional[str] = None,
                     tags: Optional[Sequence[str]] = None)
    func NewNodeBalancer(ctx *Context, name string, args NodeBalancerArgs, opts ...ResourceOption) (*NodeBalancer, error)
    public NodeBalancer(string name, NodeBalancerArgs args, CustomResourceOptions? opts = null)
    public NodeBalancer(String name, NodeBalancerArgs args)
    public NodeBalancer(String name, NodeBalancerArgs args, CustomResourceOptions options)
    
    type: linode:NodeBalancer
    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 NodeBalancerArgs
    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 NodeBalancerArgs
    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 NodeBalancerArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args NodeBalancerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args NodeBalancerArgs
    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 nodeBalancerResource = new Linode.NodeBalancer("nodeBalancerResource", new()
    {
        Region = "string",
        ClientConnThrottle = 0,
        Label = "string",
        Tags = new[]
        {
            "string",
        },
    });
    
    example, err := linode.NewNodeBalancer(ctx, "nodeBalancerResource", &linode.NodeBalancerArgs{
    	Region:             pulumi.String("string"),
    	ClientConnThrottle: pulumi.Int(0),
    	Label:              pulumi.String("string"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var nodeBalancerResource = new NodeBalancer("nodeBalancerResource", NodeBalancerArgs.builder()
        .region("string")
        .clientConnThrottle(0)
        .label("string")
        .tags("string")
        .build());
    
    node_balancer_resource = linode.NodeBalancer("nodeBalancerResource",
        region="string",
        client_conn_throttle=0,
        label="string",
        tags=["string"])
    
    const nodeBalancerResource = new linode.NodeBalancer("nodeBalancerResource", {
        region: "string",
        clientConnThrottle: 0,
        label: "string",
        tags: ["string"],
    });
    
    type: linode:NodeBalancer
    properties:
        clientConnThrottle: 0
        label: string
        region: string
        tags:
            - string
    

    NodeBalancer 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 NodeBalancer resource accepts the following input properties:

    Region string
    The region where this NodeBalancer will be deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region forces the creation of a new Linode NodeBalancer..
    ClientConnThrottle int
    Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
    Label string
    The label of the Linode NodeBalancer
    Tags List<string>
    A list of tags applied to this object. Tags are for organizational purposes only.
    Region string
    The region where this NodeBalancer will be deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region forces the creation of a new Linode NodeBalancer..
    ClientConnThrottle int
    Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
    Label string
    The label of the Linode NodeBalancer
    Tags []string
    A list of tags applied to this object. Tags are for organizational purposes only.
    region String
    The region where this NodeBalancer will be deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region forces the creation of a new Linode NodeBalancer..
    clientConnThrottle Integer
    Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
    label String
    The label of the Linode NodeBalancer
    tags List<String>
    A list of tags applied to this object. Tags are for organizational purposes only.
    region string
    The region where this NodeBalancer will be deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region forces the creation of a new Linode NodeBalancer..
    clientConnThrottle number
    Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
    label string
    The label of the Linode NodeBalancer
    tags string[]
    A list of tags applied to this object. Tags are for organizational purposes only.
    region str
    The region where this NodeBalancer will be deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region forces the creation of a new Linode NodeBalancer..
    client_conn_throttle int
    Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
    label str
    The label of the Linode NodeBalancer
    tags Sequence[str]
    A list of tags applied to this object. Tags are for organizational purposes only.
    region String
    The region where this NodeBalancer will be deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region forces the creation of a new Linode NodeBalancer..
    clientConnThrottle Number
    Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
    label String
    The label of the Linode NodeBalancer
    tags List<String>
    A list of tags applied to this object. Tags are for organizational purposes only.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the NodeBalancer resource produces the following output properties:

    Created string
    When this NodeBalancer was created
    Hostname string
    This NodeBalancer's hostname, ending with .nodebalancer.linode.com
    Id string
    The provider-assigned unique ID for this managed resource.
    Ipv4 string
    The Public IPv4 Address of this NodeBalancer
    Ipv6 string
    The Public IPv6 Address of this NodeBalancer
    Transfers List<NodeBalancerTransfer>
    Information about the amount of transfer this NodeBalancer has had so far this month.
    Updated string
    When this NodeBalancer was last updated.
    Created string
    When this NodeBalancer was created
    Hostname string
    This NodeBalancer's hostname, ending with .nodebalancer.linode.com
    Id string
    The provider-assigned unique ID for this managed resource.
    Ipv4 string
    The Public IPv4 Address of this NodeBalancer
    Ipv6 string
    The Public IPv6 Address of this NodeBalancer
    Transfers []NodeBalancerTransfer
    Information about the amount of transfer this NodeBalancer has had so far this month.
    Updated string
    When this NodeBalancer was last updated.
    created String
    When this NodeBalancer was created
    hostname String
    This NodeBalancer's hostname, ending with .nodebalancer.linode.com
    id String
    The provider-assigned unique ID for this managed resource.
    ipv4 String
    The Public IPv4 Address of this NodeBalancer
    ipv6 String
    The Public IPv6 Address of this NodeBalancer
    transfers List<NodeBalancerTransfer>
    Information about the amount of transfer this NodeBalancer has had so far this month.
    updated String
    When this NodeBalancer was last updated.
    created string
    When this NodeBalancer was created
    hostname string
    This NodeBalancer's hostname, ending with .nodebalancer.linode.com
    id string
    The provider-assigned unique ID for this managed resource.
    ipv4 string
    The Public IPv4 Address of this NodeBalancer
    ipv6 string
    The Public IPv6 Address of this NodeBalancer
    transfers NodeBalancerTransfer[]
    Information about the amount of transfer this NodeBalancer has had so far this month.
    updated string
    When this NodeBalancer was last updated.
    created str
    When this NodeBalancer was created
    hostname str
    This NodeBalancer's hostname, ending with .nodebalancer.linode.com
    id str
    The provider-assigned unique ID for this managed resource.
    ipv4 str
    The Public IPv4 Address of this NodeBalancer
    ipv6 str
    The Public IPv6 Address of this NodeBalancer
    transfers Sequence[NodeBalancerTransfer]
    Information about the amount of transfer this NodeBalancer has had so far this month.
    updated str
    When this NodeBalancer was last updated.
    created String
    When this NodeBalancer was created
    hostname String
    This NodeBalancer's hostname, ending with .nodebalancer.linode.com
    id String
    The provider-assigned unique ID for this managed resource.
    ipv4 String
    The Public IPv4 Address of this NodeBalancer
    ipv6 String
    The Public IPv6 Address of this NodeBalancer
    transfers List<Property Map>
    Information about the amount of transfer this NodeBalancer has had so far this month.
    updated String
    When this NodeBalancer was last updated.

    Look up Existing NodeBalancer Resource

    Get an existing NodeBalancer 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?: NodeBalancerState, opts?: CustomResourceOptions): NodeBalancer
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            client_conn_throttle: Optional[int] = None,
            created: Optional[str] = None,
            hostname: Optional[str] = None,
            ipv4: Optional[str] = None,
            ipv6: Optional[str] = None,
            label: Optional[str] = None,
            region: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            transfers: Optional[Sequence[NodeBalancerTransferArgs]] = None,
            updated: Optional[str] = None) -> NodeBalancer
    func GetNodeBalancer(ctx *Context, name string, id IDInput, state *NodeBalancerState, opts ...ResourceOption) (*NodeBalancer, error)
    public static NodeBalancer Get(string name, Input<string> id, NodeBalancerState? state, CustomResourceOptions? opts = null)
    public static NodeBalancer get(String name, Output<String> id, NodeBalancerState state, CustomResourceOptions options)
    resources:  _:    type: linode:NodeBalancer    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.
    The following state arguments are supported:
    ClientConnThrottle int
    Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
    Created string
    When this NodeBalancer was created
    Hostname string
    This NodeBalancer's hostname, ending with .nodebalancer.linode.com
    Ipv4 string
    The Public IPv4 Address of this NodeBalancer
    Ipv6 string
    The Public IPv6 Address of this NodeBalancer
    Label string
    The label of the Linode NodeBalancer
    Region string
    The region where this NodeBalancer will be deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region forces the creation of a new Linode NodeBalancer..
    Tags List<string>
    A list of tags applied to this object. Tags are for organizational purposes only.
    Transfers List<NodeBalancerTransfer>
    Information about the amount of transfer this NodeBalancer has had so far this month.
    Updated string
    When this NodeBalancer was last updated.
    ClientConnThrottle int
    Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
    Created string
    When this NodeBalancer was created
    Hostname string
    This NodeBalancer's hostname, ending with .nodebalancer.linode.com
    Ipv4 string
    The Public IPv4 Address of this NodeBalancer
    Ipv6 string
    The Public IPv6 Address of this NodeBalancer
    Label string
    The label of the Linode NodeBalancer
    Region string
    The region where this NodeBalancer will be deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region forces the creation of a new Linode NodeBalancer..
    Tags []string
    A list of tags applied to this object. Tags are for organizational purposes only.
    Transfers []NodeBalancerTransferArgs
    Information about the amount of transfer this NodeBalancer has had so far this month.
    Updated string
    When this NodeBalancer was last updated.
    clientConnThrottle Integer
    Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
    created String
    When this NodeBalancer was created
    hostname String
    This NodeBalancer's hostname, ending with .nodebalancer.linode.com
    ipv4 String
    The Public IPv4 Address of this NodeBalancer
    ipv6 String
    The Public IPv6 Address of this NodeBalancer
    label String
    The label of the Linode NodeBalancer
    region String
    The region where this NodeBalancer will be deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region forces the creation of a new Linode NodeBalancer..
    tags List<String>
    A list of tags applied to this object. Tags are for organizational purposes only.
    transfers List<NodeBalancerTransfer>
    Information about the amount of transfer this NodeBalancer has had so far this month.
    updated String
    When this NodeBalancer was last updated.
    clientConnThrottle number
    Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
    created string
    When this NodeBalancer was created
    hostname string
    This NodeBalancer's hostname, ending with .nodebalancer.linode.com
    ipv4 string
    The Public IPv4 Address of this NodeBalancer
    ipv6 string
    The Public IPv6 Address of this NodeBalancer
    label string
    The label of the Linode NodeBalancer
    region string
    The region where this NodeBalancer will be deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region forces the creation of a new Linode NodeBalancer..
    tags string[]
    A list of tags applied to this object. Tags are for organizational purposes only.
    transfers NodeBalancerTransfer[]
    Information about the amount of transfer this NodeBalancer has had so far this month.
    updated string
    When this NodeBalancer was last updated.
    client_conn_throttle int
    Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
    created str
    When this NodeBalancer was created
    hostname str
    This NodeBalancer's hostname, ending with .nodebalancer.linode.com
    ipv4 str
    The Public IPv4 Address of this NodeBalancer
    ipv6 str
    The Public IPv6 Address of this NodeBalancer
    label str
    The label of the Linode NodeBalancer
    region str
    The region where this NodeBalancer will be deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region forces the creation of a new Linode NodeBalancer..
    tags Sequence[str]
    A list of tags applied to this object. Tags are for organizational purposes only.
    transfers Sequence[NodeBalancerTransferArgs]
    Information about the amount of transfer this NodeBalancer has had so far this month.
    updated str
    When this NodeBalancer was last updated.
    clientConnThrottle Number
    Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
    created String
    When this NodeBalancer was created
    hostname String
    This NodeBalancer's hostname, ending with .nodebalancer.linode.com
    ipv4 String
    The Public IPv4 Address of this NodeBalancer
    ipv6 String
    The Public IPv6 Address of this NodeBalancer
    label String
    The label of the Linode NodeBalancer
    region String
    The region where this NodeBalancer will be deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region forces the creation of a new Linode NodeBalancer..
    tags List<String>
    A list of tags applied to this object. Tags are for organizational purposes only.
    transfers List<Property Map>
    Information about the amount of transfer this NodeBalancer has had so far this month.
    updated String
    When this NodeBalancer was last updated.

    Supporting Types

    NodeBalancerTransfer, NodeBalancerTransferArgs

    In double
    The total transfer, in MB, used by this NodeBalancer for the current month
    Out double
    The total inbound transfer, in MB, used for this NodeBalancer for the current month
    Total double
    The total outbound transfer, in MB, used for this NodeBalancer for the current month
    In float64
    The total transfer, in MB, used by this NodeBalancer for the current month
    Out float64
    The total inbound transfer, in MB, used for this NodeBalancer for the current month
    Total float64
    The total outbound transfer, in MB, used for this NodeBalancer for the current month
    in Double
    The total transfer, in MB, used by this NodeBalancer for the current month
    out Double
    The total inbound transfer, in MB, used for this NodeBalancer for the current month
    total Double
    The total outbound transfer, in MB, used for this NodeBalancer for the current month
    in number
    The total transfer, in MB, used by this NodeBalancer for the current month
    out number
    The total inbound transfer, in MB, used for this NodeBalancer for the current month
    total number
    The total outbound transfer, in MB, used for this NodeBalancer for the current month
    in_ float
    The total transfer, in MB, used by this NodeBalancer for the current month
    out float
    The total inbound transfer, in MB, used for this NodeBalancer for the current month
    total float
    The total outbound transfer, in MB, used for this NodeBalancer for the current month
    in Number
    The total transfer, in MB, used by this NodeBalancer for the current month
    out Number
    The total inbound transfer, in MB, used for this NodeBalancer for the current month
    total Number
    The total outbound transfer, in MB, used for this NodeBalancer for the current month

    Import

    Linodes NodeBalancers can be imported using the Linode NodeBalancer id, e.g.

     $ pulumi import linode:index/nodeBalancer:NodeBalancer mynodebalancer 1234567
    

    The Linode Guide, Import Existing Infrastructure to Terraform, offers resource importing examples for NodeBalancers and other Linode resource types.

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Linode pulumi/pulumi-linode
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the linode Terraform Provider.
    linode logo
    Viewing docs for Linode v3.12.0 (Older version)
    published on Monday, Mar 9, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.