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 SOA 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.getSoaRecord({
zoneName: "test-zone",
resourceGroupName: "test-rg",
});
export const dnsSoaRecordId = example.then(example => example.id);
import pulumi
import pulumi_azure as azure
example = azure.dns.get_soa_record(zone_name="test-zone",
resource_group_name="test-rg")
pulumi.export("dnsSoaRecordId", 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.GetSoaRecord(ctx, &dns.GetSoaRecordArgs{
ZoneName: "test-zone",
ResourceGroupName: "test-rg",
}, nil)
if err != nil {
return err
}
ctx.Export("dnsSoaRecordId", 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.GetSoaRecord.Invoke(new()
{
ZoneName = "test-zone",
ResourceGroupName = "test-rg",
});
return new Dictionary<string, object?>
{
["dnsSoaRecordId"] = example.Apply(getSoaRecordResult => getSoaRecordResult.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.GetSoaRecordArgs;
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.getSoaRecord(GetSoaRecordArgs.builder()
.zoneName("test-zone")
.resourceGroupName("test-rg")
.build());
ctx.export("dnsSoaRecordId", example.id());
}
}
variables:
example:
fn::invoke:
function: azure:dns:getSoaRecord
arguments:
zoneName: test-zone
resourceGroupName: test-rg
outputs:
dnsSoaRecordId: ${example.id}
API Providers
This data source uses the following Azure API Providers:
Microsoft.Network- 2018-05-01
Using getSoaRecord
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 getSoaRecord(args: GetSoaRecordArgs, opts?: InvokeOptions): Promise<GetSoaRecordResult>
function getSoaRecordOutput(args: GetSoaRecordOutputArgs, opts?: InvokeOptions): Output<GetSoaRecordResult>def get_soa_record(name: Optional[str] = None,
resource_group_name: Optional[str] = None,
zone_name: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetSoaRecordResult
def get_soa_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[GetSoaRecordResult]func GetSoaRecord(ctx *Context, args *GetSoaRecordArgs, opts ...InvokeOption) (*GetSoaRecordResult, error)
func GetSoaRecordOutput(ctx *Context, args *GetSoaRecordOutputArgs, opts ...InvokeOption) GetSoaRecordResultOutput> Note: This function is named GetSoaRecord in the Go SDK.
public static class GetSoaRecord
{
public static Task<GetSoaRecordResult> InvokeAsync(GetSoaRecordArgs args, InvokeOptions? opts = null)
public static Output<GetSoaRecordResult> Invoke(GetSoaRecordInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetSoaRecordResult> getSoaRecord(GetSoaRecordArgs args, InvokeOptions options)
public static Output<GetSoaRecordResult> getSoaRecord(GetSoaRecordArgs args, InvokeOptions options)
fn::invoke:
function: azure:dns/getSoaRecord:getSoaRecord
arguments:
# arguments dictionaryThe following arguments are supported:
- 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 SOA 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 SOA 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 SOA 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 SOA 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 str
- The name of the DNS SOA 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 SOA Record.
getSoaRecord Result
The following output properties are available:
- Email string
- The email contact for the SOA record.
- Expire
Time int - The expire time for the SOA record.
- Fqdn string
- The FQDN of the DNS SOA Record.
- Host
Name string - The domain name of the authoritative name server for the SOA record.
- Id string
- The provider-assigned unique ID for this managed resource.
- Minimum
Ttl int - The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration.
- Refresh
Time int - The refresh time for the SOA record.
- Resource
Group stringName - Retry
Time int - The retry time for the SOA record.
- Serial
Number int - The serial number for the SOA record.
- 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 - Name string
- The name of the DNS SOA Record.
- Email string
- The email contact for the SOA record.
- Expire
Time int - The expire time for the SOA record.
- Fqdn string
- The FQDN of the DNS SOA Record.
- Host
Name string - The domain name of the authoritative name server for the SOA record.
- Id string
- The provider-assigned unique ID for this managed resource.
- Minimum
Ttl int - The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration.
- Refresh
Time int - The refresh time for the SOA record.
- Resource
Group stringName - Retry
Time int - The retry time for the SOA record.
- Serial
Number int - The serial number for the SOA record.
- 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 - Name string
- The name of the DNS SOA Record.
- email String
- The email contact for the SOA record.
- expire
Time Integer - The expire time for the SOA record.
- fqdn String
- The FQDN of the DNS SOA Record.
- host
Name String - The domain name of the authoritative name server for the SOA record.
- id String
- The provider-assigned unique ID for this managed resource.
- minimum
Ttl Integer - The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration.
- refresh
Time Integer - The refresh time for the SOA record.
- resource
Group StringName - retry
Time Integer - The retry time for the SOA record.
- serial
Number Integer - The serial number for the SOA record.
- 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 - name String
- The name of the DNS SOA Record.
- email string
- The email contact for the SOA record.
- expire
Time number - The expire time for the SOA record.
- fqdn string
- The FQDN of the DNS SOA Record.
- host
Name string - The domain name of the authoritative name server for the SOA record.
- id string
- The provider-assigned unique ID for this managed resource.
- minimum
Ttl number - The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration.
- refresh
Time number - The refresh time for the SOA record.
- resource
Group stringName - retry
Time number - The retry time for the SOA record.
- serial
Number number - The serial number for the SOA record.
- {[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 - name string
- The name of the DNS SOA Record.
- email str
- The email contact for the SOA record.
- expire_
time int - The expire time for the SOA record.
- fqdn str
- The FQDN of the DNS SOA Record.
- host_
name str - The domain name of the authoritative name server for the SOA record.
- id str
- The provider-assigned unique ID for this managed resource.
- minimum_
ttl int - The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration.
- refresh_
time int - The refresh time for the SOA record.
- resource_
group_ strname - retry_
time int - The retry time for the SOA record.
- serial_
number int - The serial number for the SOA record.
- 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 - name str
- The name of the DNS SOA Record.
- email String
- The email contact for the SOA record.
- expire
Time Number - The expire time for the SOA record.
- fqdn String
- The FQDN of the DNS SOA Record.
- host
Name String - The domain name of the authoritative name server for the SOA record.
- id String
- The provider-assigned unique ID for this managed resource.
- minimum
Ttl Number - The minimum Time To Live for the SOA record. By convention, it is used to determine the negative caching duration.
- refresh
Time Number - The refresh time for the SOA record.
- resource
Group StringName - retry
Time Number - The retry time for the SOA record.
- serial
Number Number - The serial number for the SOA record.
- 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 - name String
- The name of the DNS SOA Record.
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
