1. Packages
  2. Azure Classic
  3. API Docs
  4. lb
  5. NatPool

We recommend using Azure Native.

Azure Classic v5.81.0 published on Monday, Jun 24, 2024 by Pulumi

azure.lb.NatPool

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.81.0 published on Monday, Jun 24, 2024 by Pulumi

    Manages a Load Balancer NAT pool.

    NOTE: This resource cannot be used with with virtual machines, instead use the azure.lb.NatRule resource.

    NOTE When using this resource, the Load Balancer needs to have a FrontEnd IP Configuration Attached

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const example = new azure.core.ResourceGroup("example", {
        name: "LoadBalancerRG",
        location: "West Europe",
    });
    const examplePublicIp = new azure.network.PublicIp("example", {
        name: "PublicIPForLB",
        location: example.location,
        resourceGroupName: example.name,
        allocationMethod: "Static",
    });
    const exampleLoadBalancer = new azure.lb.LoadBalancer("example", {
        name: "TestLoadBalancer",
        location: example.location,
        resourceGroupName: example.name,
        frontendIpConfigurations: [{
            name: "PublicIPAddress",
            publicIpAddressId: examplePublicIp.id,
        }],
    });
    const exampleNatPool = new azure.lb.NatPool("example", {
        resourceGroupName: example.name,
        loadbalancerId: exampleLoadBalancer.id,
        name: "SampleApplicationPool",
        protocol: "Tcp",
        frontendPortStart: 80,
        frontendPortEnd: 81,
        backendPort: 8080,
        frontendIpConfigurationName: "PublicIPAddress",
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example = azure.core.ResourceGroup("example",
        name="LoadBalancerRG",
        location="West Europe")
    example_public_ip = azure.network.PublicIp("example",
        name="PublicIPForLB",
        location=example.location,
        resource_group_name=example.name,
        allocation_method="Static")
    example_load_balancer = azure.lb.LoadBalancer("example",
        name="TestLoadBalancer",
        location=example.location,
        resource_group_name=example.name,
        frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(
            name="PublicIPAddress",
            public_ip_address_id=example_public_ip.id,
        )])
    example_nat_pool = azure.lb.NatPool("example",
        resource_group_name=example.name,
        loadbalancer_id=example_load_balancer.id,
        name="SampleApplicationPool",
        protocol="Tcp",
        frontend_port_start=80,
        frontend_port_end=81,
        backend_port=8080,
        frontend_ip_configuration_name="PublicIPAddress")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/lb"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String("LoadBalancerRG"),
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		examplePublicIp, err := network.NewPublicIp(ctx, "example", &network.PublicIpArgs{
    			Name:              pulumi.String("PublicIPForLB"),
    			Location:          example.Location,
    			ResourceGroupName: example.Name,
    			AllocationMethod:  pulumi.String("Static"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleLoadBalancer, err := lb.NewLoadBalancer(ctx, "example", &lb.LoadBalancerArgs{
    			Name:              pulumi.String("TestLoadBalancer"),
    			Location:          example.Location,
    			ResourceGroupName: example.Name,
    			FrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{
    				&lb.LoadBalancerFrontendIpConfigurationArgs{
    					Name:              pulumi.String("PublicIPAddress"),
    					PublicIpAddressId: examplePublicIp.ID(),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = lb.NewNatPool(ctx, "example", &lb.NatPoolArgs{
    			ResourceGroupName:           example.Name,
    			LoadbalancerId:              exampleLoadBalancer.ID(),
    			Name:                        pulumi.String("SampleApplicationPool"),
    			Protocol:                    pulumi.String("Tcp"),
    			FrontendPortStart:           pulumi.Int(80),
    			FrontendPortEnd:             pulumi.Int(81),
    			BackendPort:                 pulumi.Int(8080),
    			FrontendIpConfigurationName: pulumi.String("PublicIPAddress"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "LoadBalancerRG",
            Location = "West Europe",
        });
    
        var examplePublicIp = new Azure.Network.PublicIp("example", new()
        {
            Name = "PublicIPForLB",
            Location = example.Location,
            ResourceGroupName = example.Name,
            AllocationMethod = "Static",
        });
    
        var exampleLoadBalancer = new Azure.Lb.LoadBalancer("example", new()
        {
            Name = "TestLoadBalancer",
            Location = example.Location,
            ResourceGroupName = example.Name,
            FrontendIpConfigurations = new[]
            {
                new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs
                {
                    Name = "PublicIPAddress",
                    PublicIpAddressId = examplePublicIp.Id,
                },
            },
        });
    
        var exampleNatPool = new Azure.Lb.NatPool("example", new()
        {
            ResourceGroupName = example.Name,
            LoadbalancerId = exampleLoadBalancer.Id,
            Name = "SampleApplicationPool",
            Protocol = "Tcp",
            FrontendPortStart = 80,
            FrontendPortEnd = 81,
            BackendPort = 8080,
            FrontendIpConfigurationName = "PublicIPAddress",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.network.PublicIp;
    import com.pulumi.azure.network.PublicIpArgs;
    import com.pulumi.azure.lb.LoadBalancer;
    import com.pulumi.azure.lb.LoadBalancerArgs;
    import com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;
    import com.pulumi.azure.lb.NatPool;
    import com.pulumi.azure.lb.NatPoolArgs;
    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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
                .name("LoadBalancerRG")
                .location("West Europe")
                .build());
    
            var examplePublicIp = new PublicIp("examplePublicIp", PublicIpArgs.builder()
                .name("PublicIPForLB")
                .location(example.location())
                .resourceGroupName(example.name())
                .allocationMethod("Static")
                .build());
    
            var exampleLoadBalancer = new LoadBalancer("exampleLoadBalancer", LoadBalancerArgs.builder()
                .name("TestLoadBalancer")
                .location(example.location())
                .resourceGroupName(example.name())
                .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()
                    .name("PublicIPAddress")
                    .publicIpAddressId(examplePublicIp.id())
                    .build())
                .build());
    
            var exampleNatPool = new NatPool("exampleNatPool", NatPoolArgs.builder()
                .resourceGroupName(example.name())
                .loadbalancerId(exampleLoadBalancer.id())
                .name("SampleApplicationPool")
                .protocol("Tcp")
                .frontendPortStart(80)
                .frontendPortEnd(81)
                .backendPort(8080)
                .frontendIpConfigurationName("PublicIPAddress")
                .build());
    
        }
    }
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: LoadBalancerRG
          location: West Europe
      examplePublicIp:
        type: azure:network:PublicIp
        name: example
        properties:
          name: PublicIPForLB
          location: ${example.location}
          resourceGroupName: ${example.name}
          allocationMethod: Static
      exampleLoadBalancer:
        type: azure:lb:LoadBalancer
        name: example
        properties:
          name: TestLoadBalancer
          location: ${example.location}
          resourceGroupName: ${example.name}
          frontendIpConfigurations:
            - name: PublicIPAddress
              publicIpAddressId: ${examplePublicIp.id}
      exampleNatPool:
        type: azure:lb:NatPool
        name: example
        properties:
          resourceGroupName: ${example.name}
          loadbalancerId: ${exampleLoadBalancer.id}
          name: SampleApplicationPool
          protocol: Tcp
          frontendPortStart: 80
          frontendPortEnd: 81
          backendPort: 8080
          frontendIpConfigurationName: PublicIPAddress
    

    Create NatPool Resource

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

    Constructor syntax

    new NatPool(name: string, args: NatPoolArgs, opts?: CustomResourceOptions);
    @overload
    def NatPool(resource_name: str,
                args: NatPoolArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def NatPool(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                backend_port: Optional[int] = None,
                frontend_ip_configuration_name: Optional[str] = None,
                frontend_port_end: Optional[int] = None,
                frontend_port_start: Optional[int] = None,
                loadbalancer_id: Optional[str] = None,
                protocol: Optional[str] = None,
                resource_group_name: Optional[str] = None,
                floating_ip_enabled: Optional[bool] = None,
                idle_timeout_in_minutes: Optional[int] = None,
                name: Optional[str] = None,
                tcp_reset_enabled: Optional[bool] = None)
    func NewNatPool(ctx *Context, name string, args NatPoolArgs, opts ...ResourceOption) (*NatPool, error)
    public NatPool(string name, NatPoolArgs args, CustomResourceOptions? opts = null)
    public NatPool(String name, NatPoolArgs args)
    public NatPool(String name, NatPoolArgs args, CustomResourceOptions options)
    
    type: azure:lb:NatPool
    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 NatPoolArgs
    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 NatPoolArgs
    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 NatPoolArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args NatPoolArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args NatPoolArgs
    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 natPoolResource = new Azure.Lb.NatPool("natPoolResource", new()
    {
        BackendPort = 0,
        FrontendIpConfigurationName = "string",
        FrontendPortEnd = 0,
        FrontendPortStart = 0,
        LoadbalancerId = "string",
        Protocol = "string",
        ResourceGroupName = "string",
        FloatingIpEnabled = false,
        IdleTimeoutInMinutes = 0,
        Name = "string",
        TcpResetEnabled = false,
    });
    
    example, err := lb.NewNatPool(ctx, "natPoolResource", &lb.NatPoolArgs{
    	BackendPort:                 pulumi.Int(0),
    	FrontendIpConfigurationName: pulumi.String("string"),
    	FrontendPortEnd:             pulumi.Int(0),
    	FrontendPortStart:           pulumi.Int(0),
    	LoadbalancerId:              pulumi.String("string"),
    	Protocol:                    pulumi.String("string"),
    	ResourceGroupName:           pulumi.String("string"),
    	FloatingIpEnabled:           pulumi.Bool(false),
    	IdleTimeoutInMinutes:        pulumi.Int(0),
    	Name:                        pulumi.String("string"),
    	TcpResetEnabled:             pulumi.Bool(false),
    })
    
    var natPoolResource = new NatPool("natPoolResource", NatPoolArgs.builder()
        .backendPort(0)
        .frontendIpConfigurationName("string")
        .frontendPortEnd(0)
        .frontendPortStart(0)
        .loadbalancerId("string")
        .protocol("string")
        .resourceGroupName("string")
        .floatingIpEnabled(false)
        .idleTimeoutInMinutes(0)
        .name("string")
        .tcpResetEnabled(false)
        .build());
    
    nat_pool_resource = azure.lb.NatPool("natPoolResource",
        backend_port=0,
        frontend_ip_configuration_name="string",
        frontend_port_end=0,
        frontend_port_start=0,
        loadbalancer_id="string",
        protocol="string",
        resource_group_name="string",
        floating_ip_enabled=False,
        idle_timeout_in_minutes=0,
        name="string",
        tcp_reset_enabled=False)
    
    const natPoolResource = new azure.lb.NatPool("natPoolResource", {
        backendPort: 0,
        frontendIpConfigurationName: "string",
        frontendPortEnd: 0,
        frontendPortStart: 0,
        loadbalancerId: "string",
        protocol: "string",
        resourceGroupName: "string",
        floatingIpEnabled: false,
        idleTimeoutInMinutes: 0,
        name: "string",
        tcpResetEnabled: false,
    });
    
    type: azure:lb:NatPool
    properties:
        backendPort: 0
        floatingIpEnabled: false
        frontendIpConfigurationName: string
        frontendPortEnd: 0
        frontendPortStart: 0
        idleTimeoutInMinutes: 0
        loadbalancerId: string
        name: string
        protocol: string
        resourceGroupName: string
        tcpResetEnabled: false
    

    NatPool Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The NatPool resource accepts the following input properties:

    BackendPort int
    The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.
    FrontendIpConfigurationName string
    The name of the frontend IP configuration exposing this rule.
    FrontendPortEnd int
    The last port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    FrontendPortStart int
    The first port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    LoadbalancerId string
    The ID of the Load Balancer in which to create the NAT pool. Changing this forces a new resource to be created.
    Protocol string
    The transport protocol for the external endpoint. Possible values are All, Tcp and Udp.
    ResourceGroupName string
    The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
    FloatingIpEnabled bool
    Are the floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group.
    IdleTimeoutInMinutes int
    Specifies the idle timeout in minutes for TCP connections. Valid values are between 4 and 30. Defaults to 4.
    Name string
    Specifies the name of the NAT pool. Changing this forces a new resource to be created.
    TcpResetEnabled bool
    Is TCP Reset enabled for this Load Balancer Rule?
    BackendPort int
    The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.
    FrontendIpConfigurationName string
    The name of the frontend IP configuration exposing this rule.
    FrontendPortEnd int
    The last port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    FrontendPortStart int
    The first port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    LoadbalancerId string
    The ID of the Load Balancer in which to create the NAT pool. Changing this forces a new resource to be created.
    Protocol string
    The transport protocol for the external endpoint. Possible values are All, Tcp and Udp.
    ResourceGroupName string
    The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
    FloatingIpEnabled bool
    Are the floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group.
    IdleTimeoutInMinutes int
    Specifies the idle timeout in minutes for TCP connections. Valid values are between 4 and 30. Defaults to 4.
    Name string
    Specifies the name of the NAT pool. Changing this forces a new resource to be created.
    TcpResetEnabled bool
    Is TCP Reset enabled for this Load Balancer Rule?
    backendPort Integer
    The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.
    frontendIpConfigurationName String
    The name of the frontend IP configuration exposing this rule.
    frontendPortEnd Integer
    The last port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    frontendPortStart Integer
    The first port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    loadbalancerId String
    The ID of the Load Balancer in which to create the NAT pool. Changing this forces a new resource to be created.
    protocol String
    The transport protocol for the external endpoint. Possible values are All, Tcp and Udp.
    resourceGroupName String
    The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
    floatingIpEnabled Boolean
    Are the floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group.
    idleTimeoutInMinutes Integer
    Specifies the idle timeout in minutes for TCP connections. Valid values are between 4 and 30. Defaults to 4.
    name String
    Specifies the name of the NAT pool. Changing this forces a new resource to be created.
    tcpResetEnabled Boolean
    Is TCP Reset enabled for this Load Balancer Rule?
    backendPort number
    The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.
    frontendIpConfigurationName string
    The name of the frontend IP configuration exposing this rule.
    frontendPortEnd number
    The last port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    frontendPortStart number
    The first port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    loadbalancerId string
    The ID of the Load Balancer in which to create the NAT pool. Changing this forces a new resource to be created.
    protocol string
    The transport protocol for the external endpoint. Possible values are All, Tcp and Udp.
    resourceGroupName string
    The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
    floatingIpEnabled boolean
    Are the floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group.
    idleTimeoutInMinutes number
    Specifies the idle timeout in minutes for TCP connections. Valid values are between 4 and 30. Defaults to 4.
    name string
    Specifies the name of the NAT pool. Changing this forces a new resource to be created.
    tcpResetEnabled boolean
    Is TCP Reset enabled for this Load Balancer Rule?
    backend_port int
    The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.
    frontend_ip_configuration_name str
    The name of the frontend IP configuration exposing this rule.
    frontend_port_end int
    The last port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    frontend_port_start int
    The first port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    loadbalancer_id str
    The ID of the Load Balancer in which to create the NAT pool. Changing this forces a new resource to be created.
    protocol str
    The transport protocol for the external endpoint. Possible values are All, Tcp and Udp.
    resource_group_name str
    The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
    floating_ip_enabled bool
    Are the floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group.
    idle_timeout_in_minutes int
    Specifies the idle timeout in minutes for TCP connections. Valid values are between 4 and 30. Defaults to 4.
    name str
    Specifies the name of the NAT pool. Changing this forces a new resource to be created.
    tcp_reset_enabled bool
    Is TCP Reset enabled for this Load Balancer Rule?
    backendPort Number
    The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.
    frontendIpConfigurationName String
    The name of the frontend IP configuration exposing this rule.
    frontendPortEnd Number
    The last port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    frontendPortStart Number
    The first port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    loadbalancerId String
    The ID of the Load Balancer in which to create the NAT pool. Changing this forces a new resource to be created.
    protocol String
    The transport protocol for the external endpoint. Possible values are All, Tcp and Udp.
    resourceGroupName String
    The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
    floatingIpEnabled Boolean
    Are the floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group.
    idleTimeoutInMinutes Number
    Specifies the idle timeout in minutes for TCP connections. Valid values are between 4 and 30. Defaults to 4.
    name String
    Specifies the name of the NAT pool. Changing this forces a new resource to be created.
    tcpResetEnabled Boolean
    Is TCP Reset enabled for this Load Balancer Rule?

    Outputs

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

    FrontendIpConfigurationId string
    Id string
    The provider-assigned unique ID for this managed resource.
    FrontendIpConfigurationId string
    Id string
    The provider-assigned unique ID for this managed resource.
    frontendIpConfigurationId String
    id String
    The provider-assigned unique ID for this managed resource.
    frontendIpConfigurationId string
    id string
    The provider-assigned unique ID for this managed resource.
    frontend_ip_configuration_id str
    id str
    The provider-assigned unique ID for this managed resource.
    frontendIpConfigurationId String
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing NatPool Resource

    Get an existing NatPool 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?: NatPoolState, opts?: CustomResourceOptions): NatPool
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            backend_port: Optional[int] = None,
            floating_ip_enabled: Optional[bool] = None,
            frontend_ip_configuration_id: Optional[str] = None,
            frontend_ip_configuration_name: Optional[str] = None,
            frontend_port_end: Optional[int] = None,
            frontend_port_start: Optional[int] = None,
            idle_timeout_in_minutes: Optional[int] = None,
            loadbalancer_id: Optional[str] = None,
            name: Optional[str] = None,
            protocol: Optional[str] = None,
            resource_group_name: Optional[str] = None,
            tcp_reset_enabled: Optional[bool] = None) -> NatPool
    func GetNatPool(ctx *Context, name string, id IDInput, state *NatPoolState, opts ...ResourceOption) (*NatPool, error)
    public static NatPool Get(string name, Input<string> id, NatPoolState? state, CustomResourceOptions? opts = null)
    public static NatPool get(String name, Output<String> id, NatPoolState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    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:
    BackendPort int
    The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.
    FloatingIpEnabled bool
    Are the floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group.
    FrontendIpConfigurationId string
    FrontendIpConfigurationName string
    The name of the frontend IP configuration exposing this rule.
    FrontendPortEnd int
    The last port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    FrontendPortStart int
    The first port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    IdleTimeoutInMinutes int
    Specifies the idle timeout in minutes for TCP connections. Valid values are between 4 and 30. Defaults to 4.
    LoadbalancerId string
    The ID of the Load Balancer in which to create the NAT pool. Changing this forces a new resource to be created.
    Name string
    Specifies the name of the NAT pool. Changing this forces a new resource to be created.
    Protocol string
    The transport protocol for the external endpoint. Possible values are All, Tcp and Udp.
    ResourceGroupName string
    The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
    TcpResetEnabled bool
    Is TCP Reset enabled for this Load Balancer Rule?
    BackendPort int
    The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.
    FloatingIpEnabled bool
    Are the floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group.
    FrontendIpConfigurationId string
    FrontendIpConfigurationName string
    The name of the frontend IP configuration exposing this rule.
    FrontendPortEnd int
    The last port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    FrontendPortStart int
    The first port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    IdleTimeoutInMinutes int
    Specifies the idle timeout in minutes for TCP connections. Valid values are between 4 and 30. Defaults to 4.
    LoadbalancerId string
    The ID of the Load Balancer in which to create the NAT pool. Changing this forces a new resource to be created.
    Name string
    Specifies the name of the NAT pool. Changing this forces a new resource to be created.
    Protocol string
    The transport protocol for the external endpoint. Possible values are All, Tcp and Udp.
    ResourceGroupName string
    The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
    TcpResetEnabled bool
    Is TCP Reset enabled for this Load Balancer Rule?
    backendPort Integer
    The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.
    floatingIpEnabled Boolean
    Are the floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group.
    frontendIpConfigurationId String
    frontendIpConfigurationName String
    The name of the frontend IP configuration exposing this rule.
    frontendPortEnd Integer
    The last port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    frontendPortStart Integer
    The first port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    idleTimeoutInMinutes Integer
    Specifies the idle timeout in minutes for TCP connections. Valid values are between 4 and 30. Defaults to 4.
    loadbalancerId String
    The ID of the Load Balancer in which to create the NAT pool. Changing this forces a new resource to be created.
    name String
    Specifies the name of the NAT pool. Changing this forces a new resource to be created.
    protocol String
    The transport protocol for the external endpoint. Possible values are All, Tcp and Udp.
    resourceGroupName String
    The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
    tcpResetEnabled Boolean
    Is TCP Reset enabled for this Load Balancer Rule?
    backendPort number
    The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.
    floatingIpEnabled boolean
    Are the floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group.
    frontendIpConfigurationId string
    frontendIpConfigurationName string
    The name of the frontend IP configuration exposing this rule.
    frontendPortEnd number
    The last port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    frontendPortStart number
    The first port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    idleTimeoutInMinutes number
    Specifies the idle timeout in minutes for TCP connections. Valid values are between 4 and 30. Defaults to 4.
    loadbalancerId string
    The ID of the Load Balancer in which to create the NAT pool. Changing this forces a new resource to be created.
    name string
    Specifies the name of the NAT pool. Changing this forces a new resource to be created.
    protocol string
    The transport protocol for the external endpoint. Possible values are All, Tcp and Udp.
    resourceGroupName string
    The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
    tcpResetEnabled boolean
    Is TCP Reset enabled for this Load Balancer Rule?
    backend_port int
    The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.
    floating_ip_enabled bool
    Are the floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group.
    frontend_ip_configuration_id str
    frontend_ip_configuration_name str
    The name of the frontend IP configuration exposing this rule.
    frontend_port_end int
    The last port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    frontend_port_start int
    The first port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    idle_timeout_in_minutes int
    Specifies the idle timeout in minutes for TCP connections. Valid values are between 4 and 30. Defaults to 4.
    loadbalancer_id str
    The ID of the Load Balancer in which to create the NAT pool. Changing this forces a new resource to be created.
    name str
    Specifies the name of the NAT pool. Changing this forces a new resource to be created.
    protocol str
    The transport protocol for the external endpoint. Possible values are All, Tcp and Udp.
    resource_group_name str
    The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
    tcp_reset_enabled bool
    Is TCP Reset enabled for this Load Balancer Rule?
    backendPort Number
    The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.
    floatingIpEnabled Boolean
    Are the floating IPs enabled for this Load Balancer Rule? A floating IP is reassigned to a secondary server in case the primary server fails. Required to configure a SQL AlwaysOn Availability Group.
    frontendIpConfigurationId String
    frontendIpConfigurationName String
    The name of the frontend IP configuration exposing this rule.
    frontendPortEnd Number
    The last port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    frontendPortStart Number
    The first port number in the range of external ports that will be used to provide Inbound NAT to NICs associated with this Load Balancer. Possible values range between 1 and 65534, inclusive.
    idleTimeoutInMinutes Number
    Specifies the idle timeout in minutes for TCP connections. Valid values are between 4 and 30. Defaults to 4.
    loadbalancerId String
    The ID of the Load Balancer in which to create the NAT pool. Changing this forces a new resource to be created.
    name String
    Specifies the name of the NAT pool. Changing this forces a new resource to be created.
    protocol String
    The transport protocol for the external endpoint. Possible values are All, Tcp and Udp.
    resourceGroupName String
    The name of the resource group in which to create the resource. Changing this forces a new resource to be created.
    tcpResetEnabled Boolean
    Is TCP Reset enabled for this Load Balancer Rule?

    Import

    Load Balancer NAT Pools can be imported using the resource id, e.g.

    $ pulumi import azure:lb/natPool:NatPool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatPools/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 azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Azure Classic v5.81.0 published on Monday, Jun 24, 2024 by Pulumi