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 SRV 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.getSrvRecord({
name: "test",
zoneName: "test-zone",
resourceGroupName: "test-rg",
});
export const dnsSrvRecordId = example.then(example => example.id);
import pulumi
import pulumi_azure as azure
example = azure.dns.get_srv_record(name="test",
zone_name="test-zone",
resource_group_name="test-rg")
pulumi.export("dnsSrvRecordId", 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.LookupSrvRecord(ctx, &dns.LookupSrvRecordArgs{
Name: "test",
ZoneName: "test-zone",
ResourceGroupName: "test-rg",
}, nil)
if err != nil {
return err
}
ctx.Export("dnsSrvRecordId", 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.GetSrvRecord.Invoke(new()
{
Name = "test",
ZoneName = "test-zone",
ResourceGroupName = "test-rg",
});
return new Dictionary<string, object?>
{
["dnsSrvRecordId"] = example.Apply(getSrvRecordResult => getSrvRecordResult.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.GetSrvRecordArgs;
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.getSrvRecord(GetSrvRecordArgs.builder()
.name("test")
.zoneName("test-zone")
.resourceGroupName("test-rg")
.build());
ctx.export("dnsSrvRecordId", example.id());
}
}
variables:
example:
fn::invoke:
function: azure:dns:getSrvRecord
arguments:
name: test
zoneName: test-zone
resourceGroupName: test-rg
outputs:
dnsSrvRecordId: ${example.id}
API Providers
This data source uses the following Azure API Providers:
Microsoft.Network- 2018-05-01
Using getSrvRecord
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 getSrvRecord(args: GetSrvRecordArgs, opts?: InvokeOptions): Promise<GetSrvRecordResult>
function getSrvRecordOutput(args: GetSrvRecordOutputArgs, opts?: InvokeOptions): Output<GetSrvRecordResult>def get_srv_record(name: Optional[str] = None,
resource_group_name: Optional[str] = None,
zone_name: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetSrvRecordResult
def get_srv_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[GetSrvRecordResult]func LookupSrvRecord(ctx *Context, args *LookupSrvRecordArgs, opts ...InvokeOption) (*LookupSrvRecordResult, error)
func LookupSrvRecordOutput(ctx *Context, args *LookupSrvRecordOutputArgs, opts ...InvokeOption) LookupSrvRecordResultOutput> Note: This function is named LookupSrvRecord in the Go SDK.
public static class GetSrvRecord
{
public static Task<GetSrvRecordResult> InvokeAsync(GetSrvRecordArgs args, InvokeOptions? opts = null)
public static Output<GetSrvRecordResult> Invoke(GetSrvRecordInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetSrvRecordResult> getSrvRecord(GetSrvRecordArgs args, InvokeOptions options)
public static Output<GetSrvRecordResult> getSrvRecord(GetSrvRecordArgs args, InvokeOptions options)
fn::invoke:
function: azure:dns/getSrvRecord:getSrvRecord
arguments:
# arguments dictionaryThe following arguments are supported:
- Name string
- The name of the DNS SRV 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 SRV 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 SRV 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 SRV 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 SRV 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 SRV 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.
getSrvRecord Result
The following output properties are available:
- Fqdn string
- The FQDN of the DNS SRV Record.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Records
List<Get
Srv Record Record> - A list of values that make up the SRV record. Each
recordblock supports fields documented below. - 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 SRV Record.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Records
[]Get
Srv Record Record - A list of values that make up the SRV record. Each
recordblock supports fields documented below. - 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 SRV Record.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- records
List<Get
Srv Record Record> - A list of values that make up the SRV record. Each
recordblock supports fields documented below. - 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 SRV Record.
- id string
- The provider-assigned unique ID for this managed resource.
- name string
- records
Get
Srv Record Record[] - A list of values that make up the SRV record. Each
recordblock supports fields documented below. - 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 SRV Record.
- id str
- The provider-assigned unique ID for this managed resource.
- name str
- records
Sequence[Get
Srv Record Record] - A list of values that make up the SRV record. Each
recordblock supports fields documented below. - 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 SRV Record.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- records List<Property Map>
- A list of values that make up the SRV record. Each
recordblock supports fields documented below. - 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
Supporting Types
GetSrvRecordRecord
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
