We recommend using Azure Native.
published on Monday, Feb 23, 2026 by Pulumi
We recommend using Azure Native.
published on Monday, Feb 23, 2026 by Pulumi
Use this data source to access information about an existing DNS NS Record within Azure DNS.
Note: The Azure DNS API has a throttle limit of 500 read (GET) operations per 5 minutes - whilst the default read timeouts will work for most cases - in larger configurations you may need to set a larger read timeout then the default 5min. Although, we’d generally recommend that you split the resources out into smaller Terraform configurations to avoid the problem entirely.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = azure.dns.getNsRecord({
name: "test",
zoneName: "test-zone",
resourceGroupName: "test-rg",
});
export const dnsNsRecordId = example.then(example => example.id);
import pulumi
import pulumi_azure as azure
example = azure.dns.get_ns_record(name="test",
zone_name="test-zone",
resource_group_name="test-rg")
pulumi.export("dnsNsRecordId", example.id)
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := dns.LookupNsRecord(ctx, &dns.LookupNsRecordArgs{
Name: "test",
ZoneName: "test-zone",
ResourceGroupName: "test-rg",
}, nil)
if err != nil {
return err
}
ctx.Export("dnsNsRecordId", example.Id)
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = Azure.Dns.GetNsRecord.Invoke(new()
{
Name = "test",
ZoneName = "test-zone",
ResourceGroupName = "test-rg",
});
return new Dictionary<string, object?>
{
["dnsNsRecordId"] = example.Apply(getNsRecordResult => getNsRecordResult.Id),
};
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.dns.DnsFunctions;
import com.pulumi.azure.dns.inputs.GetNsRecordArgs;
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 = DnsFunctions.getNsRecord(GetNsRecordArgs.builder()
.name("test")
.zoneName("test-zone")
.resourceGroupName("test-rg")
.build());
ctx.export("dnsNsRecordId", example.id());
}
}
variables:
example:
fn::invoke:
function: azure:dns:getNsRecord
arguments:
name: test
zoneName: test-zone
resourceGroupName: test-rg
outputs:
dnsNsRecordId: ${example.id}
API Providers
This data source uses the following Azure API Providers:
Microsoft.Network- 2018-05-01
Using getNsRecord
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 getNsRecord(args: GetNsRecordArgs, opts?: InvokeOptions): Promise<GetNsRecordResult>
function getNsRecordOutput(args: GetNsRecordOutputArgs, opts?: InvokeOptions): Output<GetNsRecordResult>def get_ns_record(name: Optional[str] = None,
resource_group_name: Optional[str] = None,
zone_name: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetNsRecordResult
def get_ns_record_output(name: Optional[pulumi.Input[str]] = None,
resource_group_name: Optional[pulumi.Input[str]] = None,
zone_name: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetNsRecordResult]func LookupNsRecord(ctx *Context, args *LookupNsRecordArgs, opts ...InvokeOption) (*LookupNsRecordResult, error)
func LookupNsRecordOutput(ctx *Context, args *LookupNsRecordOutputArgs, opts ...InvokeOption) LookupNsRecordResultOutput> Note: This function is named LookupNsRecord in the Go SDK.
public static class GetNsRecord
{
public static Task<GetNsRecordResult> InvokeAsync(GetNsRecordArgs args, InvokeOptions? opts = null)
public static Output<GetNsRecordResult> Invoke(GetNsRecordInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetNsRecordResult> getNsRecord(GetNsRecordArgs args, InvokeOptions options)
public static Output<GetNsRecordResult> getNsRecord(GetNsRecordArgs args, InvokeOptions options)
fn::invoke:
function: azure:dns/getNsRecord:getNsRecord
arguments:
# arguments dictionaryThe following arguments are supported:
- Name string
- The name of the DNS NS Record.
- Resource
Group stringName - Specifies the resource group where the DNS Zone (parent resource) exists.
- Zone
Name string - Specifies the DNS Zone where the resource exists.
- Name string
- The name of the DNS NS Record.
- Resource
Group stringName - Specifies the resource group where the DNS Zone (parent resource) exists.
- Zone
Name string - Specifies the DNS Zone where the resource exists.
- name String
- The name of the DNS NS Record.
- resource
Group StringName - Specifies the resource group where the DNS Zone (parent resource) exists.
- zone
Name String - Specifies the DNS Zone where the resource exists.
- name string
- The name of the DNS NS Record.
- resource
Group stringName - Specifies the resource group where the DNS Zone (parent resource) exists.
- zone
Name string - Specifies the DNS Zone where the resource exists.
- name str
- The name of the DNS NS Record.
- resource_
group_ strname - Specifies the resource group where the DNS Zone (parent resource) exists.
- zone_
name str - Specifies the DNS Zone where the resource exists.
- name String
- The name of the DNS NS Record.
- resource
Group StringName - Specifies the resource group where the DNS Zone (parent resource) exists.
- zone
Name String - Specifies the DNS Zone where the resource exists.
getNsRecord Result
The following output properties are available:
- Fqdn string
- The FQDN of the DNS NS Record.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Records List<string>
- A list of values that make up the NS record.
- Resource
Group stringName - Dictionary<string, string>
- A mapping of tags assigned to the resource.
- Ttl int
- The Time To Live (TTL) of the DNS record in seconds.
- Zone
Name string
- Fqdn string
- The FQDN of the DNS NS Record.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Records []string
- A list of values that make up the NS record.
- Resource
Group stringName - map[string]string
- A mapping of tags assigned to the resource.
- Ttl int
- The Time To Live (TTL) of the DNS record in seconds.
- Zone
Name string
- fqdn String
- The FQDN of the DNS NS Record.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- records List<String>
- A list of values that make up the NS record.
- resource
Group StringName - Map<String,String>
- A mapping of tags assigned to the resource.
- ttl Integer
- The Time To Live (TTL) of the DNS record in seconds.
- zone
Name String
- fqdn string
- The FQDN of the DNS NS Record.
- id string
- The provider-assigned unique ID for this managed resource.
- name string
- records string[]
- A list of values that make up the NS record.
- resource
Group stringName - {[key: string]: string}
- A mapping of tags assigned to the resource.
- ttl number
- The Time To Live (TTL) of the DNS record in seconds.
- zone
Name string
- fqdn str
- The FQDN of the DNS NS Record.
- id str
- The provider-assigned unique ID for this managed resource.
- name str
- records Sequence[str]
- A list of values that make up the NS record.
- resource_
group_ strname - Mapping[str, str]
- A mapping of tags assigned to the resource.
- ttl int
- The Time To Live (TTL) of the DNS record in seconds.
- zone_
name str
- fqdn String
- The FQDN of the DNS NS Record.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- records List<String>
- A list of values that make up the NS record.
- resource
Group StringName - Map<String>
- A mapping of tags assigned to the resource.
- ttl Number
- The Time To Live (TTL) of the DNS record in seconds.
- zone
Name String
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
azurermTerraform Provider.
We recommend using Azure Native.
published on Monday, Feb 23, 2026 by Pulumi
