DnsAuthorizationArgs

data class DnsAuthorizationArgs(val description: Output<String>? = null, val domain: Output<String>? = null, val labels: Output<Map<String, String>>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val project: Output<String>? = null, val type: Output<String>? = null) : ConvertibleToJava<DnsAuthorizationArgs>

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&#46;DnsResourceRecords&#46;Apply(dnsResourceRecords => dnsResourceRecords[0].Name),
["recordTypeToInsert"] = @default&#46;DnsResourceRecords&#46;Apply(dnsResourceRecords => dnsResourceRecords[0].Type),
["recordDataToInsert"] = @default&#46;DnsResourceRecords&#46;Apply(dnsResourceRecords => dnsResourceRecords[0].Data),
};
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/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("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/v7/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 the pulumi 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}}

Constructors

Link copied to clipboard
constructor(description: Output<String>? = null, domain: Output<String>? = null, labels: Output<Map<String, String>>? = null, location: Output<String>? = null, name: Output<String>? = null, project: Output<String>? = null, type: Output<String>? = null)

Properties

Link copied to clipboard
val description: Output<String>? = null

A human-readable description of the resource.

Link copied to clipboard
val domain: Output<String>? = null

A domain which is being authorized. A DnsAuthorization resource covers a single domain and its wildcard, e.g. authorization for "example.com" can be used to issue certificates for "example.com" and "*.example.com".

Link copied to clipboard
val labels: Output<Map<String, String>>? = null

Set of label tags associated with the DNS Authorization resource. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

Link copied to clipboard
val location: Output<String>? = null

The Certificate Manager location. If not specified, "global" is used.

Link copied to clipboard
val name: Output<String>? = null

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.

Link copied to clipboard
val project: Output<String>? = null

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Link copied to clipboard
val type: Output<String>? = null

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.

Functions

Link copied to clipboard
open override fun toJava(): DnsAuthorizationArgs