import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Allows creation and management of an App Engine application. * * > App Engine applications cannot be deleted once they're created; you have to delete the * entire project to delete the application. This provider will report the application has been * successfully deleted; this is a limitation of the provider, and will go away in the future. * This provider is not able to delete App Engine applications. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const myProject = new gcp.organizations.Project("my_project", { * name: "My Project", * projectId: "your-project-id", * orgId: "1234567", * }); * const app = new gcp.appengine.Application("app", { * project: myProject.projectId, * locationId: "us-central", * }); * ``` * * ## Import * * Applications can be imported using the ID of the project the application belongs to, e.g. * * * `{{project-id}}` * * When using the `pulumi import` command, Applications can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:appengine/application:Application default {{project-id}} * ``` */ export declare class Application extends pulumi.CustomResource { /** * Get an existing Application 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?: ApplicationState, opts?: pulumi.CustomResourceOptions): Application; /** * Returns true if the given object is an instance of Application. 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 Application; /** * Identifier of the app, usually `{PROJECT_ID}` */ readonly appId: pulumi.Output; /** * The domain to authenticate users with when using App Engine's User API. */ readonly authDomain: pulumi.Output; /** * The GCS bucket code is being stored in for this app. */ readonly codeBucket: pulumi.Output; /** * The type of the Cloud Firestore or Cloud Datastore database associated with this application. * Can be `CLOUD_FIRESTORE` or `CLOUD_DATASTORE_COMPATIBILITY` for new * instances. To support old instances, the value `CLOUD_DATASTORE` is accepted by the provider, but will be rejected by the API. * To create a Cloud Firestore database without creating an App Engine application, use the * `gcp.firestore.Database` * resource instead. */ readonly databaseType: pulumi.Output; /** * The GCS bucket content is being stored in for this app. */ readonly defaultBucket: pulumi.Output; /** * The default hostname for this app. */ readonly defaultHostname: pulumi.Output; /** * A block of optional settings to configure specific App Engine features: */ readonly featureSettings: pulumi.Output; /** * The GCR domain used for storing managed Docker images for this app. */ readonly gcrDomain: pulumi.Output; /** * Settings for enabling Cloud Identity Aware Proxy */ readonly iap: pulumi.Output; /** * The [location](https://cloud.google.com/appengine/docs/locations) * to serve the app from. */ readonly locationId: pulumi.Output; /** * Unique name of the app, usually `apps/{PROJECT_ID}` */ readonly name: pulumi.Output; /** * The project ID to create the application under. * ~>**NOTE:** GCP only accepts project ID, not project number. If you are using number, * you may get a "Permission denied" error. */ readonly project: pulumi.Output; /** * The serving status of the app. */ readonly servingStatus: pulumi.Output; /** * A list of the SSL policy that will be applied. Each block has a `SSL_POLICY_UNSPECIFIED`, `DEFAULT`, and `MODERN` field. */ readonly sslPolicy: pulumi.Output; /** * A list of dispatch rule blocks. Each block has a `domain`, `path`, and `service` field. */ readonly urlDispatchRules: pulumi.Output; /** * Create a Application 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: ApplicationArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Application resources. */ export interface ApplicationState { /** * Identifier of the app, usually `{PROJECT_ID}` */ appId?: pulumi.Input; /** * The domain to authenticate users with when using App Engine's User API. */ authDomain?: pulumi.Input; /** * The GCS bucket code is being stored in for this app. */ codeBucket?: pulumi.Input; /** * The type of the Cloud Firestore or Cloud Datastore database associated with this application. * Can be `CLOUD_FIRESTORE` or `CLOUD_DATASTORE_COMPATIBILITY` for new * instances. To support old instances, the value `CLOUD_DATASTORE` is accepted by the provider, but will be rejected by the API. * To create a Cloud Firestore database without creating an App Engine application, use the * `gcp.firestore.Database` * resource instead. */ databaseType?: pulumi.Input; /** * The GCS bucket content is being stored in for this app. */ defaultBucket?: pulumi.Input; /** * The default hostname for this app. */ defaultHostname?: pulumi.Input; /** * A block of optional settings to configure specific App Engine features: */ featureSettings?: pulumi.Input; /** * The GCR domain used for storing managed Docker images for this app. */ gcrDomain?: pulumi.Input; /** * Settings for enabling Cloud Identity Aware Proxy */ iap?: pulumi.Input; /** * The [location](https://cloud.google.com/appengine/docs/locations) * to serve the app from. */ locationId?: pulumi.Input; /** * Unique name of the app, usually `apps/{PROJECT_ID}` */ name?: pulumi.Input; /** * The project ID to create the application under. * ~>**NOTE:** GCP only accepts project ID, not project number. If you are using number, * you may get a "Permission denied" error. */ project?: pulumi.Input; /** * The serving status of the app. */ servingStatus?: pulumi.Input; /** * A list of the SSL policy that will be applied. Each block has a `SSL_POLICY_UNSPECIFIED`, `DEFAULT`, and `MODERN` field. */ sslPolicy?: pulumi.Input; /** * A list of dispatch rule blocks. Each block has a `domain`, `path`, and `service` field. */ urlDispatchRules?: pulumi.Input[]>; } /** * The set of arguments for constructing a Application resource. */ export interface ApplicationArgs { /** * The domain to authenticate users with when using App Engine's User API. */ authDomain?: pulumi.Input; /** * The type of the Cloud Firestore or Cloud Datastore database associated with this application. * Can be `CLOUD_FIRESTORE` or `CLOUD_DATASTORE_COMPATIBILITY` for new * instances. To support old instances, the value `CLOUD_DATASTORE` is accepted by the provider, but will be rejected by the API. * To create a Cloud Firestore database without creating an App Engine application, use the * `gcp.firestore.Database` * resource instead. */ databaseType?: pulumi.Input; /** * A block of optional settings to configure specific App Engine features: */ featureSettings?: pulumi.Input; /** * Settings for enabling Cloud Identity Aware Proxy */ iap?: pulumi.Input; /** * The [location](https://cloud.google.com/appengine/docs/locations) * to serve the app from. */ locationId: pulumi.Input; /** * The project ID to create the application under. * ~>**NOTE:** GCP only accepts project ID, not project number. If you are using number, * you may get a "Permission denied" error. */ project?: pulumi.Input; /** * The serving status of the app. */ servingStatus?: pulumi.Input; /** * A list of the SSL policy that will be applied. Each block has a `SSL_POLICY_UNSPECIFIED`, `DEFAULT`, and `MODERN` field. */ sslPolicy?: pulumi.Input; }