1. Packages
  2. Azure Native
  3. API Docs
  4. azurestackhci
  5. NatGateway
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.13.0 published on Wednesday, Jan 28, 2026 by Pulumi
azure-native logo
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.13.0 published on Wednesday, Jan 28, 2026 by Pulumi

    The NatGateway resource definition.

    Uses Azure REST API version 2025-09-01-preview.

    Example Usage

    PutNatGateway

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var natGateway = new AzureNative.AzureStackHCI.NatGateway("natGateway", new()
        {
            ExtendedLocation = new AzureNative.AzureStackHCI.Inputs.ExtendedLocationArgs
            {
                Name = "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
                Type = AzureNative.AzureStackHCI.ExtendedLocationTypes.CustomLocation,
            },
            Location = "West US2",
            NatGatewayName = "test-nat-gw",
            Properties = new AzureNative.AzureStackHCI.Inputs.NatGatewayPropertiesArgs
            {
                PublicIPAddresses = new[]
                {
                    new AzureNative.AzureStackHCI.Inputs.PublicIPAddressArmReferenceArgs
                    {
                        ResourceId = "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/azure-local-rg/providers/Microsoft.AzureStackHCI/publicIPAddresses/outbound-pip",
                    },
                },
            },
            ResourceGroupName = "test-rg",
        });
    
    });
    
    package main
    
    import (
    	azurestackhci "github.com/pulumi/pulumi-azure-native-sdk/azurestackhci/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := azurestackhci.NewNatGateway(ctx, "natGateway", &azurestackhci.NatGatewayArgs{
    			ExtendedLocation: &azurestackhci.ExtendedLocationArgs{
    				Name: pulumi.String("/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location"),
    				Type: pulumi.String(azurestackhci.ExtendedLocationTypesCustomLocation),
    			},
    			Location:       pulumi.String("West US2"),
    			NatGatewayName: pulumi.String("test-nat-gw"),
    			Properties: &azurestackhci.NatGatewayPropertiesArgs{
    				PublicIPAddresses: azurestackhci.PublicIPAddressArmReferenceArray{
    					&azurestackhci.PublicIPAddressArmReferenceArgs{
    						ResourceId: pulumi.String("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/azure-local-rg/providers/Microsoft.AzureStackHCI/publicIPAddresses/outbound-pip"),
    					},
    				},
    			},
    			ResourceGroupName: pulumi.String("test-rg"),
    		})
    		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.azurestackhci.NatGateway;
    import com.pulumi.azurenative.azurestackhci.NatGatewayArgs;
    import com.pulumi.azurenative.azurestackhci.inputs.ExtendedLocationArgs;
    import com.pulumi.azurenative.azurestackhci.inputs.NatGatewayPropertiesArgs;
    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 natGateway = new NatGateway("natGateway", NatGatewayArgs.builder()
                .extendedLocation(ExtendedLocationArgs.builder()
                    .name("/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location")
                    .type("CustomLocation")
                    .build())
                .location("West US2")
                .natGatewayName("test-nat-gw")
                .properties(NatGatewayPropertiesArgs.builder()
                    .publicIPAddresses(PublicIPAddressArmReferenceArgs.builder()
                        .resourceId("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/azure-local-rg/providers/Microsoft.AzureStackHCI/publicIPAddresses/outbound-pip")
                        .build())
                    .build())
                .resourceGroupName("test-rg")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const natGateway = new azure_native.azurestackhci.NatGateway("natGateway", {
        extendedLocation: {
            name: "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
            type: azure_native.azurestackhci.ExtendedLocationTypes.CustomLocation,
        },
        location: "West US2",
        natGatewayName: "test-nat-gw",
        properties: {
            publicIPAddresses: [{
                resourceId: "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/azure-local-rg/providers/Microsoft.AzureStackHCI/publicIPAddresses/outbound-pip",
            }],
        },
        resourceGroupName: "test-rg",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    nat_gateway = azure_native.azurestackhci.NatGateway("natGateway",
        extended_location={
            "name": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location",
            "type": azure_native.azurestackhci.ExtendedLocationTypes.CUSTOM_LOCATION,
        },
        location="West US2",
        nat_gateway_name="test-nat-gw",
        properties={
            "public_ip_addresses": [{
                "resource_id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/azure-local-rg/providers/Microsoft.AzureStackHCI/publicIPAddresses/outbound-pip",
            }],
        },
        resource_group_name="test-rg")
    
    resources:
      natGateway:
        type: azure-native:azurestackhci:NatGateway
        properties:
          extendedLocation:
            name: /subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location
            type: CustomLocation
          location: West US2
          natGatewayName: test-nat-gw
          properties:
            publicIPAddresses:
              - resourceId: /subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/azure-local-rg/providers/Microsoft.AzureStackHCI/publicIPAddresses/outbound-pip
          resourceGroupName: test-rg
    

    Create NatGateway Resource

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

    Constructor syntax

    new NatGateway(name: string, args: NatGatewayArgs, opts?: CustomResourceOptions);
    @overload
    def NatGateway(resource_name: str,
                   args: NatGatewayArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def NatGateway(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   resource_group_name: Optional[str] = None,
                   extended_location: Optional[ExtendedLocationArgs] = None,
                   location: Optional[str] = None,
                   nat_gateway_name: Optional[str] = None,
                   properties: Optional[NatGatewayPropertiesArgs] = None,
                   tags: Optional[Mapping[str, str]] = None)
    func NewNatGateway(ctx *Context, name string, args NatGatewayArgs, opts ...ResourceOption) (*NatGateway, error)
    public NatGateway(string name, NatGatewayArgs args, CustomResourceOptions? opts = null)
    public NatGateway(String name, NatGatewayArgs args)
    public NatGateway(String name, NatGatewayArgs args, CustomResourceOptions options)
    
    type: azure-native:azurestackhci:NatGateway
    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 NatGatewayArgs
    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 NatGatewayArgs
    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 NatGatewayArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args NatGatewayArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args NatGatewayArgs
    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 natGatewayResource = new AzureNative.AzureStackHCI.NatGateway("natGatewayResource", new()
    {
        ResourceGroupName = "string",
        ExtendedLocation = new AzureNative.AzureStackHCI.Inputs.ExtendedLocationArgs
        {
            Name = "string",
            Type = "string",
        },
        Location = "string",
        NatGatewayName = "string",
        Properties = new AzureNative.AzureStackHCI.Inputs.NatGatewayPropertiesArgs
        {
            InboundNATRules = new[]
            {
                new AzureNative.AzureStackHCI.Inputs.InboundNATRuleArgs
                {
                    Name = "string",
                    Properties = new AzureNative.AzureStackHCI.Inputs.InboundNATRulePropertiesArgs
                    {
                        BackendIPConfiguration = new AzureNative.AzureStackHCI.Inputs.IPConfigurationArmReferenceArgs
                        {
                            ResourceId = "string",
                        },
                        BackendPort = 0,
                        FrontendPort = 0,
                        Protocol = "string",
                        PublicIPAddress = new AzureNative.AzureStackHCI.Inputs.PublicIPAddressArmReferenceArgs
                        {
                            ResourceId = "string",
                        },
                    },
                },
            },
            PublicIPAddresses = new[]
            {
                new AzureNative.AzureStackHCI.Inputs.PublicIPAddressArmReferenceArgs
                {
                    ResourceId = "string",
                },
            },
        },
        Tags = 
        {
            { "string", "string" },
        },
    });
    
    example, err := azurestackhci.NewNatGateway(ctx, "natGatewayResource", &azurestackhci.NatGatewayArgs{
    	ResourceGroupName: pulumi.String("string"),
    	ExtendedLocation: &azurestackhci.ExtendedLocationArgs{
    		Name: pulumi.String("string"),
    		Type: pulumi.String("string"),
    	},
    	Location:       pulumi.String("string"),
    	NatGatewayName: pulumi.String("string"),
    	Properties: &azurestackhci.NatGatewayPropertiesArgs{
    		InboundNATRules: azurestackhci.InboundNATRuleArray{
    			&azurestackhci.InboundNATRuleArgs{
    				Name: pulumi.String("string"),
    				Properties: &azurestackhci.InboundNATRulePropertiesArgs{
    					BackendIPConfiguration: &azurestackhci.IPConfigurationArmReferenceArgs{
    						ResourceId: pulumi.String("string"),
    					},
    					BackendPort:  pulumi.Int(0),
    					FrontendPort: pulumi.Int(0),
    					Protocol:     pulumi.String("string"),
    					PublicIPAddress: &azurestackhci.PublicIPAddressArmReferenceArgs{
    						ResourceId: pulumi.String("string"),
    					},
    				},
    			},
    		},
    		PublicIPAddresses: azurestackhci.PublicIPAddressArmReferenceArray{
    			&azurestackhci.PublicIPAddressArmReferenceArgs{
    				ResourceId: pulumi.String("string"),
    			},
    		},
    	},
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var natGatewayResource = new com.pulumi.azurenative.azurestackhci.NatGateway("natGatewayResource", com.pulumi.azurenative.azurestackhci.NatGatewayArgs.builder()
        .resourceGroupName("string")
        .extendedLocation(ExtendedLocationArgs.builder()
            .name("string")
            .type("string")
            .build())
        .location("string")
        .natGatewayName("string")
        .properties(NatGatewayPropertiesArgs.builder()
            .inboundNATRules(InboundNATRuleArgs.builder()
                .name("string")
                .properties(InboundNATRulePropertiesArgs.builder()
                    .backendIPConfiguration(IPConfigurationArmReferenceArgs.builder()
                        .resourceId("string")
                        .build())
                    .backendPort(0)
                    .frontendPort(0)
                    .protocol("string")
                    .publicIPAddress(PublicIPAddressArmReferenceArgs.builder()
                        .resourceId("string")
                        .build())
                    .build())
                .build())
            .publicIPAddresses(PublicIPAddressArmReferenceArgs.builder()
                .resourceId("string")
                .build())
            .build())
        .tags(Map.of("string", "string"))
        .build());
    
    nat_gateway_resource = azure_native.azurestackhci.NatGateway("natGatewayResource",
        resource_group_name="string",
        extended_location={
            "name": "string",
            "type": "string",
        },
        location="string",
        nat_gateway_name="string",
        properties={
            "inbound_nat_rules": [{
                "name": "string",
                "properties": {
                    "backend_ip_configuration": {
                        "resource_id": "string",
                    },
                    "backend_port": 0,
                    "frontend_port": 0,
                    "protocol": "string",
                    "public_ip_address": {
                        "resource_id": "string",
                    },
                },
            }],
            "public_ip_addresses": [{
                "resource_id": "string",
            }],
        },
        tags={
            "string": "string",
        })
    
    const natGatewayResource = new azure_native.azurestackhci.NatGateway("natGatewayResource", {
        resourceGroupName: "string",
        extendedLocation: {
            name: "string",
            type: "string",
        },
        location: "string",
        natGatewayName: "string",
        properties: {
            inboundNATRules: [{
                name: "string",
                properties: {
                    backendIPConfiguration: {
                        resourceId: "string",
                    },
                    backendPort: 0,
                    frontendPort: 0,
                    protocol: "string",
                    publicIPAddress: {
                        resourceId: "string",
                    },
                },
            }],
            publicIPAddresses: [{
                resourceId: "string",
            }],
        },
        tags: {
            string: "string",
        },
    });
    
    type: azure-native:azurestackhci:NatGateway
    properties:
        extendedLocation:
            name: string
            type: string
        location: string
        natGatewayName: string
        properties:
            inboundNATRules:
                - name: string
                  properties:
                    backendIPConfiguration:
                        resourceId: string
                    backendPort: 0
                    frontendPort: 0
                    protocol: string
                    publicIPAddress:
                        resourceId: string
            publicIPAddresses:
                - resourceId: string
        resourceGroupName: string
        tags:
            string: string
    

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

    ResourceGroupName string
    The name of the resource group. The name is case insensitive.
    ExtendedLocation Pulumi.AzureNative.AzureStackHCI.Inputs.ExtendedLocation
    The extendedLocation of the resource.
    Location string
    The geo-location where the resource lives
    NatGatewayName string
    Name of the nat gateway
    Properties Pulumi.AzureNative.AzureStackHCI.Inputs.NatGatewayProperties
    The resource-specific properties for this resource.
    Tags Dictionary<string, string>
    Resource tags.
    ResourceGroupName string
    The name of the resource group. The name is case insensitive.
    ExtendedLocation ExtendedLocationArgs
    The extendedLocation of the resource.
    Location string
    The geo-location where the resource lives
    NatGatewayName string
    Name of the nat gateway
    Properties NatGatewayPropertiesArgs
    The resource-specific properties for this resource.
    Tags map[string]string
    Resource tags.
    resourceGroupName String
    The name of the resource group. The name is case insensitive.
    extendedLocation ExtendedLocation
    The extendedLocation of the resource.
    location String
    The geo-location where the resource lives
    natGatewayName String
    Name of the nat gateway
    properties NatGatewayProperties
    The resource-specific properties for this resource.
    tags Map<String,String>
    Resource tags.
    resourceGroupName string
    The name of the resource group. The name is case insensitive.
    extendedLocation ExtendedLocation
    The extendedLocation of the resource.
    location string
    The geo-location where the resource lives
    natGatewayName string
    Name of the nat gateway
    properties NatGatewayProperties
    The resource-specific properties for this resource.
    tags {[key: string]: string}
    Resource tags.
    resource_group_name str
    The name of the resource group. The name is case insensitive.
    extended_location ExtendedLocationArgs
    The extendedLocation of the resource.
    location str
    The geo-location where the resource lives
    nat_gateway_name str
    Name of the nat gateway
    properties NatGatewayPropertiesArgs
    The resource-specific properties for this resource.
    tags Mapping[str, str]
    Resource tags.
    resourceGroupName String
    The name of the resource group. The name is case insensitive.
    extendedLocation Property Map
    The extendedLocation of the resource.
    location String
    The geo-location where the resource lives
    natGatewayName String
    Name of the nat gateway
    properties Property Map
    The resource-specific properties for this resource.
    tags Map<String>
    Resource tags.

    Outputs

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

    AzureApiVersion string
    The Azure API version of the resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The name of the resource
    SystemData Pulumi.AzureNative.AzureStackHCI.Outputs.SystemDataResponse
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    Type string
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    AzureApiVersion string
    The Azure API version of the resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The name of the resource
    SystemData SystemDataResponse
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    Type string
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    azureApiVersion String
    The Azure API version of the resource.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The name of the resource
    systemData SystemDataResponse
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    type String
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    azureApiVersion string
    The Azure API version of the resource.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The name of the resource
    systemData SystemDataResponse
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    type string
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    azure_api_version str
    The Azure API version of the resource.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    The name of the resource
    system_data SystemDataResponse
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    type str
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
    azureApiVersion String
    The Azure API version of the resource.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The name of the resource
    systemData Property Map
    Azure Resource Manager metadata containing createdBy and modifiedBy information.
    type String
    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

    Supporting Types

    ExtendedLocation, ExtendedLocationArgs

    The complex type of the extended location.
    Name string
    The name of the extended location.
    Type string | Pulumi.AzureNative.AzureStackHCI.ExtendedLocationTypes
    The type of the extended location.
    Name string
    The name of the extended location.
    Type string | ExtendedLocationTypes
    The type of the extended location.
    name String
    The name of the extended location.
    type String | ExtendedLocationTypes
    The type of the extended location.
    name string
    The name of the extended location.
    type string | ExtendedLocationTypes
    The type of the extended location.
    name str
    The name of the extended location.
    type str | ExtendedLocationTypes
    The type of the extended location.
    name String
    The name of the extended location.
    type String | "CustomLocation"
    The type of the extended location.

    ExtendedLocationResponse, ExtendedLocationResponseArgs

    The complex type of the extended location.
    Name string
    The name of the extended location.
    Type string
    The type of the extended location.
    Name string
    The name of the extended location.
    Type string
    The type of the extended location.
    name String
    The name of the extended location.
    type String
    The type of the extended location.
    name string
    The name of the extended location.
    type string
    The type of the extended location.
    name str
    The name of the extended location.
    type str
    The type of the extended location.
    name String
    The name of the extended location.
    type String
    The type of the extended location.

    ExtendedLocationTypes, ExtendedLocationTypesArgs

    CustomLocation
    CustomLocation Custom extended location type
    ExtendedLocationTypesCustomLocation
    CustomLocation Custom extended location type
    CustomLocation
    CustomLocation Custom extended location type
    CustomLocation
    CustomLocation Custom extended location type
    CUSTOM_LOCATION
    CustomLocation Custom extended location type
    "CustomLocation"
    CustomLocation Custom extended location type

    IPConfigurationArmReference, IPConfigurationArmReferenceArgs

    The Azure Resource ID of an IPConfiguration resource
    ResourceId string
    The Azure Resource ID of an IPConfiguration resource
    ResourceId string
    The Azure Resource ID of an IPConfiguration resource
    resourceId String
    The Azure Resource ID of an IPConfiguration resource
    resourceId string
    The Azure Resource ID of an IPConfiguration resource
    resource_id str
    The Azure Resource ID of an IPConfiguration resource
    resourceId String
    The Azure Resource ID of an IPConfiguration resource

    IPConfigurationArmReferenceResponse, IPConfigurationArmReferenceResponseArgs

    The Azure Resource ID of an IPConfiguration resource
    ResourceId string
    The Azure Resource ID of an IPConfiguration resource
    ResourceId string
    The Azure Resource ID of an IPConfiguration resource
    resourceId String
    The Azure Resource ID of an IPConfiguration resource
    resourceId string
    The Azure Resource ID of an IPConfiguration resource
    resource_id str
    The Azure Resource ID of an IPConfiguration resource
    resourceId String
    The Azure Resource ID of an IPConfiguration resource

    InboundNATRule, InboundNATRuleArgs

    Inbound nat rule properties
    Name string
    name of the inbound nat rule
    Properties Pulumi.AzureNative.AzureStackHCI.Inputs.InboundNATRuleProperties
    properties of the inbound nat rule
    Name string
    name of the inbound nat rule
    Properties InboundNATRuleProperties
    properties of the inbound nat rule
    name String
    name of the inbound nat rule
    properties InboundNATRuleProperties
    properties of the inbound nat rule
    name string
    name of the inbound nat rule
    properties InboundNATRuleProperties
    properties of the inbound nat rule
    name str
    name of the inbound nat rule
    properties InboundNATRuleProperties
    properties of the inbound nat rule
    name String
    name of the inbound nat rule
    properties Property Map
    properties of the inbound nat rule

    InboundNATRuleProperties, InboundNATRulePropertiesArgs

    Inbound nat rule properties
    BackendIPConfiguration Pulumi.AzureNative.AzureStackHCI.Inputs.IPConfigurationArmReference
    IP configuration for the target backend.
    BackendPort int
    backend Port for the inbound rule
    FrontendPort int
    Frontend Port for the inbound rule
    Protocol string | Pulumi.AzureNative.AzureStackHCI.InboundNATRuleProtocol
    Protocol for the NAT rule
    PublicIPAddress Pulumi.AzureNative.AzureStackHCI.Inputs.PublicIPAddressArmReference
    Public IP Address for this NAT rule
    BackendIPConfiguration IPConfigurationArmReference
    IP configuration for the target backend.
    BackendPort int
    backend Port for the inbound rule
    FrontendPort int
    Frontend Port for the inbound rule
    Protocol string | InboundNATRuleProtocol
    Protocol for the NAT rule
    PublicIPAddress PublicIPAddressArmReference
    Public IP Address for this NAT rule
    backendIPConfiguration IPConfigurationArmReference
    IP configuration for the target backend.
    backendPort Integer
    backend Port for the inbound rule
    frontendPort Integer
    Frontend Port for the inbound rule
    protocol String | InboundNATRuleProtocol
    Protocol for the NAT rule
    publicIPAddress PublicIPAddressArmReference
    Public IP Address for this NAT rule
    backendIPConfiguration IPConfigurationArmReference
    IP configuration for the target backend.
    backendPort number
    backend Port for the inbound rule
    frontendPort number
    Frontend Port for the inbound rule
    protocol string | InboundNATRuleProtocol
    Protocol for the NAT rule
    publicIPAddress PublicIPAddressArmReference
    Public IP Address for this NAT rule
    backend_ip_configuration IPConfigurationArmReference
    IP configuration for the target backend.
    backend_port int
    backend Port for the inbound rule
    frontend_port int
    Frontend Port for the inbound rule
    protocol str | InboundNATRuleProtocol
    Protocol for the NAT rule
    public_ip_address PublicIPAddressArmReference
    Public IP Address for this NAT rule
    backendIPConfiguration Property Map
    IP configuration for the target backend.
    backendPort Number
    backend Port for the inbound rule
    frontendPort Number
    Frontend Port for the inbound rule
    protocol String | "Tcp" | "Udp"
    Protocol for the NAT rule
    publicIPAddress Property Map
    Public IP Address for this NAT rule

    InboundNATRulePropertiesResponse, InboundNATRulePropertiesResponseArgs

    Inbound nat rule properties
    BackendIPConfiguration Pulumi.AzureNative.AzureStackHCI.Inputs.IPConfigurationArmReferenceResponse
    IP configuration for the target backend.
    BackendPort int
    backend Port for the inbound rule
    FrontendPort int
    Frontend Port for the inbound rule
    Protocol string
    Protocol for the NAT rule
    PublicIPAddress Pulumi.AzureNative.AzureStackHCI.Inputs.PublicIPAddressArmReferenceResponse
    Public IP Address for this NAT rule
    BackendIPConfiguration IPConfigurationArmReferenceResponse
    IP configuration for the target backend.
    BackendPort int
    backend Port for the inbound rule
    FrontendPort int
    Frontend Port for the inbound rule
    Protocol string
    Protocol for the NAT rule
    PublicIPAddress PublicIPAddressArmReferenceResponse
    Public IP Address for this NAT rule
    backendIPConfiguration IPConfigurationArmReferenceResponse
    IP configuration for the target backend.
    backendPort Integer
    backend Port for the inbound rule
    frontendPort Integer
    Frontend Port for the inbound rule
    protocol String
    Protocol for the NAT rule
    publicIPAddress PublicIPAddressArmReferenceResponse
    Public IP Address for this NAT rule
    backendIPConfiguration IPConfigurationArmReferenceResponse
    IP configuration for the target backend.
    backendPort number
    backend Port for the inbound rule
    frontendPort number
    Frontend Port for the inbound rule
    protocol string
    Protocol for the NAT rule
    publicIPAddress PublicIPAddressArmReferenceResponse
    Public IP Address for this NAT rule
    backend_ip_configuration IPConfigurationArmReferenceResponse
    IP configuration for the target backend.
    backend_port int
    backend Port for the inbound rule
    frontend_port int
    Frontend Port for the inbound rule
    protocol str
    Protocol for the NAT rule
    public_ip_address PublicIPAddressArmReferenceResponse
    Public IP Address for this NAT rule
    backendIPConfiguration Property Map
    IP configuration for the target backend.
    backendPort Number
    backend Port for the inbound rule
    frontendPort Number
    Frontend Port for the inbound rule
    protocol String
    Protocol for the NAT rule
    publicIPAddress Property Map
    Public IP Address for this NAT rule

    InboundNATRuleProtocol, InboundNATRuleProtocolArgs

    TCP
    Tcp TCP - load balance only tcp traffic
    UDP
    Udp Udp - load balance only UDP traffic
    InboundNATRuleProtocolTCP
    Tcp TCP - load balance only tcp traffic
    InboundNATRuleProtocolUDP
    Udp Udp - load balance only UDP traffic
    TCP
    Tcp TCP - load balance only tcp traffic
    UDP
    Udp Udp - load balance only UDP traffic
    TCP
    Tcp TCP - load balance only tcp traffic
    UDP
    Udp Udp - load balance only UDP traffic
    TCP
    Tcp TCP - load balance only tcp traffic
    UDP
    Udp Udp - load balance only UDP traffic
    "Tcp"
    Tcp TCP - load balance only tcp traffic
    "Udp"
    Udp Udp - load balance only UDP traffic

    InboundNATRuleResponse, InboundNATRuleResponseArgs

    Inbound nat rule properties
    Name string
    name of the inbound nat rule
    Properties Pulumi.AzureNative.AzureStackHCI.Inputs.InboundNATRulePropertiesResponse
    properties of the inbound nat rule
    Name string
    name of the inbound nat rule
    Properties InboundNATRulePropertiesResponse
    properties of the inbound nat rule
    name String
    name of the inbound nat rule
    properties InboundNATRulePropertiesResponse
    properties of the inbound nat rule
    name string
    name of the inbound nat rule
    properties InboundNATRulePropertiesResponse
    properties of the inbound nat rule
    name str
    name of the inbound nat rule
    properties InboundNATRulePropertiesResponse
    properties of the inbound nat rule
    name String
    name of the inbound nat rule
    properties Property Map
    properties of the inbound nat rule

    NatGatewayProperties, NatGatewayPropertiesArgs

    Nat Gateway resource properties
    InboundNATRules List<Pulumi.AzureNative.AzureStackHCI.Inputs.InboundNATRule>
    List of inbound NAT rules. InboundNATRules can only be set after the NAT Gateway has been associated with a vnet
    PublicIPAddresses List<Pulumi.AzureNative.AzureStackHCI.Inputs.PublicIPAddressArmReference>
    List of public ip addresses that the gateway can use for NAT.
    InboundNATRules []InboundNATRule
    List of inbound NAT rules. InboundNATRules can only be set after the NAT Gateway has been associated with a vnet
    PublicIPAddresses []PublicIPAddressArmReference
    List of public ip addresses that the gateway can use for NAT.
    inboundNATRules List<InboundNATRule>
    List of inbound NAT rules. InboundNATRules can only be set after the NAT Gateway has been associated with a vnet
    publicIPAddresses List<PublicIPAddressArmReference>
    List of public ip addresses that the gateway can use for NAT.
    inboundNATRules InboundNATRule[]
    List of inbound NAT rules. InboundNATRules can only be set after the NAT Gateway has been associated with a vnet
    publicIPAddresses PublicIPAddressArmReference[]
    List of public ip addresses that the gateway can use for NAT.
    inbound_nat_rules Sequence[InboundNATRule]
    List of inbound NAT rules. InboundNATRules can only be set after the NAT Gateway has been associated with a vnet
    public_ip_addresses Sequence[PublicIPAddressArmReference]
    List of public ip addresses that the gateway can use for NAT.
    inboundNATRules List<Property Map>
    List of inbound NAT rules. InboundNATRules can only be set after the NAT Gateway has been associated with a vnet
    publicIPAddresses List<Property Map>
    List of public ip addresses that the gateway can use for NAT.

    NatGatewayPropertiesResponse, NatGatewayPropertiesResponseArgs

    Nat Gateway resource properties
    ProvisioningState string
    Provisioning state of the public IP
    Status Pulumi.AzureNative.AzureStackHCI.Inputs.NatGatewayStatusResponse
    The observed state of Nat Gateway
    Subnets List<Pulumi.AzureNative.AzureStackHCI.Inputs.VirtualNetworkSubnetArmReferenceResponse>
    List of subnets associated with the nat gateway. These can only be vnet subnets and must be from the same vnet
    InboundNATRules List<Pulumi.AzureNative.AzureStackHCI.Inputs.InboundNATRuleResponse>
    List of inbound NAT rules. InboundNATRules can only be set after the NAT Gateway has been associated with a vnet
    PublicIPAddresses List<Pulumi.AzureNative.AzureStackHCI.Inputs.PublicIPAddressArmReferenceResponse>
    List of public ip addresses that the gateway can use for NAT.
    ProvisioningState string
    Provisioning state of the public IP
    Status NatGatewayStatusResponse
    The observed state of Nat Gateway
    Subnets []VirtualNetworkSubnetArmReferenceResponse
    List of subnets associated with the nat gateway. These can only be vnet subnets and must be from the same vnet
    InboundNATRules []InboundNATRuleResponse
    List of inbound NAT rules. InboundNATRules can only be set after the NAT Gateway has been associated with a vnet
    PublicIPAddresses []PublicIPAddressArmReferenceResponse
    List of public ip addresses that the gateway can use for NAT.
    provisioningState String
    Provisioning state of the public IP
    status NatGatewayStatusResponse
    The observed state of Nat Gateway
    subnets List<VirtualNetworkSubnetArmReferenceResponse>
    List of subnets associated with the nat gateway. These can only be vnet subnets and must be from the same vnet
    inboundNATRules List<InboundNATRuleResponse>
    List of inbound NAT rules. InboundNATRules can only be set after the NAT Gateway has been associated with a vnet
    publicIPAddresses List<PublicIPAddressArmReferenceResponse>
    List of public ip addresses that the gateway can use for NAT.
    provisioningState string
    Provisioning state of the public IP
    status NatGatewayStatusResponse
    The observed state of Nat Gateway
    subnets VirtualNetworkSubnetArmReferenceResponse[]
    List of subnets associated with the nat gateway. These can only be vnet subnets and must be from the same vnet
    inboundNATRules InboundNATRuleResponse[]
    List of inbound NAT rules. InboundNATRules can only be set after the NAT Gateway has been associated with a vnet
    publicIPAddresses PublicIPAddressArmReferenceResponse[]
    List of public ip addresses that the gateway can use for NAT.
    provisioning_state str
    Provisioning state of the public IP
    status NatGatewayStatusResponse
    The observed state of Nat Gateway
    subnets Sequence[VirtualNetworkSubnetArmReferenceResponse]
    List of subnets associated with the nat gateway. These can only be vnet subnets and must be from the same vnet
    inbound_nat_rules Sequence[InboundNATRuleResponse]
    List of inbound NAT rules. InboundNATRules can only be set after the NAT Gateway has been associated with a vnet
    public_ip_addresses Sequence[PublicIPAddressArmReferenceResponse]
    List of public ip addresses that the gateway can use for NAT.
    provisioningState String
    Provisioning state of the public IP
    status Property Map
    The observed state of Nat Gateway
    subnets List<Property Map>
    List of subnets associated with the nat gateway. These can only be vnet subnets and must be from the same vnet
    inboundNATRules List<Property Map>
    List of inbound NAT rules. InboundNATRules can only be set after the NAT Gateway has been associated with a vnet
    publicIPAddresses List<Property Map>
    List of public ip addresses that the gateway can use for NAT.

    NatGatewayStatusProvisioningStatusResponse, NatGatewayStatusProvisioningStatusResponseArgs

    Provisioning status of Nat Gateway
    Status string
    The status of the operation performed on the nat gateway [Succeeded, Failed, InProgress]
    OperationId string
    The ID of the operation performed on the nat gateway
    Status string
    The status of the operation performed on the nat gateway [Succeeded, Failed, InProgress]
    OperationId string
    The ID of the operation performed on the nat gateway
    status String
    The status of the operation performed on the nat gateway [Succeeded, Failed, InProgress]
    operationId String
    The ID of the operation performed on the nat gateway
    status string
    The status of the operation performed on the nat gateway [Succeeded, Failed, InProgress]
    operationId string
    The ID of the operation performed on the nat gateway
    status str
    The status of the operation performed on the nat gateway [Succeeded, Failed, InProgress]
    operation_id str
    The ID of the operation performed on the nat gateway
    status String
    The status of the operation performed on the nat gateway [Succeeded, Failed, InProgress]
    operationId String
    The ID of the operation performed on the nat gateway

    NatGatewayStatusResponse, NatGatewayStatusResponseArgs

    Nat Gateway resource status
    ErrorCode string
    NatGateway provisioning error code
    ErrorMessage string
    Descriptive error message
    ProvisioningStatus Pulumi.AzureNative.AzureStackHCI.Inputs.NatGatewayStatusProvisioningStatusResponse
    NatGateway provisioning status
    ErrorCode string
    NatGateway provisioning error code
    ErrorMessage string
    Descriptive error message
    ProvisioningStatus NatGatewayStatusProvisioningStatusResponse
    NatGateway provisioning status
    errorCode String
    NatGateway provisioning error code
    errorMessage String
    Descriptive error message
    provisioningStatus NatGatewayStatusProvisioningStatusResponse
    NatGateway provisioning status
    errorCode string
    NatGateway provisioning error code
    errorMessage string
    Descriptive error message
    provisioningStatus NatGatewayStatusProvisioningStatusResponse
    NatGateway provisioning status
    error_code str
    NatGateway provisioning error code
    error_message str
    Descriptive error message
    provisioning_status NatGatewayStatusProvisioningStatusResponse
    NatGateway provisioning status
    errorCode String
    NatGateway provisioning error code
    errorMessage String
    Descriptive error message
    provisioningStatus Property Map
    NatGateway provisioning status

    PublicIPAddressArmReference, PublicIPAddressArmReferenceArgs

    The Azure Resource ID of a Public IP resource
    ResourceId string
    The Azure Resource ID of a Public IP resource
    ResourceId string
    The Azure Resource ID of a Public IP resource
    resourceId String
    The Azure Resource ID of a Public IP resource
    resourceId string
    The Azure Resource ID of a Public IP resource
    resource_id str
    The Azure Resource ID of a Public IP resource
    resourceId String
    The Azure Resource ID of a Public IP resource

    PublicIPAddressArmReferenceResponse, PublicIPAddressArmReferenceResponseArgs

    The Azure Resource ID of a Public IP resource
    ResourceId string
    The Azure Resource ID of a Public IP resource
    ResourceId string
    The Azure Resource ID of a Public IP resource
    resourceId String
    The Azure Resource ID of a Public IP resource
    resourceId string
    The Azure Resource ID of a Public IP resource
    resource_id str
    The Azure Resource ID of a Public IP resource
    resourceId String
    The Azure Resource ID of a Public IP resource

    SystemDataResponse, SystemDataResponseArgs

    Metadata pertaining to creation and last modification of the resource.
    CreatedAt string
    The timestamp of resource creation (UTC).
    CreatedBy string
    The identity that created the resource.
    CreatedByType string
    The type of identity that created the resource.
    LastModifiedAt string
    The timestamp of resource last modification (UTC)
    LastModifiedBy string
    The identity that last modified the resource.
    LastModifiedByType string
    The type of identity that last modified the resource.
    CreatedAt string
    The timestamp of resource creation (UTC).
    CreatedBy string
    The identity that created the resource.
    CreatedByType string
    The type of identity that created the resource.
    LastModifiedAt string
    The timestamp of resource last modification (UTC)
    LastModifiedBy string
    The identity that last modified the resource.
    LastModifiedByType string
    The type of identity that last modified the resource.
    createdAt String
    The timestamp of resource creation (UTC).
    createdBy String
    The identity that created the resource.
    createdByType String
    The type of identity that created the resource.
    lastModifiedAt String
    The timestamp of resource last modification (UTC)
    lastModifiedBy String
    The identity that last modified the resource.
    lastModifiedByType String
    The type of identity that last modified the resource.
    createdAt string
    The timestamp of resource creation (UTC).
    createdBy string
    The identity that created the resource.
    createdByType string
    The type of identity that created the resource.
    lastModifiedAt string
    The timestamp of resource last modification (UTC)
    lastModifiedBy string
    The identity that last modified the resource.
    lastModifiedByType string
    The type of identity that last modified the resource.
    created_at str
    The timestamp of resource creation (UTC).
    created_by str
    The identity that created the resource.
    created_by_type str
    The type of identity that created the resource.
    last_modified_at str
    The timestamp of resource last modification (UTC)
    last_modified_by str
    The identity that last modified the resource.
    last_modified_by_type str
    The type of identity that last modified the resource.
    createdAt String
    The timestamp of resource creation (UTC).
    createdBy String
    The identity that created the resource.
    createdByType String
    The type of identity that created the resource.
    lastModifiedAt String
    The timestamp of resource last modification (UTC)
    lastModifiedBy String
    The identity that last modified the resource.
    lastModifiedByType String
    The type of identity that last modified the resource.

    VirtualNetworkSubnetArmReferenceResponse, VirtualNetworkSubnetArmReferenceResponseArgs

    The Azure Resource ID for a Virtual Network subnet
    ResourceId string
    The Azure Resource ID for a Virtual Network subnet.
    ResourceId string
    The Azure Resource ID for a Virtual Network subnet.
    resourceId String
    The Azure Resource ID for a Virtual Network subnet.
    resourceId string
    The Azure Resource ID for a Virtual Network subnet.
    resource_id str
    The Azure Resource ID for a Virtual Network subnet.
    resourceId String
    The Azure Resource ID for a Virtual Network subnet.

    Import

    An existing resource can be imported using its type token, name, and identifier, e.g.

    $ pulumi import azure-native:azurestackhci:NatGateway test-nat-gw /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/natGateways/{natGatewayName} 
    

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

    Package Details

    Repository
    Azure Native pulumi/pulumi-azure-native
    License
    Apache-2.0
    azure-native logo
    This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
    Azure Native v3.13.0 published on Wednesday, Jan 28, 2026 by Pulumi
      Meet Neo: Your AI Platform Teammate