import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * A web resource is a website or domain with verified ownership. Once your * ownership is verified you will be able to manage your website in the * [Google Search Console](https://www.google.com/webmasters/tools/). * * > **Note:** The verification data (DNS `TXT` record, HTML file, `meta` tag, etc.) * must already exist before the web resource is created, and must be deleted before * the web resource is destroyed. The Google Site Verification API checks that the * verification data exists at creation time and does not exist at destruction time * and will fail if the required condition is not met. * * To get more information about WebResource, see: * * * [API documentation](https://developers.google.com/site-verification/v1) * * How-to Guides * * [Getting Started](https://developers.google.com/site-verification/v1/getting_started) * * ## Example Usage * * ### Site Verification Domain Record * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const token = gcp.siteverification.getToken({ * type: "INET_DOMAIN", * identifier: "www.example.com", * verificationMethod: "DNS_TXT", * }); * const example = new gcp.dns.RecordSet("example", { * managedZone: "example.com", * name: "www.example.com.", * type: "TXT", * rrdatas: [token.then(token => token.token)], * ttl: 86400, * }); * const exampleWebResource = new gcp.siteverification.WebResource("example", { * site: { * type: token.then(token => token.type), * identifier: token.then(token => token.identifier), * }, * verificationMethod: token.then(token => token.verificationMethod), * }, { * dependsOn: [example], * }); * ``` * * ## Import * * WebResource can be imported using any of these accepted formats: * * * `webResource/{{web_resource_id}}` * * `{{web_resource_id}}` * * When using the `pulumi import` command, WebResource can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:siteverification/webResource:WebResource default webResource/{{web_resource_id}} * $ pulumi import gcp:siteverification/webResource:WebResource default {{web_resource_id}} * ``` */ export declare class WebResource extends pulumi.CustomResource { /** * Get an existing WebResource resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: WebResourceState, opts?: pulumi.CustomResourceOptions): WebResource; /** * Returns true if the given object is an instance of WebResource. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is WebResource; /** * The email addresses of all direct, verified owners of this exact property. Indirect owners — * for example verified owners of the containing domain—are not included in this list. */ readonly owners: pulumi.Output; /** * Container for the address and type of a site for which a verification token will be verified. * Structure is documented below. */ readonly site: pulumi.Output; /** * The verification method for the Site Verification system to use to verify * this site or domain. * Possible values are: `ANALYTICS`, `DNS_CNAME`, `DNS_TXT`, `FILE`, `META`, `TAG_MANAGER`. */ readonly verificationMethod: pulumi.Output; /** * The string used to identify this web resource. */ readonly webResourceId: pulumi.Output; /** * Create a WebResource resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: WebResourceArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering WebResource resources. */ export interface WebResourceState { /** * The email addresses of all direct, verified owners of this exact property. Indirect owners — * for example verified owners of the containing domain—are not included in this list. */ owners?: pulumi.Input[]>; /** * Container for the address and type of a site for which a verification token will be verified. * Structure is documented below. */ site?: pulumi.Input; /** * The verification method for the Site Verification system to use to verify * this site or domain. * Possible values are: `ANALYTICS`, `DNS_CNAME`, `DNS_TXT`, `FILE`, `META`, `TAG_MANAGER`. */ verificationMethod?: pulumi.Input; /** * The string used to identify this web resource. */ webResourceId?: pulumi.Input; } /** * The set of arguments for constructing a WebResource resource. */ export interface WebResourceArgs { /** * Container for the address and type of a site for which a verification token will be verified. * Structure is documented below. */ site: pulumi.Input; /** * The verification method for the Site Verification system to use to verify * this site or domain. * Possible values are: `ANALYTICS`, `DNS_CNAME`, `DNS_TXT`, `FILE`, `META`, `TAG_MANAGER`. */ verificationMethod: pulumi.Input; }