Dns Authorization
DnsAuthorization represents a HTTP-reachable backend for a DnsAuthorization.
Example Usage
Certificate Manager Dns Authorization Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.certificatemanager.DnsAuthorization("default", {
name: "dns-auth",
location: "global",
description: "The default dns",
domain: "subdomain.hashicorptest.com",
});
export const recordNameToInsert = _default.dnsResourceRecords.apply(dnsResourceRecords => dnsResourceRecords[0].name);
export const recordTypeToInsert = _default.dnsResourceRecords.apply(dnsResourceRecords => dnsResourceRecords[0].type);
export const recordDataToInsert = _default.dnsResourceRecords.apply(dnsResourceRecords => dnsResourceRecords[0].data);
import pulumi
import pulumi_gcp as gcp
default = gcp.certificatemanager.DnsAuthorization("default",
name="dns-auth",
location="global",
description="The default dns",
domain="subdomain.hashicorptest.com")
pulumi.export("recordNameToInsert", default.dns_resource_records[0].name)
pulumi.export("recordTypeToInsert", default.dns_resource_records[0].type)
pulumi.export("recordDataToInsert", default.dns_resource_records[0].data)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var @default = new Gcp.CertificateManager.DnsAuthorization("default", new()
{
Name = "dns-auth",
Location = "global",
Description = "The default dns",
Domain = "subdomain.hashicorptest.com",
});
return new Dictionary<string, object?>
{
["recordNameToInsert"] = @default.DnsResourceRecords.Apply(dnsResourceRecords => dnsResourceRecords[0].Name),
["recordTypeToInsert"] = @default.DnsResourceRecords.Apply(dnsResourceRecords => dnsResourceRecords[0].Type),
["recordDataToInsert"] = @default.DnsResourceRecords.Apply(dnsResourceRecords => dnsResourceRecords[0].Data),
};
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/certificatemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := certificatemanager.NewDnsAuthorization(ctx, "default", &certificatemanager.DnsAuthorizationArgs{
Name: pulumi.String("dns-auth"),
Location: pulumi.String("global"),
Description: pulumi.String("The default dns"),
Domain: pulumi.String("subdomain.hashicorptest.com"),
})
if err != nil {
return err
}
ctx.Export("recordNameToInsert", _default.DnsResourceRecords.ApplyT(func(dnsResourceRecords []certificatemanager.DnsAuthorizationDnsResourceRecord) (*string, error) {
return &dnsResourceRecords[0].Name, nil
}).(pulumi.StringPtrOutput))
ctx.Export("recordTypeToInsert", _default.DnsResourceRecords.ApplyT(func(dnsResourceRecords []certificatemanager.DnsAuthorizationDnsResourceRecord) (*string, error) {
return &dnsResourceRecords[0].Type, nil
}).(pulumi.StringPtrOutput))
ctx.Export("recordDataToInsert", _default.DnsResourceRecords.ApplyT(func(dnsResourceRecords []certificatemanager.DnsAuthorizationDnsResourceRecord) (*string, error) {
return &dnsResourceRecords[0].Data, nil
}).(pulumi.StringPtrOutput))
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.certificatemanager.DnsAuthorization;
import com.pulumi.gcp.certificatemanager.DnsAuthorizationArgs;
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 default_ = new DnsAuthorization("default", DnsAuthorizationArgs.builder()
.name("dns-auth")
.location("global")
.description("The default dns")
.domain("subdomain.hashicorptest.com")
.build());
ctx.export("recordNameToInsert", default_.dnsResourceRecords().applyValue(_dnsResourceRecords -> _dnsResourceRecords[0].name()));
ctx.export("recordTypeToInsert", default_.dnsResourceRecords().applyValue(_dnsResourceRecords -> _dnsResourceRecords[0].type()));
ctx.export("recordDataToInsert", default_.dnsResourceRecords().applyValue(_dnsResourceRecords -> _dnsResourceRecords[0].data()));
}
}
resources:
default:
type: gcp:certificatemanager:DnsAuthorization
properties:
name: dns-auth
location: global
description: The default dns
domain: subdomain.hashicorptest.com
outputs:
recordNameToInsert: ${default.dnsResourceRecords[0].name}
recordTypeToInsert: ${default.dnsResourceRecords[0].type}
recordDataToInsert: ${default.dnsResourceRecords[0].data}
Certificate Manager Dns Authorization Regional
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.certificatemanager.DnsAuthorization("default", {
name: "dns-auth",
location: "us-central1",
description: "reginal dns",
type: "PER_PROJECT_RECORD",
domain: "subdomain.hashicorptest.com",
});
import pulumi
import pulumi_gcp as gcp
default = gcp.certificatemanager.DnsAuthorization("default",
name="dns-auth",
location="us-central1",
description="reginal dns",
type="PER_PROJECT_RECORD",
domain="subdomain.hashicorptest.com")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var @default = new Gcp.CertificateManager.DnsAuthorization("default", new()
{
Name = "dns-auth",
Location = "us-central1",
Description = "reginal dns",
Type = "PER_PROJECT_RECORD",
Domain = "subdomain.hashicorptest.com",
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/certificatemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := certificatemanager.NewDnsAuthorization(ctx, "default", &certificatemanager.DnsAuthorizationArgs{
Name: pulumi.String("dns-auth"),
Location: pulumi.String("us-central1"),
Description: pulumi.String("reginal dns"),
Type: pulumi.String("PER_PROJECT_RECORD"),
Domain: pulumi.String("subdomain.hashicorptest.com"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.certificatemanager.DnsAuthorization;
import com.pulumi.gcp.certificatemanager.DnsAuthorizationArgs;
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 default_ = new DnsAuthorization("default", DnsAuthorizationArgs.builder()
.name("dns-auth")
.location("us-central1")
.description("reginal dns")
.type("PER_PROJECT_RECORD")
.domain("subdomain.hashicorptest.com")
.build());
}
}
resources:
default:
type: gcp:certificatemanager:DnsAuthorization
properties:
name: dns-auth
location: us-central1
description: reginal dns
type: PER_PROJECT_RECORD
domain: subdomain.hashicorptest.com
Import
DnsAuthorization can be imported using any of these accepted formats:
projects/{{project}}/locations/{{location}}/dnsAuthorizations/{{name}}
{{project}}/{{location}}/{{name}}
{{location}}/{{name}}
When using thepulumi import
command, DnsAuthorization can be imported using one of the formats above. For example:
$ pulumi import gcp:certificatemanager/dnsAuthorization:DnsAuthorization default projects/{{project}}/locations/{{location}}/dnsAuthorizations/{{name}}
$ pulumi import gcp:certificatemanager/dnsAuthorization:DnsAuthorization default {{project}}/{{location}}/{{name}}
$ pulumi import gcp:certificatemanager/dnsAuthorization:DnsAuthorization default {{location}}/{{name}}
Properties
A human-readable description of the resource.
The structure describing the DNS Resource Record that needs to be added to DNS configuration for the authorization to be usable by certificate. Structure is documented below.
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Name of the resource; provided by the client when the resource is created. The name must be 1-64 characters long, and match the regular expression a-zA-Z0-9_-* which means the first character must be a letter, and all following characters must be a dash, underscore, letter or digit.
The combination of labels configured directly on the resource and default labels configured on the provider.
type of DNS authorization. If unset during the resource creation, FIXED_RECORD will be used for global resources, and PER_PROJECT_RECORD will be used for other locations. FIXED_RECORD DNS authorization uses DNS-01 validation method PER_PROJECT_RECORD DNS authorization allows for independent management of Google-managed certificates with DNS authorization across multiple projects. Possible values are: FIXED_RECORD
, PER_PROJECT_RECORD
.