Application class

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

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 pulumi
import pulumi_gcp as gcp

my_project = gcp.organizations.Project("my_project",
    name="My Project",
    project_id="your-project-id",
    org_id="1234567")
app = gcp.appengine.Application("app",
    project=my_project.project_id,
    location_id="us-central")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() =>
{
    var myProject = new Gcp.Organizations.Project("my_project", new()
    {
        Name = "My Project",
        ProjectId = "your-project-id",
        OrgId = "1234567",
    });

    var app = new Gcp.AppEngine.Application("app", new()
    {
        Project = myProject.ProjectId,
        LocationId = "us-central",
    });

});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/appengine"
	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/organizations"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		myProject, err := organizations.NewProject(ctx, "my_project", &organizations.ProjectArgs{
			Name:      pulumi.String("My Project"),
			ProjectId: pulumi.String("your-project-id"),
			OrgId:     pulumi.String("1234567"),
		})
		if err != nil {
			return err
		}
		_, err = appengine.NewApplication(ctx, "app", &appengine.ApplicationArgs{
			Project:    myProject.ProjectId,
			LocationId: pulumi.String("us-central"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
pulumi {
  required_providers {
    gcp = {
      source = "pulumi/gcp"
    }
  }
}

resource "gcp_organizations_project" "my_project" {
  name       = "My Project"
  project_id = "your-project-id"
  org_id     = "1234567"
}
resource "gcp_appengine_application" "app" {
  project     = gcp_organizations_project.my_project.project_id
  location_id = "us-central"
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.Project;
import com.pulumi.gcp.organizations.ProjectArgs;
import com.pulumi.gcp.appengine.Application;
import com.pulumi.gcp.appengine.ApplicationArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var myProject = new Project("myProject", ProjectArgs.builder()
            .name("My Project")
            .projectId("your-project-id")
            .orgId("1234567")
            .build());

        var app = new Application("app", ApplicationArgs.builder()
            .project(myProject.projectId())
            .locationId("us-central")
            .build());

    }
}
resources:
  myProject:
    type: gcp:organizations:Project
    name: my_project
    properties:
      name: My Project
      projectId: your-project-id
      orgId: '1234567'
  app:
    type: gcp:appengine:Application
    properties:
      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:

$ pulumi import gcp:appengine/application:Application default {{project-id}}

Constructors

Application(String name, {ApplicationArgs? args, CustomResourceOptions? options})
Creates a new Application. name The Pulumi resource name. args Arguments used to configure this Application. The set of arguments for Application. options Resource options controlling this resource's behavior.
Application.reference(String urn)
Creates a typed reference to an existing Application resource.

Properties

appId ↔ Output<String>
Identifier of the app, usually {PROJECT_ID}
latefinal
authDomain ↔ Output<String>
The domain to authenticate users with when using App Engine's User API.
latefinal
childResources → Set<Resource>
finalinherited
codeBucket ↔ Output<String>
The GCS bucket code is being stored in for this app.
latefinal
completionSources ↔ Map<String, IOutputCompletionSource>
latefinalinherited
databaseType ↔ Output<String>
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.
latefinal
defaultBucket ↔ Output<String>
The GCS bucket content is being stored in for this app.
latefinal
defaultHostname ↔ Output<String>
The default hostname for this app.
latefinal
featureSettings ↔ Output<ApplicationFeatureSettings>
A block of optional settings to configure specific App Engine features:
latefinal
gcrDomain ↔ Output<String>
The GCR domain used for storing managed Docker images for this app.
latefinal
hashCode → int
The hash code for this object.
no setterinherited
iap ↔ Output<ApplicationIap>
Settings for enabling Cloud Identity Aware Proxy
latefinal
id ↔ Output<String>
getter/setter pairinherited
isCustom → bool
Returns whether this resource is provider-managed.
no setterinherited
isProtected → bool
Returns whether this resource is protected from deletion.
no setterinherited
isRemote → bool
Whether this resource is registered as remote.
no setterinherited
isResourceReference → bool
Whether this instance represents a resource value returned over RPC.
finalinherited
locationId ↔ Output<String>
The location to serve the app from.
latefinal
name ↔ Output<String>
Unique name of the app, usually apps/{PROJECT_ID}
latefinal
project ↔ Output<String>
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.
latefinal
resourceTransforms → List<ResourceTransform>
Inherited/explicit async transforms.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
servingStatus ↔ Output<String>
The serving status of the app.
latefinal
sslPolicy ↔ Output<String>
A list of the SSL policy that will be applied. Each block has a SSL_POLICY_UNSPECIFIED, DEFAULT, and MODERN field.
latefinal
transformations → List<ResourceTransformation>
Inherited/explicit legacy transformations.
no setterinherited
urlDispatchRules ↔ Output<List<ApplicationUrlDispatchRule>>
A list of dispatch rule blocks. Each block has a domain, path, and service field.
latefinal
urn ↔ Output<String>
latefinalinherited

Methods

failId(Object error) → void
Completes this resource ID with an error when registration fails.
inherited
failOutputs(Object error) → void
Completes all output properties with error.
inherited
failUrn(Object error) → void
Completes this resource URN with an error when registration fails.
inherited
getProvider(String moduleMember) → ProviderResource?
Returns provider for moduleMember's package, if configured.
inherited
getResourceName() → String
Returns this resource's logical name.
inherited
getResourceType() → String
Returns this resource's Pulumi type token.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
registerOutput<T>(String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output<T>
Registers a dynamic output property for this resource.
inherited
resolveId(String? value, {required bool isKnown}) → void
Resolves the provider-assigned ID for this resource.
inherited
resolveOutputs(Struct outputs) → void
Resolves all output properties from a monitor response payload.
inherited
resolveUrn(String value) → void
Resolves this resource's URN once assigned by the engine.
inherited
serializeProperties(Map<String, dynamic> properties) → Future<Struct>
Serializes resource properties for RPC transmission.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

get(String name, Input<String> id, {ApplicationState? state, CustomResourceOptions? options}) → Application
Gets an existing Application resource's state with the given name and id.