Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi
gcp.dns.getManagedZone
Explore with Pulumi AI
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"])
package main
import (
"fmt"
"github.com/pulumi/pulumi-gcp/sdk/v8/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
})
}
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 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.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 envDnsZone = DnsFunctions.getManagedZone(GetManagedZoneArgs.builder()
.name("qa-zone")
.build());
var dns = new RecordSet("dns", RecordSetArgs.builder()
.name(String.format("my-address.%s", envDnsZone.applyValue(getManagedZoneResult -> getManagedZoneResult.dnsName())))
.type("TXT")
.ttl(300)
.managedZone(envDnsZone.applyValue(getManagedZoneResult -> getManagedZoneResult.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
Using getManagedZone
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 getManagedZone(args: GetManagedZoneArgs, opts?: InvokeOptions): Promise<GetManagedZoneResult>
function getManagedZoneOutput(args: GetManagedZoneOutputArgs, opts?: InvokeOptions): Output<GetManagedZoneResult>
def get_managed_zone(name: Optional[str] = None,
project: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetManagedZoneResult
def get_managed_zone_output(name: Optional[pulumi.Input[str]] = None,
project: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetManagedZoneResult]
func LookupManagedZone(ctx *Context, args *LookupManagedZoneArgs, opts ...InvokeOption) (*LookupManagedZoneResult, error)
func LookupManagedZoneOutput(ctx *Context, args *LookupManagedZoneOutputArgs, opts ...InvokeOption) LookupManagedZoneResultOutput
> Note: This function is named LookupManagedZone
in the Go SDK.
public static class GetManagedZone
{
public static Task<GetManagedZoneResult> InvokeAsync(GetManagedZoneArgs args, InvokeOptions? opts = null)
public static Output<GetManagedZoneResult> Invoke(GetManagedZoneInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetManagedZoneResult> getManagedZone(GetManagedZoneArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
function: gcp:dns/getManagedZone:getManagedZone
arguments:
# arguments dictionary
The following arguments are supported:
getManagedZone Result
The following output properties are available:
- Description string
- A textual description field.
- Dns
Name string - The fully qualified DNS name of this zone, e.g.
example.io.
. - Id string
- Managed
Zone stringId - Name string
- Name
Servers List<string> - The list of nameservers that will be authoritative for this domain. Use NS records to redirect from your DNS provider to these names, thus making Google Cloud DNS authoritative for this zone.
- Visibility string
- The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
- Project string
- Description string
- A textual description field.
- Dns
Name string - The fully qualified DNS name of this zone, e.g.
example.io.
. - Id string
- Managed
Zone stringId - Name string
- Name
Servers []string - The list of nameservers that will be authoritative for this domain. Use NS records to redirect from your DNS provider to these names, thus making Google Cloud DNS authoritative for this zone.
- Visibility string
- The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
- Project string
- description String
- A textual description field.
- dns
Name String - The fully qualified DNS name of this zone, e.g.
example.io.
. - id String
- managed
Zone StringId - name String
- name
Servers List<String> - The list of nameservers that will be authoritative for this domain. Use NS records to redirect from your DNS provider to these names, thus making Google Cloud DNS authoritative for this zone.
- visibility String
- The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
- project String
- description string
- A textual description field.
- dns
Name string - The fully qualified DNS name of this zone, e.g.
example.io.
. - id string
- managed
Zone stringId - name string
- name
Servers string[] - The list of nameservers that will be authoritative for this domain. Use NS records to redirect from your DNS provider to these names, thus making Google Cloud DNS authoritative for this zone.
- visibility string
- The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
- project string
- description str
- A textual description field.
- dns_
name str - The fully qualified DNS name of this zone, e.g.
example.io.
. - id str
- managed_
zone_ strid - name str
- name_
servers Sequence[str] - The list of nameservers that will be authoritative for this domain. Use NS records to redirect from your DNS provider to these names, thus making Google Cloud DNS authoritative for this zone.
- visibility str
- The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
- project str
- description String
- A textual description field.
- dns
Name String - The fully qualified DNS name of this zone, e.g.
example.io.
. - id String
- managed
Zone StringId - name String
- name
Servers List<String> - The list of nameservers that will be authoritative for this domain. Use NS records to redirect from your DNS provider to these names, thus making Google Cloud DNS authoritative for this zone.
- visibility String
- The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
- project String
Package Details
- Repository
- Google Cloud (GCP) Classic pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
google-beta
Terraform Provider.