We recommend using Azure Native.
Azure v6.21.0 published on Friday, Mar 7, 2025 by Pulumi
azure.network.getSubnet
Explore with Pulumi AI
Use this data source to access information about an existing Subnet within a Virtual Network.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = azure.network.getSubnet({
    name: "backend",
    virtualNetworkName: "production",
    resourceGroupName: "networking",
});
export const subnetId = example.then(example => example.id);
import pulumi
import pulumi_azure as azure
example = azure.network.get_subnet(name="backend",
    virtual_network_name="production",
    resource_group_name="networking")
pulumi.export("subnetId", example.id)
package main
import (
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := network.LookupSubnet(ctx, &network.LookupSubnetArgs{
			Name:               "backend",
			VirtualNetworkName: "production",
			ResourceGroupName:  "networking",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("subnetId", example.Id)
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() => 
{
    var example = Azure.Network.GetSubnet.Invoke(new()
    {
        Name = "backend",
        VirtualNetworkName = "production",
        ResourceGroupName = "networking",
    });
    return new Dictionary<string, object?>
    {
        ["subnetId"] = example.Apply(getSubnetResult => getSubnetResult.Id),
    };
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.network.NetworkFunctions;
import com.pulumi.azure.network.inputs.GetSubnetArgs;
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) {
        final var example = NetworkFunctions.getSubnet(GetSubnetArgs.builder()
            .name("backend")
            .virtualNetworkName("production")
            .resourceGroupName("networking")
            .build());
        ctx.export("subnetId", example.applyValue(getSubnetResult -> getSubnetResult.id()));
    }
}
variables:
  example:
    fn::invoke:
      function: azure:network:getSubnet
      arguments:
        name: backend
        virtualNetworkName: production
        resourceGroupName: networking
outputs:
  subnetId: ${example.id}
Using getSubnet
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getSubnet(args: GetSubnetArgs, opts?: InvokeOptions): Promise<GetSubnetResult>
function getSubnetOutput(args: GetSubnetOutputArgs, opts?: InvokeOptions): Output<GetSubnetResult>def get_subnet(name: Optional[str] = None,
               resource_group_name: Optional[str] = None,
               virtual_network_name: Optional[str] = None,
               opts: Optional[InvokeOptions] = None) -> GetSubnetResult
def get_subnet_output(name: Optional[pulumi.Input[str]] = None,
               resource_group_name: Optional[pulumi.Input[str]] = None,
               virtual_network_name: Optional[pulumi.Input[str]] = None,
               opts: Optional[InvokeOptions] = None) -> Output[GetSubnetResult]func LookupSubnet(ctx *Context, args *LookupSubnetArgs, opts ...InvokeOption) (*LookupSubnetResult, error)
func LookupSubnetOutput(ctx *Context, args *LookupSubnetOutputArgs, opts ...InvokeOption) LookupSubnetResultOutput> Note: This function is named LookupSubnet in the Go SDK.
public static class GetSubnet 
{
    public static Task<GetSubnetResult> InvokeAsync(GetSubnetArgs args, InvokeOptions? opts = null)
    public static Output<GetSubnetResult> Invoke(GetSubnetInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetSubnetResult> getSubnet(GetSubnetArgs args, InvokeOptions options)
public static Output<GetSubnetResult> getSubnet(GetSubnetArgs args, InvokeOptions options)
fn::invoke:
  function: azure:network/getSubnet:getSubnet
  arguments:
    # arguments dictionaryThe following arguments are supported:
- Name string
- Specifies the name of the Subnet.
- ResourceGroup stringName 
- Specifies the name of the resource group the Virtual Network is located in.
- VirtualNetwork stringName 
- Specifies the name of the Virtual Network this Subnet is located within.
- Name string
- Specifies the name of the Subnet.
- ResourceGroup stringName 
- Specifies the name of the resource group the Virtual Network is located in.
- VirtualNetwork stringName 
- Specifies the name of the Virtual Network this Subnet is located within.
- name String
- Specifies the name of the Subnet.
- resourceGroup StringName 
- Specifies the name of the resource group the Virtual Network is located in.
- virtualNetwork StringName 
- Specifies the name of the Virtual Network this Subnet is located within.
- name string
- Specifies the name of the Subnet.
- resourceGroup stringName 
- Specifies the name of the resource group the Virtual Network is located in.
- virtualNetwork stringName 
- Specifies the name of the Virtual Network this Subnet is located within.
- name str
- Specifies the name of the Subnet.
- resource_group_ strname 
- Specifies the name of the resource group the Virtual Network is located in.
- virtual_network_ strname 
- Specifies the name of the Virtual Network this Subnet is located within.
- name String
- Specifies the name of the Subnet.
- resourceGroup StringName 
- Specifies the name of the resource group the Virtual Network is located in.
- virtualNetwork StringName 
- Specifies the name of the Virtual Network this Subnet is located within.
getSubnet Result
The following output properties are available:
- AddressPrefix string
- AddressPrefixes List<string>
- The address prefixes for the subnet.
- DefaultOutbound boolAccess Enabled 
- Is the default outbound access enabled for the subnet.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- NetworkSecurity stringGroup Id 
- The ID of the Network Security Group associated with the subnet.
- PrivateEndpoint stringNetwork Policies 
- Enable or Disable network policies for the private endpoint on the subnet.
- PrivateLink boolService Network Policies Enabled 
- Enable or Disable network policies for the private link service on the subnet.
- ResourceGroup stringName 
- RouteTable stringId 
- The ID of the Route Table associated with this subnet.
- ServiceEndpoints List<string>
- A list of Service Endpoints within this subnet.
- VirtualNetwork stringName 
- AddressPrefix string
- AddressPrefixes []string
- The address prefixes for the subnet.
- DefaultOutbound boolAccess Enabled 
- Is the default outbound access enabled for the subnet.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- NetworkSecurity stringGroup Id 
- The ID of the Network Security Group associated with the subnet.
- PrivateEndpoint stringNetwork Policies 
- Enable or Disable network policies for the private endpoint on the subnet.
- PrivateLink boolService Network Policies Enabled 
- Enable or Disable network policies for the private link service on the subnet.
- ResourceGroup stringName 
- RouteTable stringId 
- The ID of the Route Table associated with this subnet.
- ServiceEndpoints []string
- A list of Service Endpoints within this subnet.
- VirtualNetwork stringName 
- addressPrefix String
- addressPrefixes List<String>
- The address prefixes for the subnet.
- defaultOutbound BooleanAccess Enabled 
- Is the default outbound access enabled for the subnet.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- networkSecurity StringGroup Id 
- The ID of the Network Security Group associated with the subnet.
- privateEndpoint StringNetwork Policies 
- Enable or Disable network policies for the private endpoint on the subnet.
- privateLink BooleanService Network Policies Enabled 
- Enable or Disable network policies for the private link service on the subnet.
- resourceGroup StringName 
- routeTable StringId 
- The ID of the Route Table associated with this subnet.
- serviceEndpoints List<String>
- A list of Service Endpoints within this subnet.
- virtualNetwork StringName 
- addressPrefix string
- addressPrefixes string[]
- The address prefixes for the subnet.
- defaultOutbound booleanAccess Enabled 
- Is the default outbound access enabled for the subnet.
- id string
- The provider-assigned unique ID for this managed resource.
- name string
- networkSecurity stringGroup Id 
- The ID of the Network Security Group associated with the subnet.
- privateEndpoint stringNetwork Policies 
- Enable or Disable network policies for the private endpoint on the subnet.
- privateLink booleanService Network Policies Enabled 
- Enable or Disable network policies for the private link service on the subnet.
- resourceGroup stringName 
- routeTable stringId 
- The ID of the Route Table associated with this subnet.
- serviceEndpoints string[]
- A list of Service Endpoints within this subnet.
- virtualNetwork stringName 
- address_prefix str
- address_prefixes Sequence[str]
- The address prefixes for the subnet.
- default_outbound_ boolaccess_ enabled 
- Is the default outbound access enabled for the subnet.
- id str
- The provider-assigned unique ID for this managed resource.
- name str
- network_security_ strgroup_ id 
- The ID of the Network Security Group associated with the subnet.
- private_endpoint_ strnetwork_ policies 
- Enable or Disable network policies for the private endpoint on the subnet.
- private_link_ boolservice_ network_ policies_ enabled 
- Enable or Disable network policies for the private link service on the subnet.
- resource_group_ strname 
- route_table_ strid 
- The ID of the Route Table associated with this subnet.
- service_endpoints Sequence[str]
- A list of Service Endpoints within this subnet.
- virtual_network_ strname 
- addressPrefix String
- addressPrefixes List<String>
- The address prefixes for the subnet.
- defaultOutbound BooleanAccess Enabled 
- Is the default outbound access enabled for the subnet.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- networkSecurity StringGroup Id 
- The ID of the Network Security Group associated with the subnet.
- privateEndpoint StringNetwork Policies 
- Enable or Disable network policies for the private endpoint on the subnet.
- privateLink BooleanService Network Policies Enabled 
- Enable or Disable network policies for the private link service on the subnet.
- resourceGroup StringName 
- routeTable StringId 
- The ID of the Route Table associated with this subnet.
- serviceEndpoints List<String>
- A list of Service Endpoints within this subnet.
- virtualNetwork StringName 
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the azurermTerraform Provider.