Show / Hide Table of Contents

Namespace Pulumi.Gcp.AppEngine

Classes

Application

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.

Warning: All arguments including iap.oauth2_client_secret will be stored in the raw state as plain-text. Read more about sensitive data in state.

Example Usage

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var myProject = new Gcp.Organizations.Project("myProject", new Gcp.Organizations.ProjectArgs
    {
        ProjectId = "your-project-id",
        OrgId = "1234567",
    });
    var app = new Gcp.AppEngine.Application("app", new Gcp.AppEngine.ApplicationArgs
    {
        Project = myProject.ProjectId,
        LocationId = "us-central",
    });
}

}

ApplicationArgs

ApplicationState

ApplicationUrlDispatchRules

Rules to match an HTTP request and dispatch that request to a service.

To get more information about ApplicationUrlDispatchRules, see:

  • API documentation

ApplicationUrlDispatchRulesArgs

ApplicationUrlDispatchRulesState

DomainMapping

A domain serving an App Engine application.

To get more information about DomainMapping, see:

  • API documentation
  • How-to Guides
  • Official Documentation

Example Usage - App Engine Domain Mapping Basic

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var domainMapping = new Gcp.AppEngine.DomainMapping("domainMapping", new Gcp.AppEngine.DomainMappingArgs
    {
        DomainName = "verified-domain.com",
        SslSettings = new Gcp.AppEngine.Inputs.DomainMappingSslSettingsArgs
        {
            SslManagementType = "AUTOMATIC",
        },
    });
}

}

DomainMappingArgs

DomainMappingState

EngineSplitTraffic

Traffic routing configuration for versions within a single service. Traffic splits define how traffic directed to the service is assigned to versions.

To get more information about ServiceSplitTraffic, see:

  • API documentation

Example Usage - App Engine Service Split Traffic

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var bucket = new Gcp.Storage.Bucket("bucket", new Gcp.Storage.BucketArgs
    {
    });
    var @object = new Gcp.Storage.BucketObject("object", new Gcp.Storage.BucketObjectArgs
    {
        Bucket = bucket.Name,
        Source = new FileAsset("./test-fixtures/appengine/hello-world.zip"),
    });
    var liveappV1 = new Gcp.AppEngine.StandardAppVersion("liveappV1", new Gcp.AppEngine.StandardAppVersionArgs
    {
        VersionId = "v1",
        Service = "liveapp",
        DeleteServiceOnDestroy = true,
        Runtime = "nodejs10",
        Entrypoint = new Gcp.AppEngine.Inputs.StandardAppVersionEntrypointArgs
        {
            Shell = "node ./app.js",
        },
        Deployment = new Gcp.AppEngine.Inputs.StandardAppVersionDeploymentArgs
        {
            Zip = new Gcp.AppEngine.Inputs.StandardAppVersionDeploymentZipArgs
            {
                SourceUrl = Output.Tuple(bucket.Name, @object.Name).Apply(values =>
                {
                    var bucketName = values.Item1;
                    var objectName = values.Item2;
                    return $"https://storage.googleapis.com/{bucketName}/{objectName}";
                }),
            },
        },
        EnvVariables = 
        {
            { "port", "8080" },
        },
    });
    var liveappV2 = new Gcp.AppEngine.StandardAppVersion("liveappV2", new Gcp.AppEngine.StandardAppVersionArgs
    {
        VersionId = "v2",
        Service = "liveapp",
        NoopOnDestroy = true,
        Runtime = "nodejs10",
        Entrypoint = new Gcp.AppEngine.Inputs.StandardAppVersionEntrypointArgs
        {
            Shell = "node ./app.js",
        },
        Deployment = new Gcp.AppEngine.Inputs.StandardAppVersionDeploymentArgs
        {
            Zip = new Gcp.AppEngine.Inputs.StandardAppVersionDeploymentZipArgs
            {
                SourceUrl = Output.Tuple(bucket.Name, @object.Name).Apply(values =>
                {
                    var bucketName = values.Item1;
                    var objectName = values.Item2;
                    return $"https://storage.googleapis.com/{bucketName}/{objectName}";
                }),
            },
        },
        EnvVariables = 
        {
            { "port", "8080" },
        },
    });
    var liveapp = new Gcp.AppEngine.EngineSplitTraffic("liveapp", new Gcp.AppEngine.EngineSplitTrafficArgs
    {
        Service = liveappV2.Service,
        MigrateTraffic = false,
        Split = new Gcp.AppEngine.Inputs.EngineSplitTrafficSplitArgs
        {
            ShardBy = "IP",
            Allocations = Output.Tuple(liveappV1.VersionId, liveappV2.VersionId).Apply(values =>
            {
                var liveappV1VersionId = values.Item1;
                var liveappV2VersionId = values.Item2;
                return 
                {
                    { liveappV1VersionId, 0.75 },
                    { liveappV2VersionId, 0.25 },
                };
            }),
        },
    });
}

}

EngineSplitTrafficArgs

EngineSplitTrafficState

FirewallRule

A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests.

To get more information about FirewallRule, see:

  • API documentation
  • How-to Guides
  • Official Documentation

Example Usage - App Engine Firewall Rule Basic

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var myProject = new Gcp.Organizations.Project("myProject", new Gcp.Organizations.ProjectArgs
    {
        ProjectId = "ae-project",
        OrgId = "123456789",
    });
    var app = new Gcp.AppEngine.Application("app", new Gcp.AppEngine.ApplicationArgs
    {
        Project = myProject.ProjectId,
        LocationId = "us-central",
    });
    var rule = new Gcp.AppEngine.FirewallRule("rule", new Gcp.AppEngine.FirewallRuleArgs
    {
        Project = app.Project,
        Priority = 1000,
        Action = "ALLOW",
        SourceRange = "*",
    });
}

}

FirewallRuleArgs

FirewallRuleState

FlexibleAppVersion

Flexible App Version resource to create a new version of flexible GAE Application. Based on Google Compute Engine, the App Engine flexible environment automatically scales your app up and down while also balancing the load. Learn about the differences between the standard environment and the flexible environment at https://cloud.google.com/appengine/docs/the-appengine-environments.

Note: The App Engine flexible environment service account uses the member ID service-[YOUR_PROJECT_NUMBER]@gae-api-prod.google.com.iam.gserviceaccount.com It should have the App Engine Flexible Environment Service Agent role, which will be applied when the appengineflex.googleapis.com service is enabled.

To get more information about FlexibleAppVersion, see:

  • API documentation
  • How-to Guides
  • Official Documentation

FlexibleAppVersionArgs

FlexibleAppVersionState

StandardAppVersion

Standard App Version resource to create a new version of standard GAE Application. Learn about the differences between the standard environment and the flexible environment at https://cloud.google.com/appengine/docs/the-appengine-environments. Currently supporting Zip and File Containers.

To get more information about StandardAppVersion, see:

  • API documentation
  • How-to Guides
  • Official Documentation

StandardAppVersionArgs

StandardAppVersionState

Back to top Copyright 2016-2020, Pulumi Corporation.