import * as pulumi from "@pulumi/pulumi"; /** * Manages a Static Site Custom Domain. * * !> **Note:** DNS validation polling is only done for CNAME records, terraform will not validate TXT validation records are complete. * * > **Note:** The `azure.appservice.StaticSiteCustomDomain` resource is deprecated in favour of `azure.appservice.StaticWebAppCustomDomain` and will be removed in a future major release. * * ## Example Usage * * ### CNAME validation * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-resources", * location: "West Europe", * }); * const exampleStaticSite = new azure.appservice.StaticSite("example", { * name: "example", * resourceGroupName: example.name, * location: example.location, * }); * const exampleCNameRecord = new azure.dns.CNameRecord("example", { * name: "my-domain", * zoneName: "contoso.com", * resourceGroupName: example.name, * ttl: 300, * record: exampleStaticSite.defaultHostName, * }); * const exampleStaticSiteCustomDomain = new azure.appservice.StaticSiteCustomDomain("example", { * staticSiteId: exampleStaticSite.id, * domainName: pulumi.interpolate`${exampleCNameRecord.name}.${exampleCNameRecord.zoneName}`, * validationType: "cname-delegation", * }); * ``` * * ### TXT validation * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-resources", * location: "West Europe", * }); * const exampleStaticSite = new azure.appservice.StaticSite("example", { * name: "example", * resourceGroupName: example.name, * location: example.location, * }); * const exampleStaticSiteCustomDomain = new azure.appservice.StaticSiteCustomDomain("example", { * staticSiteId: exampleStaticSite.id, * domainName: "my-domain.contoso.com", * validationType: "dns-txt-token", * }); * const exampleTxtRecord = new azure.dns.TxtRecord("example", { * name: "_dnsauth.my-domain", * zoneName: "contoso.com", * resourceGroupName: example.name, * ttl: 300, * records: [{ * value: exampleStaticSiteCustomDomain.validationToken, * }], * }); * ``` * * ## Import * * Static Site Custom Domains can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:appservice/staticSiteCustomDomain:StaticSiteCustomDomain example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Web/staticSites/my-static-site1/customDomains/name.contoso.com * ``` */ export declare class StaticSiteCustomDomain extends pulumi.CustomResource { /** * Get an existing StaticSiteCustomDomain 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?: StaticSiteCustomDomainState, opts?: pulumi.CustomResourceOptions): StaticSiteCustomDomain; /** * Returns true if the given object is an instance of StaticSiteCustomDomain. 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 StaticSiteCustomDomain; /** * The Domain Name which should be associated with this Static Site. Changing this forces a new Static Site Custom Domain to be created. */ readonly domainName: pulumi.Output; /** * The ID of the Static Site. Changing this forces a new Static Site Custom Domain to be created. */ readonly staticSiteId: pulumi.Output; /** * Token to be used with `dns-txt-token` validation. */ readonly validationToken: pulumi.Output; /** * One of `cname-delegation` or `dns-txt-token`. Changing this forces a new Static Site Custom Domain to be created. */ readonly validationType: pulumi.Output; /** * Create a StaticSiteCustomDomain 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: StaticSiteCustomDomainArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering StaticSiteCustomDomain resources. */ export interface StaticSiteCustomDomainState { /** * The Domain Name which should be associated with this Static Site. Changing this forces a new Static Site Custom Domain to be created. */ domainName?: pulumi.Input; /** * The ID of the Static Site. Changing this forces a new Static Site Custom Domain to be created. */ staticSiteId?: pulumi.Input; /** * Token to be used with `dns-txt-token` validation. */ validationToken?: pulumi.Input; /** * One of `cname-delegation` or `dns-txt-token`. Changing this forces a new Static Site Custom Domain to be created. */ validationType?: pulumi.Input; } /** * The set of arguments for constructing a StaticSiteCustomDomain resource. */ export interface StaticSiteCustomDomainArgs { /** * The Domain Name which should be associated with this Static Site. Changing this forces a new Static Site Custom Domain to be created. */ domainName: pulumi.Input; /** * The ID of the Static Site. Changing this forces a new Static Site Custom Domain to be created. */ staticSiteId: pulumi.Input; /** * One of `cname-delegation` or `dns-txt-token`. Changing this forces a new Static Site Custom Domain to be created. */ validationType?: pulumi.Input; }