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 Private 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 = new azure.privatedns.CnameRecord("example", {
name: "test",
zoneName: "test-zone",
resourceGroupName: "test-rg",
});
export const privateDnsCnameRecordId = exampleAzurermPrivateDnsCnameRecord.id;
import pulumi
import pulumi_azure as azure
example = azure.privatedns.CnameRecord("example",
name="test",
zone_name="test-zone",
resource_group_name="test-rg")
pulumi.export("privateDnsCnameRecordId", example_azurerm_private_dns_cname_record["id"])
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/privatedns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := privatedns.NewCnameRecord(ctx, "example", &privatedns.CnameRecordArgs{
Name: pulumi.String("test"),
ZoneName: pulumi.String("test-zone"),
ResourceGroupName: pulumi.String("test-rg"),
})
if err != nil {
return err
}
ctx.Export("privateDnsCnameRecordId", exampleAzurermPrivateDnsCnameRecord.Id)
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.PrivateDns.CnameRecord("example", new()
{
Name = "test",
ZoneName = "test-zone",
ResourceGroupName = "test-rg",
});
return new Dictionary<string, object?>
{
["privateDnsCnameRecordId"] = exampleAzurermPrivateDnsCnameRecord.Id,
};
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.privatedns.CnameRecord;
import com.pulumi.azure.privatedns.CnameRecordArgs;
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) {
var example = new CnameRecord("example", CnameRecordArgs.builder()
.name("test")
.zoneName("test-zone")
.resourceGroupName("test-rg")
.build());
ctx.export("privateDnsCnameRecordId", exampleAzurermPrivateDnsCnameRecord.id());
}
}
resources:
example:
type: azure:privatedns:CnameRecord
properties:
name: test
zoneName: test-zone
resourceGroupName: test-rg
outputs:
privateDnsCnameRecordId: ${exampleAzurermPrivateDnsCnameRecord.id}
API Providers
This data source uses the following Azure API Providers:
Microsoft.Network- 2024-06-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 LookupCnameRecord(ctx *Context, args *LookupCnameRecordArgs, opts ...InvokeOption) (*LookupCnameRecordResult, error)
func LookupCnameRecordOutput(ctx *Context, args *LookupCnameRecordOutputArgs, opts ...InvokeOption) LookupCnameRecordResultOutput> Note: This function is named LookupCnameRecord 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:privatedns/getCnameRecord:getCnameRecord
arguments:
# arguments dictionaryThe following arguments are supported:
- Name string
- The name of the Private DNS CNAME Record.
- Resource
Group stringName - Specifies the resource group where the Private DNS Zone (parent resource) exists.
- Zone
Name string - Specifies the Private DNS Zone where the resource exists.
- Name string
- The name of the Private DNS CNAME Record.
- Resource
Group stringName - Specifies the resource group where the Private DNS Zone (parent resource) exists.
- Zone
Name string - Specifies the Private DNS Zone where the resource exists.
- name String
- The name of the Private DNS CNAME Record.
- resource
Group StringName - Specifies the resource group where the Private DNS Zone (parent resource) exists.
- zone
Name String - Specifies the Private DNS Zone where the resource exists.
- name string
- The name of the Private DNS CNAME Record.
- resource
Group stringName - Specifies the resource group where the Private DNS Zone (parent resource) exists.
- zone
Name string - Specifies the Private DNS Zone where the resource exists.
- name str
- The name of the Private DNS CNAME Record.
- resource_
group_ strname - Specifies the resource group where the Private DNS Zone (parent resource) exists.
- zone_
name str - Specifies the Private DNS Zone where the resource exists.
- name String
- The name of the Private DNS CNAME Record.
- resource
Group StringName - Specifies the resource group where the Private DNS Zone (parent resource) exists.
- zone
Name String - Specifies the Private DNS Zone where the resource exists.
getCnameRecord Result
The following output properties are available:
- Fqdn string
- The FQDN of the Private 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 - Ttl int
- The Time To Live (TTL) of the Private DNS record in seconds.
- Zone
Name string
- Fqdn string
- The FQDN of the Private 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 - Ttl int
- The Time To Live (TTL) of the Private DNS record in seconds.
- Zone
Name string
- fqdn String
- The FQDN of the Private 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 - ttl Integer
- The Time To Live (TTL) of the Private DNS record in seconds.
- zone
Name String
- fqdn string
- The FQDN of the Private 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 - ttl number
- The Time To Live (TTL) of the Private DNS record in seconds.
- zone
Name string
- fqdn str
- The FQDN of the Private 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 - ttl int
- The Time To Live (TTL) of the Private DNS record in seconds.
- zone_
name str
- fqdn String
- The FQDN of the Private 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 - ttl Number
- The Time To Live (TTL) of the Private 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
