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 CNAME 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.getCnameRecord({
name: "test",
zoneName: "test-zone",
resourceGroupName: "test-rg",
});
export const dnsCnameRecordId = example.then(example => example.id);
import pulumi
import pulumi_azure as azure
example = azure.dns.get_cname_record(name="test",
zone_name="test-zone",
resource_group_name="test-rg")
pulumi.export("dnsCnameRecordId", 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.GetCnameRecord(ctx, &dns.GetCnameRecordArgs{
Name: "test",
ZoneName: "test-zone",
ResourceGroupName: "test-rg",
}, nil)
if err != nil {
return err
}
ctx.Export("dnsCnameRecordId", 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.GetCnameRecord.Invoke(new()
{
Name = "test",
ZoneName = "test-zone",
ResourceGroupName = "test-rg",
});
return new Dictionary<string, object?>
{
["dnsCnameRecordId"] = example.Apply(getCnameRecordResult => getCnameRecordResult.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.GetCnameRecordArgs;
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.getCnameRecord(GetCnameRecordArgs.builder()
.name("test")
.zoneName("test-zone")
.resourceGroupName("test-rg")
.build());
ctx.export("dnsCnameRecordId", example.id());
}
}
variables:
example:
fn::invoke:
function: azure:dns:getCnameRecord
arguments:
name: test
zoneName: test-zone
resourceGroupName: test-rg
outputs:
dnsCnameRecordId: ${example.id}
API Providers
This data source uses the following Azure API Providers:
Microsoft.Network- 2018-05-01
Using getCnameRecord
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 getCnameRecord(args: GetCnameRecordArgs, opts?: InvokeOptions): Promise<GetCnameRecordResult>
function getCnameRecordOutput(args: GetCnameRecordOutputArgs, opts?: InvokeOptions): Output<GetCnameRecordResult>def get_cname_record(name: Optional[str] = None,
resource_group_name: Optional[str] = None,
zone_name: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetCnameRecordResult
def get_cname_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[GetCnameRecordResult]func GetCnameRecord(ctx *Context, args *GetCnameRecordArgs, opts ...InvokeOption) (*GetCnameRecordResult, error)
func GetCnameRecordOutput(ctx *Context, args *GetCnameRecordOutputArgs, opts ...InvokeOption) GetCnameRecordResultOutput> Note: This function is named GetCnameRecord in the Go SDK.
public static class GetCnameRecord
{
public static Task<GetCnameRecordResult> InvokeAsync(GetCnameRecordArgs args, InvokeOptions? opts = null)
public static Output<GetCnameRecordResult> Invoke(GetCnameRecordInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetCnameRecordResult> getCnameRecord(GetCnameRecordArgs args, InvokeOptions options)
public static Output<GetCnameRecordResult> getCnameRecord(GetCnameRecordArgs args, InvokeOptions options)
fn::invoke:
function: azure:dns/getCnameRecord:getCnameRecord
arguments:
# arguments dictionaryThe following arguments are supported:
- Name string
- The name of the DNS CNAME 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 CNAME 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 CNAME 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 CNAME 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 CNAME 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 CNAME 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.
getCnameRecord Result
The following output properties are available:
- Fqdn string
- The FQDN of the DNS CName Record.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Record string
- The target of the CNAME.
- Resource
Group stringName - Dictionary<string, string>
- A mapping of tags assigned to the resource.
- Target
Resource stringId - The Azure resource id of the target object from where the dns resource value is taken.
- Ttl int
- The Time To Live (TTL) of the DNS record in seconds.
- Zone
Name string
- Fqdn string
- The FQDN of the DNS CName Record.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Record string
- The target of the CNAME.
- Resource
Group stringName - map[string]string
- A mapping of tags assigned to the resource.
- Target
Resource stringId - The Azure resource id of the target object from where the dns resource value is taken.
- Ttl int
- The Time To Live (TTL) of the DNS record in seconds.
- Zone
Name string
- fqdn String
- The FQDN of the DNS CName Record.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- record String
- The target of the CNAME.
- resource
Group StringName - Map<String,String>
- A mapping of tags assigned to the resource.
- target
Resource StringId - The Azure resource id of the target object from where the dns resource value is taken.
- ttl Integer
- The Time To Live (TTL) of the DNS record in seconds.
- zone
Name String
- fqdn string
- The FQDN of the DNS CName Record.
- id string
- The provider-assigned unique ID for this managed resource.
- name string
- record string
- The target of the CNAME.
- resource
Group stringName - {[key: string]: string}
- A mapping of tags assigned to the resource.
- target
Resource stringId - The Azure resource id of the target object from where the dns resource value is taken.
- ttl number
- The Time To Live (TTL) of the DNS record in seconds.
- zone
Name string
- fqdn str
- The FQDN of the DNS CName Record.
- id str
- The provider-assigned unique ID for this managed resource.
- name str
- record str
- The target of the CNAME.
- resource_
group_ strname - Mapping[str, str]
- A mapping of tags assigned to the resource.
- target_
resource_ strid - The Azure resource id of the target object from where the dns resource value is taken.
- ttl int
- The Time To Live (TTL) of the DNS record in seconds.
- zone_
name str
- fqdn String
- The FQDN of the DNS CName Record.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- record String
- The target of the CNAME.
- resource
Group StringName - Map<String>
- A mapping of tags assigned to the resource.
- target
Resource StringId - The Azure resource id of the target object from where the dns resource value is taken.
- 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
