import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * A domain serving an App Engine application. * * To get more information about DomainMapping, see: * * * [API documentation](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.domainMappings) * * How-to Guides * * [Official Documentation](https://cloud.google.com/appengine/docs/standard/python/mapping-custom-domains) * * ## Example Usage * * ### App Engine Domain Mapping Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const domainMapping = new gcp.appengine.DomainMapping("domain_mapping", { * domainName: "verified-domain.com", * sslSettings: { * sslManagementType: "AUTOMATIC", * }, * }); * ``` * * ## Import * * DomainMapping can be imported using any of these accepted formats: * * * `apps/{{project}}/domainMappings/{{domain_name}}` * * `{{project}}/{{domain_name}}` * * `{{domain_name}}` * * When using the `pulumi import` command, DomainMapping can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:appengine/domainMapping:DomainMapping default apps/{{project}}/domainMappings/{{domain_name}} * $ pulumi import gcp:appengine/domainMapping:DomainMapping default {{project}}/{{domain_name}} * $ pulumi import gcp:appengine/domainMapping:DomainMapping default {{domain_name}} * ``` */ export declare class DomainMapping extends pulumi.CustomResource { /** * Get an existing DomainMapping 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?: DomainMappingState, opts?: pulumi.CustomResourceOptions): DomainMapping; /** * Returns true if the given object is an instance of DomainMapping. 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 DomainMapping; /** * Relative name of the domain serving the application. Example: example.com. */ readonly domainName: pulumi.Output; /** * Relative name of the object affected by this record. Only applicable for CNAME records. Example: 'www'. */ readonly name: pulumi.Output; /** * Whether the domain creation should override any existing mappings for this domain. * By default, overrides are rejected. * Default value is `STRICT`. * Possible values are: `STRICT`, `OVERRIDE`. */ readonly overrideStrategy: pulumi.Output; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ readonly project: pulumi.Output; /** * The resource records required to configure this domain mapping. These records must be added to the domain's DNS * configuration in order to serve the application via this domain mapping. * Structure is documented below. */ readonly resourceRecords: pulumi.Output; /** * SSL configuration for this domain. If unconfigured, this domain will not serve with SSL. * Structure is documented below. */ readonly sslSettings: pulumi.Output; /** * Create a DomainMapping 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: DomainMappingArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering DomainMapping resources. */ export interface DomainMappingState { /** * Relative name of the domain serving the application. Example: example.com. */ domainName?: pulumi.Input; /** * Relative name of the object affected by this record. Only applicable for CNAME records. Example: 'www'. */ name?: pulumi.Input; /** * Whether the domain creation should override any existing mappings for this domain. * By default, overrides are rejected. * Default value is `STRICT`. * Possible values are: `STRICT`, `OVERRIDE`. */ overrideStrategy?: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * The resource records required to configure this domain mapping. These records must be added to the domain's DNS * configuration in order to serve the application via this domain mapping. * Structure is documented below. */ resourceRecords?: pulumi.Input[]>; /** * SSL configuration for this domain. If unconfigured, this domain will not serve with SSL. * Structure is documented below. */ sslSettings?: pulumi.Input; } /** * The set of arguments for constructing a DomainMapping resource. */ export interface DomainMappingArgs { /** * Relative name of the domain serving the application. Example: example.com. */ domainName: pulumi.Input; /** * Whether the domain creation should override any existing mappings for this domain. * By default, overrides are rejected. * Default value is `STRICT`. * Possible values are: `STRICT`, `OVERRIDE`. */ overrideStrategy?: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * SSL configuration for this domain. If unconfigured, this domain will not serve with SSL. * Structure is documented below. */ sslSettings?: pulumi.Input; }