getRecordSet function

Future<GetRecordSetResult> getRecordSet(
  1. GetRecordSetArgs args, {
  2. InvokeOptions? options,
})

Get a DNS record set within Google Cloud DNS For more information see the official documentation and API

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const sample = gcp.dns.getManagedZone({
    name: "sample-zone",
});
const rs = sample.then(sample => gcp.dns.getRecordSet({
    managedZone: sample.name,
    name: `my-record.${sample.dnsName}`,
    type: "A",
}));
import pulumi
import pulumi_gcp as gcp

sample = gcp.dns.get_managed_zone(name="sample-zone")
rs = gcp.dns.get_record_set(managed_zone=sample.name,
    name=f"my-record.{sample.dns_name}",
    type="A")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() =>
{
    var sample = Gcp.Dns.GetManagedZone.Invoke(new()
    {
        Name = "sample-zone",
    });

    var rs = Gcp.Dns.GetRecordSet.Invoke(new()
    {
        ManagedZone = sample.Apply(getManagedZoneResult => getManagedZoneResult.Name),
        Name = $"my-record.{sample.Apply(getManagedZoneResult => getManagedZoneResult.DnsName)}",
        Type = "A",
    });

});
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/dns"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sample, err := dns.LookupManagedZone(ctx, &dns.LookupManagedZoneArgs{
			Name: "sample-zone",
		}, nil)
		if err != nil {
			return err
		}
		_, err = dns.LookupRecordSet(ctx, &dns.LookupRecordSetArgs{
			ManagedZone: sample.Name,
			Name:        fmt.Sprintf("my-record.%v", sample.DnsName),
			Type:        "A",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
pulumi {
  required_providers {
    gcp = {
      source = "pulumi/gcp"
    }
  }
}

data "gcp_dns_getmanagedzone" "sample" {
  name = "sample-zone"
}
data "gcp_dns_getrecordset" "rs" {
  managed_zone = data.gcp_dns_getmanagedzone.sample.name
  name         ="my-record.${data.gcp_dns_getmanagedzone.sample.dns_name}"
  type         = "A"
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.dns.DnsFunctions;
import com.pulumi.gcp.dns.inputs.GetManagedZoneArgs;
import com.pulumi.gcp.dns.inputs.GetRecordSetArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 sample = DnsFunctions.getManagedZone(GetManagedZoneArgs.builder()
            .name("sample-zone")
            .build());

        final var rs = DnsFunctions.getRecordSet(GetRecordSetArgs.builder()
            .managedZone(sample.name())
            .name(String.format("my-record.%s", sample.dnsName()))
            .type("A")
            .build());

    }
}
variables:
  sample:
    fn::invoke:
      function: gcp:dns:getManagedZone
      arguments:
        name: sample-zone
  rs:
    fn::invoke:
      function: gcp:dns:getRecordSet
      arguments:
        managedZone: ${sample.name}
        name: my-record.${sample.dnsName}
        type: A

args Arguments passed to this invoke. Arguments for getRecordSet. options Invoke options controlling this call.

Implementation

Future<GetRecordSetResult> getRecordSet(
  GetRecordSetArgs args, {
  pulumi.InvokeOptions? options,
}) async {
  final deployment = pulumi.Deployment.instance;
  final result = await deployment.invoke<Map<String, dynamic>>(
    'gcp:dns/getRecordSet:getRecordSet',
    args.toMap(),
    options: pulumi.toDeploymentInvokeOptions(options),
  );
  return GetRecordSetResult.fromMap(result);
}