getManagedZone function
Provides access to a zone's attributes within Google Cloud DNS. For more information see the official documentation and API.
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const envDnsZone = gcp.dns.getManagedZone({
name: "qa-zone",
});
const dns = new gcp.dns.RecordSet("dns", {
name: envDnsZone.then(envDnsZone => `my-address.${envDnsZone.dnsName}`),
type: "TXT",
ttl: 300,
managedZone: envDnsZone.then(envDnsZone => envDnsZone.name),
rrdatas: ["test"],
});
import pulumi
import pulumi_gcp as gcp
env_dns_zone = gcp.dns.get_managed_zone(name="qa-zone")
dns = gcp.dns.RecordSet("dns",
name=f"my-address.{env_dns_zone.dns_name}",
type="TXT",
ttl=300,
managed_zone=env_dns_zone.name,
rrdatas=["test"])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var envDnsZone = Gcp.Dns.GetManagedZone.Invoke(new()
{
Name = "qa-zone",
});
var dns = new Gcp.Dns.RecordSet("dns", new()
{
Name = $"my-address.{envDnsZone.Apply(getManagedZoneResult => getManagedZoneResult.DnsName)}",
Type = "TXT",
Ttl = 300,
ManagedZone = envDnsZone.Apply(getManagedZoneResult => getManagedZoneResult.Name),
Rrdatas = new[]
{
"test",
},
});
});
package main
import (
"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 {
envDnsZone, err := dns.LookupManagedZone(ctx, &dns.LookupManagedZoneArgs{
Name: "qa-zone",
}, nil)
if err != nil {
return err
}
_, err = dns.NewRecordSet(ctx, "dns", &dns.RecordSetArgs{
Name: pulumi.Sprintf("my-address.%v", envDnsZone.DnsName),
Type: pulumi.String("TXT"),
Ttl: pulumi.Int(300),
ManagedZone: pulumi.String(envDnsZone.Name),
Rrdatas: pulumi.StringArray{
pulumi.String("test"),
},
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
data "gcp_dns_getmanagedzone" "envDnsZone" {
name = "qa-zone"
}
resource "gcp_dns_recordset" "dns" {
name ="my-address.${data.gcp_dns_getmanagedzone.envDnsZone.dns_name}"
type = "TXT"
ttl = 300
managed_zone = data.gcp_dns_getmanagedzone.envDnsZone.name
rrdatas = ["test"]
}
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.RecordSet;
import com.pulumi.gcp.dns.RecordSetArgs;
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 envDnsZone = DnsFunctions.getManagedZone(GetManagedZoneArgs.builder()
.name("qa-zone")
.build());
var dns = new RecordSet("dns", RecordSetArgs.builder()
.name(String.format("my-address.%s", envDnsZone.dnsName()))
.type("TXT")
.ttl(300)
.managedZone(envDnsZone.name())
.rrdatas("test")
.build());
}
}
resources:
dns:
type: gcp:dns:RecordSet
properties:
name: my-address.${envDnsZone.dnsName}
type: TXT
ttl: 300
managedZone: ${envDnsZone.name}
rrdatas:
- test
variables:
envDnsZone:
fn::invoke:
function: gcp:dns:getManagedZone
arguments:
name: qa-zone
args Arguments passed to this invoke. Arguments for getManagedZone.
options Invoke options controlling this call.
Implementation
Future<GetManagedZoneResult> getManagedZone(
GetManagedZoneArgs args, {
pulumi.InvokeOptions? options,
}) async {
final deployment = pulumi.Deployment.instance;
final result = await deployment.invoke<Map<String, dynamic>>(
'gcp:dns/getManagedZone:getManagedZone',
args.toMap(),
options: pulumi.toDeploymentInvokeOptions(options),
);
return GetManagedZoneResult.fromMap(result);
}