UNPKG

@pulumi/gcp

Version:

A Pulumi package for creating and managing Google Cloud Platform resources.

114 lines (113 loc) 3.71 kB
import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * Get the DNSKEY and DS records of DNSSEC-signed managed zones. * * For more information see the * [official documentation](https://cloud.google.com/dns/docs/dnskeys/) * and [API](https://cloud.google.com/dns/docs/reference/v1/dnsKeys). * * > A gcp.dns.ManagedZone resource must have DNSSEC enabled in order * to contain any DNSKEYs. Queries to managed zones without this setting * enabled will result in a 404 error as the collection of DNSKEYs does * not exist in the DNS API. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const foo = new gcp.dns.ManagedZone("foo", { * name: "foobar", * dnsName: "foo.bar.", * dnssecConfig: { * state: "on", * nonExistence: "nsec3", * }, * }); * const fooDnsKeys = gcp.dns.getKeysOutput({ * managedZone: foo.id, * }); * export const fooDnsDsRecord = fooDnsKeys.apply(fooDnsKeys => fooDnsKeys.keySigningKeys?.[0]?.dsRecord); * ``` */ export declare function getKeys(args: GetKeysArgs, opts?: pulumi.InvokeOptions): Promise<GetKeysResult>; /** * A collection of arguments for invoking getKeys. */ export interface GetKeysArgs { /** * The name or id of the Cloud DNS managed zone. */ managedZone: string; /** * The ID of the project in which the resource belongs. If `project` is not provided, the provider project is used. */ project?: string; } /** * A collection of values returned by getKeys. */ export interface GetKeysResult { /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * A list of Key-signing key (KSK) records. Structure is documented below. Additionally, the DS record is provided: */ readonly keySigningKeys: outputs.dns.GetKeysKeySigningKey[]; readonly managedZone: string; readonly project: string; /** * A list of Zone-signing key (ZSK) records. Structure is documented below. */ readonly zoneSigningKeys: outputs.dns.GetKeysZoneSigningKey[]; } /** * Get the DNSKEY and DS records of DNSSEC-signed managed zones. * * For more information see the * [official documentation](https://cloud.google.com/dns/docs/dnskeys/) * and [API](https://cloud.google.com/dns/docs/reference/v1/dnsKeys). * * > A gcp.dns.ManagedZone resource must have DNSSEC enabled in order * to contain any DNSKEYs. Queries to managed zones without this setting * enabled will result in a 404 error as the collection of DNSKEYs does * not exist in the DNS API. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const foo = new gcp.dns.ManagedZone("foo", { * name: "foobar", * dnsName: "foo.bar.", * dnssecConfig: { * state: "on", * nonExistence: "nsec3", * }, * }); * const fooDnsKeys = gcp.dns.getKeysOutput({ * managedZone: foo.id, * }); * export const fooDnsDsRecord = fooDnsKeys.apply(fooDnsKeys => fooDnsKeys.keySigningKeys?.[0]?.dsRecord); * ``` */ export declare function getKeysOutput(args: GetKeysOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetKeysResult>; /** * A collection of arguments for invoking getKeys. */ export interface GetKeysOutputArgs { /** * The name or id of the Cloud DNS managed zone. */ managedZone: pulumi.Input<string>; /** * The ID of the project in which the resource belongs. If `project` is not provided, the provider project is used. */ project?: pulumi.Input<string>; }