This page documents the language specification for the gcp package. If you're looking for help working with the inputs, outputs, or functions of gcp resources in a Pulumi program, please see the resource documentation for examples and API reference.

appengine

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-gcp repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-google repo.

class pulumi_gcp.appengine.Application(resource_name, opts=None, auth_domain=None, feature_settings=None, iap=None, location_id=None, project=None, serving_status=None, __props__=None, __name__=None, __opts__=None)

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.

import pulumi
import pulumi_gcp as gcp

my_project = gcp.organizations.Project("myProject",
    project_id="your-project-id",
    org_id="1234567")
app = gcp.appengine.Application("app",
    project=my_project.project_id,
    location_id="us-central")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • auth_domain (pulumi.Input[str]) – The domain to authenticate users with when using App Engine’s User API.

  • feature_settings (pulumi.Input[dict]) – A block of optional settings to configure specific App Engine features:

  • iap (pulumi.Input[dict]) – Settings for enabling Cloud Identity Aware Proxy

  • location_id (pulumi.Input[str]) – The location to serve the app from.

  • project (pulumi.Input[str]) – 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.

  • serving_status (pulumi.Input[str]) – The serving status of the app.

The feature_settings object supports the following:

  • splitHealthChecks (pulumi.Input[bool]) - Set to false to use the legacy health check instead of the readiness and liveness checks.

The iap object supports the following:

  • enabled (pulumi.Input[bool])

  • oauth2ClientId (pulumi.Input[str]) - OAuth2 client ID to use for the authentication flow.

  • oauth2ClientSecret (pulumi.Input[str]) - OAuth2 client secret to use for the authentication flow. The SHA-256 hash of the value is returned in the oauth2ClientSecretSha256 field.

  • oauth2ClientSecretSha256 (pulumi.Input[str]) - Hex-encoded SHA-256 hash of the client secret.

app_id: pulumi.Output[str] = None

Identifier of the app, usually {PROJECT_ID}

auth_domain: pulumi.Output[str] = None

The domain to authenticate users with when using App Engine’s User API.

code_bucket: pulumi.Output[str] = None

The GCS bucket code is being stored in for this app.

default_bucket: pulumi.Output[str] = None

The GCS bucket content is being stored in for this app.

default_hostname: pulumi.Output[str] = None

The default hostname for this app.

feature_settings: pulumi.Output[dict] = None

A block of optional settings to configure specific App Engine features:

  • splitHealthChecks (bool) - Set to false to use the legacy health check instead of the readiness and liveness checks.

gcr_domain: pulumi.Output[str] = None

The GCR domain used for storing managed Docker images for this app.

iap: pulumi.Output[dict] = None

Settings for enabling Cloud Identity Aware Proxy

  • enabled (bool)

  • oauth2ClientId (str) - OAuth2 client ID to use for the authentication flow.

  • oauth2ClientSecret (str) - OAuth2 client secret to use for the authentication flow. The SHA-256 hash of the value is returned in the oauth2ClientSecretSha256 field.

  • oauth2ClientSecretSha256 (str) - Hex-encoded SHA-256 hash of the client secret.

location_id: pulumi.Output[str] = None

The location to serve the app from.

name: pulumi.Output[str] = None

Unique name of the app, usually apps/{PROJECT_ID}

project: pulumi.Output[str] = None

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.

serving_status: pulumi.Output[str] = None

The serving status of the app.

url_dispatch_rules: pulumi.Output[list] = None

A list of dispatch rule blocks. Each block has a domain, path, and service field.

  • domain (str)

  • path (str)

  • service (str)

static get(resource_name, id, opts=None, app_id=None, auth_domain=None, code_bucket=None, default_bucket=None, default_hostname=None, feature_settings=None, gcr_domain=None, iap=None, location_id=None, name=None, project=None, serving_status=None, url_dispatch_rules=None)

Get an existing Application resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • app_id (pulumi.Input[str]) – Identifier of the app, usually {PROJECT_ID}

  • auth_domain (pulumi.Input[str]) – The domain to authenticate users with when using App Engine’s User API.

  • code_bucket (pulumi.Input[str]) – The GCS bucket code is being stored in for this app.

  • default_bucket (pulumi.Input[str]) – The GCS bucket content is being stored in for this app.

  • default_hostname (pulumi.Input[str]) – The default hostname for this app.

  • feature_settings (pulumi.Input[dict]) – A block of optional settings to configure specific App Engine features:

  • gcr_domain (pulumi.Input[str]) – The GCR domain used for storing managed Docker images for this app.

  • iap (pulumi.Input[dict]) – Settings for enabling Cloud Identity Aware Proxy

  • location_id (pulumi.Input[str]) –

    The location to serve the app from.

  • name (pulumi.Input[str]) – Unique name of the app, usually apps/{PROJECT_ID}

  • project (pulumi.Input[str]) – 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.

  • serving_status (pulumi.Input[str]) – The serving status of the app.

  • url_dispatch_rules (pulumi.Input[list]) – A list of dispatch rule blocks. Each block has a domain, path, and service field.

The feature_settings object supports the following:

  • splitHealthChecks (pulumi.Input[bool]) - Set to false to use the legacy health check instead of the readiness and liveness checks.

The iap object supports the following:

  • enabled (pulumi.Input[bool])

  • oauth2ClientId (pulumi.Input[str]) - OAuth2 client ID to use for the authentication flow.

  • oauth2ClientSecret (pulumi.Input[str]) - OAuth2 client secret to use for the authentication flow. The SHA-256 hash of the value is returned in the oauth2ClientSecretSha256 field.

  • oauth2ClientSecretSha256 (pulumi.Input[str]) - Hex-encoded SHA-256 hash of the client secret.

The url_dispatch_rules object supports the following:

  • domain (pulumi.Input[str])

  • path (pulumi.Input[str])

  • service (pulumi.Input[str])

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_gcp.appengine.ApplicationUrlDispatchRules(resource_name, opts=None, dispatch_rules=None, project=None, __props__=None, __name__=None, __opts__=None)

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

To get more information about ApplicationUrlDispatchRules, see:

import pulumi
import pulumi_gcp as gcp

bucket = gcp.storage.Bucket("bucket")
object = gcp.storage.BucketObject("object",
    bucket=bucket.name,
    source=pulumi.FileAsset("./test-fixtures/appengine/hello-world.zip"))
admin_v3 = gcp.appengine.StandardAppVersion("adminV3",
    version_id="v3",
    service="admin",
    runtime="nodejs10",
    entrypoint={
        "shell": "node ./app.js",
    },
    deployment={
        "zip": {
            "sourceUrl": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
        },
    },
    env_variables={
        "port": "8080",
    },
    noop_on_destroy=True)
web_service = gcp.appengine.ApplicationUrlDispatchRules("webService", dispatch_rules=[
    {
        "domain": "*",
        "path": "/*",
        "service": "default",
    },
    {
        "domain": "*",
        "path": "/admin/*",
        "service": admin_v3.service,
    },
])
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • dispatch_rules (pulumi.Input[list]) – Rules to match an HTTP request and dispatch that request to a service. Structure is documented below.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The dispatch_rules object supports the following:

  • domain (pulumi.Input[str]) - Domain name to match against. The wildcard “” is supported if specified before a period: “.”. Defaults to matching all domains: “*”.

  • path (pulumi.Input[str]) - Pathname within the host. Must start with a “/”. A single “*” can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters.

  • service (pulumi.Input[str]) - Pathname within the host. Must start with a “/”. A single “*” can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters.

dispatch_rules: pulumi.Output[list] = None

Rules to match an HTTP request and dispatch that request to a service. Structure is documented below.

  • domain (str) - Domain name to match against. The wildcard “” is supported if specified before a period: “.”. Defaults to matching all domains: “*”.

  • path (str) - Pathname within the host. Must start with a “/”. A single “*” can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters.

  • service (str) - Pathname within the host. Must start with a “/”. A single “*” can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters.

project: pulumi.Output[str] = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

static get(resource_name, id, opts=None, dispatch_rules=None, project=None)

Get an existing ApplicationUrlDispatchRules resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • dispatch_rules (pulumi.Input[list]) – Rules to match an HTTP request and dispatch that request to a service. Structure is documented below.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The dispatch_rules object supports the following:

  • domain (pulumi.Input[str]) - Domain name to match against. The wildcard “” is supported if specified before a period: “.”. Defaults to matching all domains: “*”.

  • path (pulumi.Input[str]) - Pathname within the host. Must start with a “/”. A single “*” can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters.

  • service (pulumi.Input[str]) - Pathname within the host. Must start with a “/”. A single “*” can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_gcp.appengine.DomainMapping(resource_name, opts=None, domain_name=None, override_strategy=None, project=None, ssl_settings=None, __props__=None, __name__=None, __opts__=None)

A domain serving an App Engine application.

To get more information about DomainMapping, see:

import pulumi
import pulumi_gcp as gcp

domain_mapping = gcp.appengine.DomainMapping("domainMapping",
    domain_name="verified-domain.com",
    ssl_settings={
        "sslManagementType": "AUTOMATIC",
    })
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • domain_name (pulumi.Input[str]) – Relative name of the domain serving the application. Example: example.com.

  • override_strategy (pulumi.Input[str]) – Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

  • ssl_settings (pulumi.Input[dict]) – SSL configuration for this domain. If unconfigured, this domain will not serve with SSL. Structure is documented below.

The ssl_settings object supports the following:

  • certificate_id (pulumi.Input[str]) - ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support. By default, a managed certificate is automatically created for every domain mapping. To omit SSL support or to configure SSL manually, specify SslManagementType.MANUAL on a CREATE or UPDATE request. You must be authorized to administer the AuthorizedCertificate resource to manually map it to a DomainMapping resource. Example: 12345.

  • pendingManagedCertificateId (pulumi.Input[str]) - - ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the provisioning process completes, the certificateId field will reflect the new managed certificate and this field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the certificateId field with an update request.

  • sslManagementType (pulumi.Input[str]) - SSL management type for this domain. If AUTOMATIC, a managed certificate is automatically provisioned. If MANUAL, certificateId must be manually specified in order to configure SSL for this domain.

domain_name: pulumi.Output[str] = None

Relative name of the domain serving the application. Example: example.com.

name: pulumi.Output[str] = None

Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.

override_strategy: pulumi.Output[str] = None

Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected.

project: pulumi.Output[str] = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

resource_records: pulumi.Output[list] = None

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.

  • name (str)

  • rrdata (str)

  • type (str)

ssl_settings: pulumi.Output[dict] = None

SSL configuration for this domain. If unconfigured, this domain will not serve with SSL. Structure is documented below.

  • certificate_id (str) - ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support. By default, a managed certificate is automatically created for every domain mapping. To omit SSL support or to configure SSL manually, specify SslManagementType.MANUAL on a CREATE or UPDATE request. You must be authorized to administer the AuthorizedCertificate resource to manually map it to a DomainMapping resource. Example: 12345.

  • pendingManagedCertificateId (str) - - ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the provisioning process completes, the certificateId field will reflect the new managed certificate and this field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the certificateId field with an update request.

  • sslManagementType (str) - SSL management type for this domain. If AUTOMATIC, a managed certificate is automatically provisioned. If MANUAL, certificateId must be manually specified in order to configure SSL for this domain.

static get(resource_name, id, opts=None, domain_name=None, name=None, override_strategy=None, project=None, resource_records=None, ssl_settings=None)

Get an existing DomainMapping resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • domain_name (pulumi.Input[str]) – Relative name of the domain serving the application. Example: example.com.

  • name (pulumi.Input[str]) – Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.

  • override_strategy (pulumi.Input[str]) – Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

  • resource_records (pulumi.Input[list]) – 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.

  • ssl_settings (pulumi.Input[dict]) – SSL configuration for this domain. If unconfigured, this domain will not serve with SSL. Structure is documented below.

The resource_records object supports the following:

  • name (pulumi.Input[str])

  • rrdata (pulumi.Input[str])

  • type (pulumi.Input[str])

The ssl_settings object supports the following:

  • certificate_id (pulumi.Input[str]) - ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support. By default, a managed certificate is automatically created for every domain mapping. To omit SSL support or to configure SSL manually, specify SslManagementType.MANUAL on a CREATE or UPDATE request. You must be authorized to administer the AuthorizedCertificate resource to manually map it to a DomainMapping resource. Example: 12345.

  • pendingManagedCertificateId (pulumi.Input[str]) - - ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the provisioning process completes, the certificateId field will reflect the new managed certificate and this field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the certificateId field with an update request.

  • sslManagementType (pulumi.Input[str]) - SSL management type for this domain. If AUTOMATIC, a managed certificate is automatically provisioned. If MANUAL, certificateId must be manually specified in order to configure SSL for this domain.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_gcp.appengine.EngineSplitTraffic(resource_name, opts=None, migrate_traffic=None, project=None, service=None, split=None, __props__=None, __name__=None, __opts__=None)

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:

import pulumi
import pulumi_gcp as gcp

bucket = gcp.storage.Bucket("bucket")
object = gcp.storage.BucketObject("object",
    bucket=bucket.name,
    source=pulumi.FileAsset("./test-fixtures/appengine/hello-world.zip"))
liveapp_v1 = gcp.appengine.StandardAppVersion("liveappV1",
    version_id="v1",
    service="liveapp",
    delete_service_on_destroy=True,
    runtime="nodejs10",
    entrypoint={
        "shell": "node ./app.js",
    },
    deployment={
        "zip": {
            "sourceUrl": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
        },
    },
    env_variables={
        "port": "8080",
    })
liveapp_v2 = gcp.appengine.StandardAppVersion("liveappV2",
    version_id="v2",
    service="liveapp",
    noop_on_destroy=True,
    runtime="nodejs10",
    entrypoint={
        "shell": "node ./app.js",
    },
    deployment={
        "zip": {
            "sourceUrl": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
        },
    },
    env_variables={
        "port": "8080",
    })
liveapp = gcp.appengine.EngineSplitTraffic("liveapp",
    service=liveapp_v2.service,
    migrate_traffic=False,
    split={
        "shardBy": "IP",
        "allocations": pulumi.Output.all(liveapp_v1.version_id, liveapp_v2.version_id).apply(lambda liveappV1Version_id, liveappV2Version_id: {
            liveapp_v1_version_id: 0.75,
            liveapp_v2_version_id: 0.25,
        }),
    })
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • migrate_traffic (pulumi.Input[bool]) – If set to true traffic will be migrated to this version.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

  • service (pulumi.Input[str]) – The name of the service these settings apply to.

  • split (pulumi.Input[dict]) – Mapping that defines fractional HTTP traffic diversion to different versions within the service. Structure is documented below.

The split object supports the following:

  • allocations (pulumi.Input[dict]) - Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.

  • shardBy (pulumi.Input[str]) - Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.

migrate_traffic: pulumi.Output[bool] = None

If set to true traffic will be migrated to this version.

project: pulumi.Output[str] = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

service: pulumi.Output[str] = None

The name of the service these settings apply to.

split: pulumi.Output[dict] = None

Mapping that defines fractional HTTP traffic diversion to different versions within the service. Structure is documented below.

  • allocations (dict) - Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.

  • shardBy (str) - Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.

static get(resource_name, id, opts=None, migrate_traffic=None, project=None, service=None, split=None)

Get an existing EngineSplitTraffic resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • migrate_traffic (pulumi.Input[bool]) – If set to true traffic will be migrated to this version.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

  • service (pulumi.Input[str]) – The name of the service these settings apply to.

  • split (pulumi.Input[dict]) – Mapping that defines fractional HTTP traffic diversion to different versions within the service. Structure is documented below.

The split object supports the following:

  • allocations (pulumi.Input[dict]) - Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.

  • shardBy (pulumi.Input[str]) - Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_gcp.appengine.FirewallRule(resource_name, opts=None, action=None, description=None, priority=None, project=None, source_range=None, __props__=None, __name__=None, __opts__=None)

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:

import pulumi
import pulumi_gcp as gcp

my_project = gcp.organizations.Project("myProject",
    project_id="ae-project",
    org_id="123456789")
app = gcp.appengine.Application("app",
    project=my_project.project_id,
    location_id="us-central")
rule = gcp.appengine.FirewallRule("rule",
    project=app.project,
    priority=1000,
    action="ALLOW",
    source_range="*")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • action (pulumi.Input[str]) – The action to take if this rule matches.

  • description (pulumi.Input[str]) – An optional string description of this rule.

  • priority (pulumi.Input[float]) – A positive integer that defines the order of rule evaluation. Rules with the lowest priority are evaluated first. A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

  • source_range (pulumi.Input[str]) – IP address or range, defined using CIDR notation, of requests that this rule applies to.

action: pulumi.Output[str] = None

The action to take if this rule matches.

description: pulumi.Output[str] = None

An optional string description of this rule.

priority: pulumi.Output[float] = None

A positive integer that defines the order of rule evaluation. Rules with the lowest priority are evaluated first. A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.

project: pulumi.Output[str] = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

source_range: pulumi.Output[str] = None

IP address or range, defined using CIDR notation, of requests that this rule applies to.

static get(resource_name, id, opts=None, action=None, description=None, priority=None, project=None, source_range=None)

Get an existing FirewallRule resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • action (pulumi.Input[str]) – The action to take if this rule matches.

  • description (pulumi.Input[str]) – An optional string description of this rule.

  • priority (pulumi.Input[float]) – A positive integer that defines the order of rule evaluation. Rules with the lowest priority are evaluated first. A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

  • source_range (pulumi.Input[str]) – IP address or range, defined using CIDR notation, of requests that this rule applies to.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_gcp.appengine.FlexibleAppVersion(resource_name, opts=None, api_config=None, automatic_scaling=None, beta_settings=None, default_expiration=None, delete_service_on_destroy=None, deployment=None, endpoints_api_service=None, entrypoint=None, env_variables=None, handlers=None, inbound_services=None, instance_class=None, liveness_check=None, manual_scaling=None, network=None, nobuild_files_regex=None, noop_on_destroy=None, project=None, readiness_check=None, resources=None, runtime=None, runtime_api_version=None, runtime_channel=None, runtime_main_executable_path=None, service=None, serving_status=None, version_id=None, vpc_access_connector=None, __props__=None, __name__=None, __opts__=None)

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:

import pulumi
import pulumi_gcp as gcp

my_project = gcp.organizations.Project("myProject",
    project_id="appeng-flex",
    org_id="123456789",
    billing_account="000000-0000000-0000000-000000")
app = gcp.appengine.Application("app",
    project=my_project.project_id,
    location_id="us-central")
service = gcp.projects.Service("service",
    project=my_project.project_id,
    service="appengineflex.googleapis.com",
    disable_dependent_services=False)
gae_api = gcp.projects.IAMMember("gaeApi",
    project=service.project,
    role="roles/compute.networkUser",
    member=my_project.number.apply(lambda number: f"serviceAccount:service-{number}@gae-api-prod.google.com.iam.gserviceaccount.com"))
bucket = gcp.storage.Bucket("bucket", project=my_project.project_id)
object = gcp.storage.BucketObject("object",
    bucket=bucket.name,
    source=pulumi.FileAsset("./test-fixtures/appengine/hello-world.zip"))
myapp_v1 = gcp.appengine.FlexibleAppVersion("myappV1",
    version_id="v1",
    project=gae_api.project,
    service="default",
    runtime="nodejs",
    entrypoint={
        "shell": "node ./app.js",
    },
    deployment={
        "zip": {
            "sourceUrl": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
        },
    },
    liveness_check={
        "path": "/",
    },
    readiness_check={
        "path": "/",
    },
    env_variables={
        "port": "8080",
    },
    handlers=[{
        "urlRegex": ".*\/my-path\/*",
        "securityLevel": "SECURE_ALWAYS",
        "login": "LOGIN_REQUIRED",
        "authFailAction": "AUTH_FAIL_ACTION_REDIRECT",
        "static_files": {
            "path": "my-other-path",
            "uploadPathRegex": ".*\/my-path\/*",
        },
    }],
    automatic_scaling={
        "coolDownPeriod": "120s",
        "cpu_utilization": {
            "targetUtilization": 0.5,
        },
    },
    noop_on_destroy=True)
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • api_config (pulumi.Input[dict]) – Serving configuration for Google Cloud Endpoints. Structure is documented below.

  • automatic_scaling (pulumi.Input[dict]) – Automatic scaling is based on request rate, response latencies, and other application metrics. Structure is documented below.

  • beta_settings (pulumi.Input[dict]) – Metadata settings that are supplied to this version to enable beta runtime features.

  • default_expiration (pulumi.Input[str]) – Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding StaticFilesHandler does not specify its own expiration time.

  • delete_service_on_destroy (pulumi.Input[bool]) – If set to true, the service will be deleted if it is the last version.

  • deployment (pulumi.Input[dict]) – Code and application artifacts that make up this version. Structure is documented below.

  • endpoints_api_service (pulumi.Input[dict]) – Code and application artifacts that make up this version. Structure is documented below.

  • entrypoint (pulumi.Input[dict]) – The entrypoint for the application. Structure is documented below.

  • env_variables (pulumi.Input[dict]) – Environment variables available to the application. As these are not returned in the API request, the provider will not detect any changes made outside of the config.

  • handlers (pulumi.Input[list]) – An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted. Structure is documented below.

  • inbound_services (pulumi.Input[list]) – Before an application can receive email or XMPP messages, the application must be configured to enable the service.

  • instance_class (pulumi.Input[str]) – Instance class that is used to run this version. Valid values are AutomaticScaling: F1, F2, F4, F4_1G ManualScaling: B1, B2, B4, B8, B4_1G Defaults to F1 for AutomaticScaling and B1 for ManualScaling.

  • liveness_check (pulumi.Input[dict]) – Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Structure is documented below.

  • manual_scaling (pulumi.Input[dict]) – A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time. Structure is documented below.

  • network (pulumi.Input[dict]) – Extra network settings Structure is documented below.

  • nobuild_files_regex (pulumi.Input[str]) – Files that match this pattern will not be built into this version. Only applicable for Go runtimes.

  • noop_on_destroy (pulumi.Input[bool]) – If set to true, the application version will not be deleted.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

  • readiness_check (pulumi.Input[dict]) – Configures readiness health checking for instances. Unhealthy instances are not put into the backend traffic rotation. Structure is documented below.

  • resources (pulumi.Input[dict]) – Machine resources for a version. Structure is documented below.

  • runtime (pulumi.Input[str]) – Desired runtime. Example python27.

  • runtime_api_version (pulumi.Input[str]) – The version of the API in the given runtime environment. Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard//config/appref

  • runtime_channel (pulumi.Input[str]) – The channel of the runtime to use. Only available for some runtimes.

  • runtime_main_executable_path (pulumi.Input[str]) – The path or name of the app’s main executable.

  • service (pulumi.Input[str]) – AppEngine service resource

  • serving_status (pulumi.Input[str]) – Current serving status of this version. Only the versions with a SERVING status create instances and can be billed.

  • version_id (pulumi.Input[str]) – Relative name of the version within the service. For example, v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names,”default”, “latest”, and any name with the prefix “ah-“.

  • vpc_access_connector (pulumi.Input[dict]) – Enables VPC connectivity for standard apps. Structure is documented below.

The api_config object supports the following:

  • authFailAction (pulumi.Input[str]) - Action to take when users access resources that require authentication.

  • login (pulumi.Input[str]) - Level of login required to access this resource.

  • script (pulumi.Input[str]) - Path to the script from the application root directory.

  • securityLevel (pulumi.Input[str]) - Security (HTTPS) enforcement for this URL.

  • url (pulumi.Input[str]) - URL to serve the endpoint at.

The automatic_scaling object supports the following:

  • coolDownPeriod (pulumi.Input[str]) - The time period that the Autoscaler should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. Default: 120s

  • cpuUtilization (pulumi.Input[dict]) - Target scaling by CPU usage. Structure is documented below.

    • aggregationWindowLength (pulumi.Input[str]) - Period of time over which CPU utilization is calculated.

    • targetUtilization (pulumi.Input[float]) - Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.

  • diskUtilization (pulumi.Input[dict]) - Target scaling by disk usage. Structure is documented below.

    • targetReadBytesPerSecond (pulumi.Input[float]) - Target bytes read per second.

    • targetReadOpsPerSecond (pulumi.Input[float]) - Target ops read per seconds.

    • targetWriteBytesPerSecond (pulumi.Input[float]) - Target bytes written per second.

    • targetWriteOpsPerSecond (pulumi.Input[float]) - Target ops written per second.

  • maxConcurrentRequests (pulumi.Input[float]) - Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Defaults to a runtime-specific value.

  • maxIdleInstances (pulumi.Input[float]) - Maximum number of idle instances that should be maintained for this version.

  • maxPendingLatency (pulumi.Input[str]) - Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.

  • maxTotalInstances (pulumi.Input[float]) - Maximum number of instances that should be started to handle requests for this version. Default: 20

  • minIdleInstances (pulumi.Input[float]) - Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.

  • minPendingLatency (pulumi.Input[str]) - Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.

  • minTotalInstances (pulumi.Input[float]) - Minimum number of running instances that should be maintained for this version. Default: 2

  • networkUtilization (pulumi.Input[dict]) - Target scaling by network usage. Structure is documented below.

    • targetReceivedBytesPerSecond (pulumi.Input[float]) - Target bytes received per second.

    • targetReceivedPacketsPerSecond (pulumi.Input[float]) - Target packets received per second.

    • targetSentBytesPerSecond (pulumi.Input[float]) - Target bytes sent per second.

    • targetSentPacketsPerSecond (pulumi.Input[float]) - Target packets sent per second.

  • requestUtilization (pulumi.Input[dict]) - Target scaling by request utilization. Structure is documented below.

    • targetConcurrentRequests (pulumi.Input[float]) - Target number of concurrent requests.

    • targetRequestCountPerSecond (pulumi.Input[str]) - Target requests per second.

The deployment object supports the following:

  • cloudBuildOptions (pulumi.Input[dict]) - Options for the build operations performed as a part of the version deployment. Only applicable when creating a version using source code directly. Structure is documented below.

    • appYamlPath (pulumi.Input[str]) - Path to the yaml file used in deployment, used to determine runtime configuration details.

    • cloudBuildTimeout (pulumi.Input[str]) - The Cloud Build timeout used as part of any dependent builds performed by version creation. Defaults to 10 minutes. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example: “3.5s”.

  • container (pulumi.Input[dict]) - The Docker image for the container that runs the version. Structure is documented below.

    • image (pulumi.Input[str]) - URI to the hosted container image in Google Container Registry. The URI must be fully qualified and include a tag or digest. Examples: “gcr.io/my-project/image:tag” or “gcr.io/my-project/image@digest”

  • files (pulumi.Input[list]) - Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. Structure is documented below.

    • name (pulumi.Input[str]) - Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

    • sha1Sum (pulumi.Input[str]) - SHA1 checksum of the file

    • sourceUrl (pulumi.Input[str]) - Source URL

  • zip (pulumi.Input[dict]) - Zip File Structure is documented below.

    • filesCount (pulumi.Input[float]) - files count

    • sourceUrl (pulumi.Input[str]) - Source URL

The endpoints_api_service object supports the following:

  • config_id (pulumi.Input[str]) - Endpoints service configuration ID as specified by the Service Management API. For example “2016-09-19r1”. By default, the rollout strategy for Endpoints is “FIXED”. This means that Endpoints starts up with a particular configuration ID. When a new configuration is rolled out, Endpoints must be given the new configuration ID. The configId field is used to give the configuration ID and is required in this case. Endpoints also has a rollout strategy called “MANAGED”. When using this, Endpoints fetches the latest configuration and does not need the configuration ID. In this case, configId must be omitted.

  • disableTraceSampling (pulumi.Input[bool]) - Enable or disable trace sampling. By default, this is set to false for enabled.

  • name (pulumi.Input[str]) - Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

  • rolloutStrategy (pulumi.Input[str]) - Endpoints rollout strategy. If FIXED, configId must be specified. If MANAGED, configId must be omitted.

The entrypoint object supports the following:

  • shell (pulumi.Input[str]) - The format should be a shell command that can be fed to bash -c.

The handlers object supports the following:

  • authFailAction (pulumi.Input[str]) - Action to take when users access resources that require authentication.

  • login (pulumi.Input[str]) - Level of login required to access this resource.

  • redirectHttpResponseCode (pulumi.Input[str]) - 30x code to use when performing redirects for the secure field.

  • script (pulumi.Input[dict]) - Path to the script from the application root directory.

    • scriptPath (pulumi.Input[str]) - Path to the script from the application root directory.

  • securityLevel (pulumi.Input[str]) - Security (HTTPS) enforcement for this URL.

  • staticFiles (pulumi.Input[dict]) - Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them. Structure is documented below.

    • applicationReadable (pulumi.Input[bool]) - Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.

    • expiration (pulumi.Input[str]) - Time a static file served by this handler should be cached by web proxies and browsers. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example “3.5s”. Default is ‘0s’

    • httpHeaders (pulumi.Input[dict]) - HTTP headers to use for all responses from these URLs. An object containing a list of “key:value” value pairs.”.

    • mimeType (pulumi.Input[str]) - MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file’s filename extension.

    • path (pulumi.Input[str]) - Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.

    • requireMatchingFile (pulumi.Input[bool]) - Whether this handler should match the request if the file referenced by the handler does not exist.

    • uploadPathRegex (pulumi.Input[str]) - Regular expression that matches the file paths for all files that should be referenced by this handler.

  • urlRegex (pulumi.Input[str]) - URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.

The liveness_check object supports the following:

  • checkInterval (pulumi.Input[str]) - Interval between health checks.

  • failureThreshold (pulumi.Input[float]) - Number of consecutive failed checks required before considering the VM unhealthy. Default: 4.

  • host (pulumi.Input[str]) - Host header to send when performing a HTTP Readiness check. Example: “myapp.appspot.com”

  • initialDelay (pulumi.Input[str]) - The initial delay before starting to execute the checks. Default: “300s”

  • path (pulumi.Input[str]) - Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.

  • successThreshold (pulumi.Input[float]) - Number of consecutive successful checks required before considering the VM healthy. Default: 2.

  • timeout (pulumi.Input[str]) - Time before the check is considered failed. Default: “4s”

The manual_scaling object supports the following:

  • instances (pulumi.Input[float]) - Number of instances to assign to the service at the start. Note: When managing the number of instances at runtime through the App Engine Admin API or the (now deprecated) Python 2 Modules API set_num_instances() you must use lifecycle.ignore_changes = ["manual_scaling"[0].instances] to prevent drift detection.

The network object supports the following:

  • forwardedPorts (pulumi.Input[list]) - List of ports, or port pairs, to forward from the virtual machine to the application container.

  • instanceTag (pulumi.Input[str]) - Tag to apply to the instance during creation.

  • name (pulumi.Input[str]) - Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

  • session_affinity (pulumi.Input[bool]) - Enable session affinity.

  • subnetwork (pulumi.Input[str]) - Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path. If the network that the instance is being created in is a Legacy network, then the IP address is allocated from the IPv4Range. If the network that the instance is being created in is an auto Subnet Mode Network, then only network name should be specified (not the subnetworkName) and the IP address is created from the IPCidrRange of the subnetwork that exists in that zone for that network. If the network that the instance is being created in is a custom Subnet Mode Network, then the subnetworkName must be specified and the IP address is created from the IPCidrRange of the subnetwork. If specified, the subnetwork must exist in the same region as the App Engine flexible environment application.

The readiness_check object supports the following:

  • appStartTimeout (pulumi.Input[str]) - A maximum time limit on application initialization, measured from moment the application successfully replies to a healthcheck until it is ready to serve traffic. Default: “300s”

  • checkInterval (pulumi.Input[str]) - Interval between health checks.

  • failureThreshold (pulumi.Input[float]) - Number of consecutive failed checks required before considering the VM unhealthy. Default: 4.

  • host (pulumi.Input[str]) - Host header to send when performing a HTTP Readiness check. Example: “myapp.appspot.com”

  • path (pulumi.Input[str]) - Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.

  • successThreshold (pulumi.Input[float]) - Number of consecutive successful checks required before considering the VM healthy. Default: 2.

  • timeout (pulumi.Input[str]) - Time before the check is considered failed. Default: “4s”

The resources object supports the following:

  • cpu (pulumi.Input[float]) - Number of CPU cores needed.

  • diskGb (pulumi.Input[float]) - Disk size (GB) needed.

  • memoryGb (pulumi.Input[float]) - Memory (GB) needed.

  • volumes (pulumi.Input[list]) - List of ports, or port pairs, to forward from the virtual machine to the application container. Structure is documented below.

    • name (pulumi.Input[str]) - Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

    • sizeGb (pulumi.Input[float]) - Volume size in gigabytes.

    • volumeType (pulumi.Input[str]) - Underlying volume type, e.g. ‘tmpfs’.

The vpc_access_connector object supports the following:

  • name (pulumi.Input[str]) - Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

api_config: pulumi.Output[dict] = None

Serving configuration for Google Cloud Endpoints. Structure is documented below.

  • authFailAction (str) - Action to take when users access resources that require authentication.

  • login (str) - Level of login required to access this resource.

  • script (str) - Path to the script from the application root directory.

  • securityLevel (str) - Security (HTTPS) enforcement for this URL.

  • url (str) - URL to serve the endpoint at.

automatic_scaling: pulumi.Output[dict] = None

Automatic scaling is based on request rate, response latencies, and other application metrics. Structure is documented below.

  • coolDownPeriod (str) - The time period that the Autoscaler should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. Default: 120s

  • cpuUtilization (dict) - Target scaling by CPU usage. Structure is documented below.

    • aggregationWindowLength (str) - Period of time over which CPU utilization is calculated.

    • targetUtilization (float) - Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.

  • diskUtilization (dict) - Target scaling by disk usage. Structure is documented below.

    • targetReadBytesPerSecond (float) - Target bytes read per second.

    • targetReadOpsPerSecond (float) - Target ops read per seconds.

    • targetWriteBytesPerSecond (float) - Target bytes written per second.

    • targetWriteOpsPerSecond (float) - Target ops written per second.

  • maxConcurrentRequests (float) - Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Defaults to a runtime-specific value.

  • maxIdleInstances (float) - Maximum number of idle instances that should be maintained for this version.

  • maxPendingLatency (str) - Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.

  • maxTotalInstances (float) - Maximum number of instances that should be started to handle requests for this version. Default: 20

  • minIdleInstances (float) - Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.

  • minPendingLatency (str) - Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.

  • minTotalInstances (float) - Minimum number of running instances that should be maintained for this version. Default: 2

  • networkUtilization (dict) - Target scaling by network usage. Structure is documented below.

    • targetReceivedBytesPerSecond (float) - Target bytes received per second.

    • targetReceivedPacketsPerSecond (float) - Target packets received per second.

    • targetSentBytesPerSecond (float) - Target bytes sent per second.

    • targetSentPacketsPerSecond (float) - Target packets sent per second.

  • requestUtilization (dict) - Target scaling by request utilization. Structure is documented below.

    • targetConcurrentRequests (float) - Target number of concurrent requests.

    • targetRequestCountPerSecond (str) - Target requests per second.

beta_settings: pulumi.Output[dict] = None

Metadata settings that are supplied to this version to enable beta runtime features.

default_expiration: pulumi.Output[str] = None

Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding StaticFilesHandler does not specify its own expiration time.

delete_service_on_destroy: pulumi.Output[bool] = None

If set to true, the service will be deleted if it is the last version.

deployment: pulumi.Output[dict] = None

Code and application artifacts that make up this version. Structure is documented below.

  • cloudBuildOptions (dict) - Options for the build operations performed as a part of the version deployment. Only applicable when creating a version using source code directly. Structure is documented below.

    • appYamlPath (str) - Path to the yaml file used in deployment, used to determine runtime configuration details.

    • cloudBuildTimeout (str) - The Cloud Build timeout used as part of any dependent builds performed by version creation. Defaults to 10 minutes. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example: “3.5s”.

  • container (dict) - The Docker image for the container that runs the version. Structure is documented below.

    • image (str) - URI to the hosted container image in Google Container Registry. The URI must be fully qualified and include a tag or digest. Examples: “gcr.io/my-project/image:tag” or “gcr.io/my-project/image@digest”

  • files (list) - Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. Structure is documented below.

    • name (str) - Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

    • sha1Sum (str) - SHA1 checksum of the file

    • sourceUrl (str) - Source URL

  • zip (dict) - Zip File Structure is documented below.

    • filesCount (float) - files count

    • sourceUrl (str) - Source URL

endpoints_api_service: pulumi.Output[dict] = None

Code and application artifacts that make up this version. Structure is documented below.

  • config_id (str) - Endpoints service configuration ID as specified by the Service Management API. For example “2016-09-19r1”. By default, the rollout strategy for Endpoints is “FIXED”. This means that Endpoints starts up with a particular configuration ID. When a new configuration is rolled out, Endpoints must be given the new configuration ID. The configId field is used to give the configuration ID and is required in this case. Endpoints also has a rollout strategy called “MANAGED”. When using this, Endpoints fetches the latest configuration and does not need the configuration ID. In this case, configId must be omitted.

  • disableTraceSampling (bool) - Enable or disable trace sampling. By default, this is set to false for enabled.

  • name (str) - Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

  • rolloutStrategy (str) - Endpoints rollout strategy. If FIXED, configId must be specified. If MANAGED, configId must be omitted.

entrypoint: pulumi.Output[dict] = None

The entrypoint for the application. Structure is documented below.

  • shell (str) - The format should be a shell command that can be fed to bash -c.

env_variables: pulumi.Output[dict] = None

Environment variables available to the application. As these are not returned in the API request, the provider will not detect any changes made outside of the config.

handlers: pulumi.Output[list] = None

An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted. Structure is documented below.

  • authFailAction (str) - Action to take when users access resources that require authentication.

  • login (str) - Level of login required to access this resource.

  • redirectHttpResponseCode (str) - 30x code to use when performing redirects for the secure field.

  • script (dict) - Path to the script from the application root directory.

    • scriptPath (str) - Path to the script from the application root directory.

  • securityLevel (str) - Security (HTTPS) enforcement for this URL.

  • staticFiles (dict) - Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them. Structure is documented below.

    • applicationReadable (bool) - Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.

    • expiration (str) - Time a static file served by this handler should be cached by web proxies and browsers. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example “3.5s”. Default is ‘0s’

    • httpHeaders (dict) - HTTP headers to use for all responses from these URLs. An object containing a list of “key:value” value pairs.”.

    • mimeType (str) - MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file’s filename extension.

    • path (str) - Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.

    • requireMatchingFile (bool) - Whether this handler should match the request if the file referenced by the handler does not exist.

    • uploadPathRegex (str) - Regular expression that matches the file paths for all files that should be referenced by this handler.

  • urlRegex (str) - URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.

inbound_services: pulumi.Output[list] = None

Before an application can receive email or XMPP messages, the application must be configured to enable the service.

instance_class: pulumi.Output[str] = None

Instance class that is used to run this version. Valid values are AutomaticScaling: F1, F2, F4, F4_1G ManualScaling: B1, B2, B4, B8, B4_1G Defaults to F1 for AutomaticScaling and B1 for ManualScaling.

liveness_check: pulumi.Output[dict] = None

Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Structure is documented below.

  • checkInterval (str) - Interval between health checks.

  • failureThreshold (float) - Number of consecutive failed checks required before considering the VM unhealthy. Default: 4.

  • host (str) - Host header to send when performing a HTTP Readiness check. Example: “myapp.appspot.com”

  • initialDelay (str) - The initial delay before starting to execute the checks. Default: “300s”

  • path (str) - Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.

  • successThreshold (float) - Number of consecutive successful checks required before considering the VM healthy. Default: 2.

  • timeout (str) - Time before the check is considered failed. Default: “4s”

manual_scaling: pulumi.Output[dict] = None

A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time. Structure is documented below.

  • instances (float) - Number of instances to assign to the service at the start. Note: When managing the number of instances at runtime through the App Engine Admin API or the (now deprecated) Python 2 Modules API set_num_instances() you must use lifecycle.ignore_changes = ["manual_scaling"[0].instances] to prevent drift detection.

name: pulumi.Output[str] = None

Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

network: pulumi.Output[dict] = None

Extra network settings Structure is documented below.

  • forwardedPorts (list) - List of ports, or port pairs, to forward from the virtual machine to the application container.

  • instanceTag (str) - Tag to apply to the instance during creation.

  • name (str) - Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

  • session_affinity (bool) - Enable session affinity.

  • subnetwork (str) - Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path. If the network that the instance is being created in is a Legacy network, then the IP address is allocated from the IPv4Range. If the network that the instance is being created in is an auto Subnet Mode Network, then only network name should be specified (not the subnetworkName) and the IP address is created from the IPCidrRange of the subnetwork that exists in that zone for that network. If the network that the instance is being created in is a custom Subnet Mode Network, then the subnetworkName must be specified and the IP address is created from the IPCidrRange of the subnetwork. If specified, the subnetwork must exist in the same region as the App Engine flexible environment application.

nobuild_files_regex: pulumi.Output[str] = None

Files that match this pattern will not be built into this version. Only applicable for Go runtimes.

noop_on_destroy: pulumi.Output[bool] = None

If set to true, the application version will not be deleted.

project: pulumi.Output[str] = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

readiness_check: pulumi.Output[dict] = None

Configures readiness health checking for instances. Unhealthy instances are not put into the backend traffic rotation. Structure is documented below.

  • appStartTimeout (str) - A maximum time limit on application initialization, measured from moment the application successfully replies to a healthcheck until it is ready to serve traffic. Default: “300s”

  • checkInterval (str) - Interval between health checks.

  • failureThreshold (float) - Number of consecutive failed checks required before considering the VM unhealthy. Default: 4.

  • host (str) - Host header to send when performing a HTTP Readiness check. Example: “myapp.appspot.com”

  • path (str) - Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.

  • successThreshold (float) - Number of consecutive successful checks required before considering the VM healthy. Default: 2.

  • timeout (str) - Time before the check is considered failed. Default: “4s”

resources: pulumi.Output[dict] = None

Machine resources for a version. Structure is documented below.

  • cpu (float) - Number of CPU cores needed.

  • diskGb (float) - Disk size (GB) needed.

  • memoryGb (float) - Memory (GB) needed.

  • volumes (list) - List of ports, or port pairs, to forward from the virtual machine to the application container. Structure is documented below.

    • name (str) - Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

    • sizeGb (float) - Volume size in gigabytes.

    • volumeType (str) - Underlying volume type, e.g. ‘tmpfs’.

runtime: pulumi.Output[str] = None

Desired runtime. Example python27.

runtime_api_version: pulumi.Output[str] = None

The version of the API in the given runtime environment. Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard//config/appref

runtime_channel: pulumi.Output[str] = None

The channel of the runtime to use. Only available for some runtimes.

runtime_main_executable_path: pulumi.Output[str] = None

The path or name of the app’s main executable.

service: pulumi.Output[str] = None

AppEngine service resource

serving_status: pulumi.Output[str] = None

Current serving status of this version. Only the versions with a SERVING status create instances and can be billed.

version_id: pulumi.Output[str] = None

Relative name of the version within the service. For example, v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names,”default”, “latest”, and any name with the prefix “ah-“.

vpc_access_connector: pulumi.Output[dict] = None

Enables VPC connectivity for standard apps. Structure is documented below.

  • name (str) - Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

static get(resource_name, id, opts=None, api_config=None, automatic_scaling=None, beta_settings=None, default_expiration=None, delete_service_on_destroy=None, deployment=None, endpoints_api_service=None, entrypoint=None, env_variables=None, handlers=None, inbound_services=None, instance_class=None, liveness_check=None, manual_scaling=None, name=None, network=None, nobuild_files_regex=None, noop_on_destroy=None, project=None, readiness_check=None, resources=None, runtime=None, runtime_api_version=None, runtime_channel=None, runtime_main_executable_path=None, service=None, serving_status=None, version_id=None, vpc_access_connector=None)

Get an existing FlexibleAppVersion resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • api_config (pulumi.Input[dict]) – Serving configuration for Google Cloud Endpoints. Structure is documented below.

  • automatic_scaling (pulumi.Input[dict]) – Automatic scaling is based on request rate, response latencies, and other application metrics. Structure is documented below.

  • beta_settings (pulumi.Input[dict]) – Metadata settings that are supplied to this version to enable beta runtime features.

  • default_expiration (pulumi.Input[str]) – Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding StaticFilesHandler does not specify its own expiration time.

  • delete_service_on_destroy (pulumi.Input[bool]) – If set to true, the service will be deleted if it is the last version.

  • deployment (pulumi.Input[dict]) – Code and application artifacts that make up this version. Structure is documented below.

  • endpoints_api_service (pulumi.Input[dict]) – Code and application artifacts that make up this version. Structure is documented below.

  • entrypoint (pulumi.Input[dict]) – The entrypoint for the application. Structure is documented below.

  • env_variables (pulumi.Input[dict]) – Environment variables available to the application. As these are not returned in the API request, the provider will not detect any changes made outside of the config.

  • handlers (pulumi.Input[list]) – An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted. Structure is documented below.

  • inbound_services (pulumi.Input[list]) – Before an application can receive email or XMPP messages, the application must be configured to enable the service.

  • instance_class (pulumi.Input[str]) – Instance class that is used to run this version. Valid values are AutomaticScaling: F1, F2, F4, F4_1G ManualScaling: B1, B2, B4, B8, B4_1G Defaults to F1 for AutomaticScaling and B1 for ManualScaling.

  • liveness_check (pulumi.Input[dict]) – Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Structure is documented below.

  • manual_scaling (pulumi.Input[dict]) – A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time. Structure is documented below.

  • name (pulumi.Input[str]) – Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

  • network (pulumi.Input[dict]) – Extra network settings Structure is documented below.

  • nobuild_files_regex (pulumi.Input[str]) – Files that match this pattern will not be built into this version. Only applicable for Go runtimes.

  • noop_on_destroy (pulumi.Input[bool]) – If set to true, the application version will not be deleted.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

  • readiness_check (pulumi.Input[dict]) – Configures readiness health checking for instances. Unhealthy instances are not put into the backend traffic rotation. Structure is documented below.

  • resources (pulumi.Input[dict]) – Machine resources for a version. Structure is documented below.

  • runtime (pulumi.Input[str]) – Desired runtime. Example python27.

  • runtime_api_version (pulumi.Input[str]) – The version of the API in the given runtime environment. Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard//config/appref

  • runtime_channel (pulumi.Input[str]) – The channel of the runtime to use. Only available for some runtimes.

  • runtime_main_executable_path (pulumi.Input[str]) – The path or name of the app’s main executable.

  • service (pulumi.Input[str]) – AppEngine service resource

  • serving_status (pulumi.Input[str]) – Current serving status of this version. Only the versions with a SERVING status create instances and can be billed.

  • version_id (pulumi.Input[str]) – Relative name of the version within the service. For example, v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names,”default”, “latest”, and any name with the prefix “ah-“.

  • vpc_access_connector (pulumi.Input[dict]) – Enables VPC connectivity for standard apps. Structure is documented below.

The api_config object supports the following:

  • authFailAction (pulumi.Input[str]) - Action to take when users access resources that require authentication.

  • login (pulumi.Input[str]) - Level of login required to access this resource.

  • script (pulumi.Input[str]) - Path to the script from the application root directory.

  • securityLevel (pulumi.Input[str]) - Security (HTTPS) enforcement for this URL.

  • url (pulumi.Input[str]) - URL to serve the endpoint at.

The automatic_scaling object supports the following:

  • coolDownPeriod (pulumi.Input[str]) - The time period that the Autoscaler should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. Default: 120s

  • cpuUtilization (pulumi.Input[dict]) - Target scaling by CPU usage. Structure is documented below.

    • aggregationWindowLength (pulumi.Input[str]) - Period of time over which CPU utilization is calculated.

    • targetUtilization (pulumi.Input[float]) - Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.

  • diskUtilization (pulumi.Input[dict]) - Target scaling by disk usage. Structure is documented below.

    • targetReadBytesPerSecond (pulumi.Input[float]) - Target bytes read per second.

    • targetReadOpsPerSecond (pulumi.Input[float]) - Target ops read per seconds.

    • targetWriteBytesPerSecond (pulumi.Input[float]) - Target bytes written per second.

    • targetWriteOpsPerSecond (pulumi.Input[float]) - Target ops written per second.

  • maxConcurrentRequests (pulumi.Input[float]) - Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Defaults to a runtime-specific value.

  • maxIdleInstances (pulumi.Input[float]) - Maximum number of idle instances that should be maintained for this version.

  • maxPendingLatency (pulumi.Input[str]) - Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.

  • maxTotalInstances (pulumi.Input[float]) - Maximum number of instances that should be started to handle requests for this version. Default: 20

  • minIdleInstances (pulumi.Input[float]) - Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.

  • minPendingLatency (pulumi.Input[str]) - Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.

  • minTotalInstances (pulumi.Input[float]) - Minimum number of running instances that should be maintained for this version. Default: 2

  • networkUtilization (pulumi.Input[dict]) - Target scaling by network usage. Structure is documented below.

    • targetReceivedBytesPerSecond (pulumi.Input[float]) - Target bytes received per second.

    • targetReceivedPacketsPerSecond (pulumi.Input[float]) - Target packets received per second.

    • targetSentBytesPerSecond (pulumi.Input[float]) - Target bytes sent per second.

    • targetSentPacketsPerSecond (pulumi.Input[float]) - Target packets sent per second.

  • requestUtilization (pulumi.Input[dict]) - Target scaling by request utilization. Structure is documented below.

    • targetConcurrentRequests (pulumi.Input[float]) - Target number of concurrent requests.

    • targetRequestCountPerSecond (pulumi.Input[str]) - Target requests per second.

The deployment object supports the following:

  • cloudBuildOptions (pulumi.Input[dict]) - Options for the build operations performed as a part of the version deployment. Only applicable when creating a version using source code directly. Structure is documented below.

    • appYamlPath (pulumi.Input[str]) - Path to the yaml file used in deployment, used to determine runtime configuration details.

    • cloudBuildTimeout (pulumi.Input[str]) - The Cloud Build timeout used as part of any dependent builds performed by version creation. Defaults to 10 minutes. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example: “3.5s”.

  • container (pulumi.Input[dict]) - The Docker image for the container that runs the version. Structure is documented below.

    • image (pulumi.Input[str]) - URI to the hosted container image in Google Container Registry. The URI must be fully qualified and include a tag or digest. Examples: “gcr.io/my-project/image:tag” or “gcr.io/my-project/image@digest”

  • files (pulumi.Input[list]) - Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. Structure is documented below.

    • name (pulumi.Input[str]) - Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

    • sha1Sum (pulumi.Input[str]) - SHA1 checksum of the file

    • sourceUrl (pulumi.Input[str]) - Source URL

  • zip (pulumi.Input[dict]) - Zip File Structure is documented below.

    • filesCount (pulumi.Input[float]) - files count

    • sourceUrl (pulumi.Input[str]) - Source URL

The endpoints_api_service object supports the following:

  • config_id (pulumi.Input[str]) - Endpoints service configuration ID as specified by the Service Management API. For example “2016-09-19r1”. By default, the rollout strategy for Endpoints is “FIXED”. This means that Endpoints starts up with a particular configuration ID. When a new configuration is rolled out, Endpoints must be given the new configuration ID. The configId field is used to give the configuration ID and is required in this case. Endpoints also has a rollout strategy called “MANAGED”. When using this, Endpoints fetches the latest configuration and does not need the configuration ID. In this case, configId must be omitted.

  • disableTraceSampling (pulumi.Input[bool]) - Enable or disable trace sampling. By default, this is set to false for enabled.

  • name (pulumi.Input[str]) - Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

  • rolloutStrategy (pulumi.Input[str]) - Endpoints rollout strategy. If FIXED, configId must be specified. If MANAGED, configId must be omitted.

The entrypoint object supports the following:

  • shell (pulumi.Input[str]) - The format should be a shell command that can be fed to bash -c.

The handlers object supports the following:

  • authFailAction (pulumi.Input[str]) - Action to take when users access resources that require authentication.

  • login (pulumi.Input[str]) - Level of login required to access this resource.

  • redirectHttpResponseCode (pulumi.Input[str]) - 30x code to use when performing redirects for the secure field.

  • script (pulumi.Input[dict]) - Path to the script from the application root directory.

    • scriptPath (pulumi.Input[str]) - Path to the script from the application root directory.

  • securityLevel (pulumi.Input[str]) - Security (HTTPS) enforcement for this URL.

  • staticFiles (pulumi.Input[dict]) - Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them. Structure is documented below.

    • applicationReadable (pulumi.Input[bool]) - Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.

    • expiration (pulumi.Input[str]) - Time a static file served by this handler should be cached by web proxies and browsers. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example “3.5s”. Default is ‘0s’

    • httpHeaders (pulumi.Input[dict]) - HTTP headers to use for all responses from these URLs. An object containing a list of “key:value” value pairs.”.

    • mimeType (pulumi.Input[str]) - MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file’s filename extension.

    • path (pulumi.Input[str]) - Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.

    • requireMatchingFile (pulumi.Input[bool]) - Whether this handler should match the request if the file referenced by the handler does not exist.

    • uploadPathRegex (pulumi.Input[str]) - Regular expression that matches the file paths for all files that should be referenced by this handler.

  • urlRegex (pulumi.Input[str]) - URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.

The liveness_check object supports the following:

  • checkInterval (pulumi.Input[str]) - Interval between health checks.

  • failureThreshold (pulumi.Input[float]) - Number of consecutive failed checks required before considering the VM unhealthy. Default: 4.

  • host (pulumi.Input[str]) - Host header to send when performing a HTTP Readiness check. Example: “myapp.appspot.com”

  • initialDelay (pulumi.Input[str]) - The initial delay before starting to execute the checks. Default: “300s”

  • path (pulumi.Input[str]) - Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.

  • successThreshold (pulumi.Input[float]) - Number of consecutive successful checks required before considering the VM healthy. Default: 2.

  • timeout (pulumi.Input[str]) - Time before the check is considered failed. Default: “4s”

The manual_scaling object supports the following:

  • instances (pulumi.Input[float]) - Number of instances to assign to the service at the start. Note: When managing the number of instances at runtime through the App Engine Admin API or the (now deprecated) Python 2 Modules API set_num_instances() you must use lifecycle.ignore_changes = ["manual_scaling"[0].instances] to prevent drift detection.

The network object supports the following:

  • forwardedPorts (pulumi.Input[list]) - List of ports, or port pairs, to forward from the virtual machine to the application container.

  • instanceTag (pulumi.Input[str]) - Tag to apply to the instance during creation.

  • name (pulumi.Input[str]) - Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

  • session_affinity (pulumi.Input[bool]) - Enable session affinity.

  • subnetwork (pulumi.Input[str]) - Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path. If the network that the instance is being created in is a Legacy network, then the IP address is allocated from the IPv4Range. If the network that the instance is being created in is an auto Subnet Mode Network, then only network name should be specified (not the subnetworkName) and the IP address is created from the IPCidrRange of the subnetwork that exists in that zone for that network. If the network that the instance is being created in is a custom Subnet Mode Network, then the subnetworkName must be specified and the IP address is created from the IPCidrRange of the subnetwork. If specified, the subnetwork must exist in the same region as the App Engine flexible environment application.

The readiness_check object supports the following:

  • appStartTimeout (pulumi.Input[str]) - A maximum time limit on application initialization, measured from moment the application successfully replies to a healthcheck until it is ready to serve traffic. Default: “300s”

  • checkInterval (pulumi.Input[str]) - Interval between health checks.

  • failureThreshold (pulumi.Input[float]) - Number of consecutive failed checks required before considering the VM unhealthy. Default: 4.

  • host (pulumi.Input[str]) - Host header to send when performing a HTTP Readiness check. Example: “myapp.appspot.com”

  • path (pulumi.Input[str]) - Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.

  • successThreshold (pulumi.Input[float]) - Number of consecutive successful checks required before considering the VM healthy. Default: 2.

  • timeout (pulumi.Input[str]) - Time before the check is considered failed. Default: “4s”

The resources object supports the following:

  • cpu (pulumi.Input[float]) - Number of CPU cores needed.

  • diskGb (pulumi.Input[float]) - Disk size (GB) needed.

  • memoryGb (pulumi.Input[float]) - Memory (GB) needed.

  • volumes (pulumi.Input[list]) - List of ports, or port pairs, to forward from the virtual machine to the application container. Structure is documented below.

    • name (pulumi.Input[str]) - Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

    • sizeGb (pulumi.Input[float]) - Volume size in gigabytes.

    • volumeType (pulumi.Input[str]) - Underlying volume type, e.g. ‘tmpfs’.

The vpc_access_connector object supports the following:

  • name (pulumi.Input[str]) - Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_gcp.appengine.StandardAppVersion(resource_name, opts=None, automatic_scaling=None, basic_scaling=None, delete_service_on_destroy=None, deployment=None, entrypoint=None, env_variables=None, handlers=None, inbound_services=None, instance_class=None, libraries=None, manual_scaling=None, noop_on_destroy=None, project=None, runtime=None, runtime_api_version=None, service=None, threadsafe=None, version_id=None, __props__=None, __name__=None, __opts__=None)

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:

import pulumi
import pulumi_gcp as gcp

bucket = gcp.storage.Bucket("bucket")
object = gcp.storage.BucketObject("object",
    bucket=bucket.name,
    source=pulumi.FileAsset("./test-fixtures/appengine/hello-world.zip"))
myapp_v1 = gcp.appengine.StandardAppVersion("myappV1",
    version_id="v1",
    service="myapp",
    runtime="nodejs10",
    entrypoint={
        "shell": "node ./app.js",
    },
    deployment={
        "zip": {
            "sourceUrl": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
        },
    },
    env_variables={
        "port": "8080",
    },
    automatic_scaling={
        "maxConcurrentRequests": 10,
        "minIdleInstances": 1,
        "maxIdleInstances": 3,
        "minPendingLatency": "1s",
        "maxPendingLatency": "5s",
        "standard_scheduler_settings": {
            "targetCpuUtilization": 0.5,
            "targetThroughputUtilization": 0.75,
            "minInstances": 2,
            "max_instances": 10,
        },
    },
    delete_service_on_destroy=True)
myapp_v2 = gcp.appengine.StandardAppVersion("myappV2",
    version_id="v2",
    service="myapp",
    runtime="nodejs10",
    entrypoint={
        "shell": "node ./app.js",
    },
    deployment={
        "zip": {
            "sourceUrl": pulumi.Output.all(bucket.name, object.name).apply(lambda bucketName, objectName: f"https://storage.googleapis.com/{bucket_name}/{object_name}"),
        },
    },
    env_variables={
        "port": "8080",
    },
    basic_scaling={
        "max_instances": 5,
    },
    noop_on_destroy=True)
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • automatic_scaling (pulumi.Input[dict]) – Automatic scaling is based on request rate, response latencies, and other application metrics. Structure is documented below.

  • basic_scaling (pulumi.Input[dict]) – Basic scaling creates instances when your application receives requests. Each instance will be shut down when the application becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity. Structure is documented below.

  • delete_service_on_destroy (pulumi.Input[bool]) – If set to true, the service will be deleted if it is the last version.

  • deployment (pulumi.Input[dict]) – Code and application artifacts that make up this version. Structure is documented below.

  • entrypoint (pulumi.Input[dict]) – The entrypoint for the application. Structure is documented below.

  • env_variables (pulumi.Input[dict]) – Environment variables available to the application.

  • handlers (pulumi.Input[list]) – An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted. Structure is documented below.

  • inbound_services (pulumi.Input[list]) – Before an application can receive email or XMPP messages, the application must be configured to enable the service.

  • instance_class (pulumi.Input[str]) – Instance class that is used to run this version. Valid values are AutomaticScaling: F1, F2, F4, F4_1G BasicScaling or ManualScaling: B1, B2, B4, B4_1G, B8 Defaults to F1 for AutomaticScaling and B2 for ManualScaling and BasicScaling. If no scaling is specified, AutomaticScaling is chosen.

  • libraries (pulumi.Input[list]) – Configuration for third-party Python runtime libraries that are required by the application. Structure is documented below.

  • manual_scaling (pulumi.Input[dict]) – A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time. Structure is documented below.

  • noop_on_destroy (pulumi.Input[bool]) – If set to true, the application version will not be deleted.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

  • runtime (pulumi.Input[str]) – Desired runtime. Example python27.

  • runtime_api_version (pulumi.Input[str]) – The version of the API in the given runtime environment. Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard//config/appref

  • service (pulumi.Input[str]) – AppEngine service resource

  • threadsafe (pulumi.Input[bool]) – Whether multiple requests can be dispatched to this version at once.

  • version_id (pulumi.Input[str]) – Relative name of the version within the service. For example, v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names,”default”, “latest”, and any name with the prefix “ah-“.

The automatic_scaling object supports the following:

  • maxConcurrentRequests (pulumi.Input[float]) - Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Defaults to a runtime-specific value.

  • maxIdleInstances (pulumi.Input[float]) - Maximum number of idle instances that should be maintained for this version.

  • maxPendingLatency (pulumi.Input[str]) - Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example: “3.5s”.

  • minIdleInstances (pulumi.Input[float]) - Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.

  • minPendingLatency (pulumi.Input[str]) - Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example: “3.5s”.

  • standardSchedulerSettings (pulumi.Input[dict]) - Scheduler settings for standard environment. Structure is documented below.

    • max_instances (pulumi.Input[float]) - Maximum number of instances to create for this version. Must be in the range [1.0, 200.0].

    • minInstances (pulumi.Input[float]) - Minimum number of instances to run for this version. Set to zero to disable minInstances configuration.

    • targetCpuUtilization (pulumi.Input[float]) - Target CPU utilization ratio to maintain when scaling. Should be a value in the range [0.50, 0.95], zero, or a negative value.

    • targetThroughputUtilization (pulumi.Input[float]) - Target throughput utilization ratio to maintain when scaling. Should be a value in the range [0.50, 0.95], zero, or a negative value.

The basic_scaling object supports the following:

  • idleTimeout (pulumi.Input[str]) - Duration of time after the last request that an instance must wait before the instance is shut down. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example: “3.5s”. Defaults to 900s.

  • max_instances (pulumi.Input[float]) - Maximum number of instances to create for this version. Must be in the range [1.0, 200.0].

The deployment object supports the following:

  • files (pulumi.Input[list]) - Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. Structure is documented below.

    • name (pulumi.Input[str]) - Name of the library. Example “django”.

    • sha1Sum (pulumi.Input[str]) - SHA1 checksum of the file

    • sourceUrl (pulumi.Input[str]) - Source URL

  • zip (pulumi.Input[dict]) - Zip File Structure is documented below.

    • filesCount (pulumi.Input[float]) - files count

    • sourceUrl (pulumi.Input[str]) - Source URL

The entrypoint object supports the following:

  • shell (pulumi.Input[str]) - The format should be a shell command that can be fed to bash -c.

The handlers object supports the following:

  • authFailAction (pulumi.Input[str]) - Actions to take when the user is not logged in.

  • login (pulumi.Input[str]) - Methods to restrict access to a URL based on login status.

  • redirectHttpResponseCode (pulumi.Input[str]) - 30x code to use when performing redirects for the secure field.

  • script (pulumi.Input[dict]) - Executes a script to handle the requests that match this URL pattern. Only the auto value is supported for Node.js in the App Engine standard environment, for example “script:” “auto”. Structure is documented below.

    • scriptPath (pulumi.Input[str]) - Path to the script from the application root directory.

  • securityLevel (pulumi.Input[str]) - Security (HTTPS) enforcement for this URL.

  • staticFiles (pulumi.Input[dict]) - Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them. Structure is documented below.

    • applicationReadable (pulumi.Input[bool]) - Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.

    • expiration (pulumi.Input[str]) - Time a static file served by this handler should be cached by web proxies and browsers. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example “3.5s”.

    • httpHeaders (pulumi.Input[dict]) - HTTP headers to use for all responses from these URLs. An object containing a list of “key:value” value pairs.”.

    • mimeType (pulumi.Input[str]) - MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file’s filename extension.

    • path (pulumi.Input[str]) - Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.

    • requireMatchingFile (pulumi.Input[bool]) - Whether this handler should match the request if the file referenced by the handler does not exist.

    • uploadPathRegex (pulumi.Input[str]) - Regular expression that matches the file paths for all files that should be referenced by this handler.

  • urlRegex (pulumi.Input[str]) - URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.

The libraries object supports the following:

  • name (pulumi.Input[str]) - Name of the library. Example “django”.

  • version (pulumi.Input[str]) - Version of the library to select, or “latest”.

The manual_scaling object supports the following:

  • instances (pulumi.Input[float]) - Number of instances to assign to the service at the start. Note: When managing the number of instances at runtime through the App Engine Admin API or the (now deprecated) Python 2 Modules API set_num_instances() you must use lifecycle.ignore_changes = ["manual_scaling"[0].instances] to prevent drift detection.

automatic_scaling: pulumi.Output[dict] = None

Automatic scaling is based on request rate, response latencies, and other application metrics. Structure is documented below.

  • maxConcurrentRequests (float) - Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Defaults to a runtime-specific value.

  • maxIdleInstances (float) - Maximum number of idle instances that should be maintained for this version.

  • maxPendingLatency (str) - Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example: “3.5s”.

  • minIdleInstances (float) - Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.

  • minPendingLatency (str) - Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example: “3.5s”.

  • standardSchedulerSettings (dict) - Scheduler settings for standard environment. Structure is documented below.

    • max_instances (float) - Maximum number of instances to create for this version. Must be in the range [1.0, 200.0].

    • minInstances (float) - Minimum number of instances to run for this version. Set to zero to disable minInstances configuration.

    • targetCpuUtilization (float) - Target CPU utilization ratio to maintain when scaling. Should be a value in the range [0.50, 0.95], zero, or a negative value.

    • targetThroughputUtilization (float) - Target throughput utilization ratio to maintain when scaling. Should be a value in the range [0.50, 0.95], zero, or a negative value.

basic_scaling: pulumi.Output[dict] = None

Basic scaling creates instances when your application receives requests. Each instance will be shut down when the application becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity. Structure is documented below.

  • idleTimeout (str) - Duration of time after the last request that an instance must wait before the instance is shut down. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example: “3.5s”. Defaults to 900s.

  • max_instances (float) - Maximum number of instances to create for this version. Must be in the range [1.0, 200.0].

delete_service_on_destroy: pulumi.Output[bool] = None

If set to true, the service will be deleted if it is the last version.

deployment: pulumi.Output[dict] = None

Code and application artifacts that make up this version. Structure is documented below.

  • files (list) - Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. Structure is documented below.

    • name (str) - Name of the library. Example “django”.

    • sha1Sum (str) - SHA1 checksum of the file

    • sourceUrl (str) - Source URL

  • zip (dict) - Zip File Structure is documented below.

    • filesCount (float) - files count

    • sourceUrl (str) - Source URL

entrypoint: pulumi.Output[dict] = None

The entrypoint for the application. Structure is documented below.

  • shell (str) - The format should be a shell command that can be fed to bash -c.

env_variables: pulumi.Output[dict] = None

Environment variables available to the application.

handlers: pulumi.Output[list] = None

An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted. Structure is documented below.

  • authFailAction (str) - Actions to take when the user is not logged in.

  • login (str) - Methods to restrict access to a URL based on login status.

  • redirectHttpResponseCode (str) - 30x code to use when performing redirects for the secure field.

  • script (dict) - Executes a script to handle the requests that match this URL pattern. Only the auto value is supported for Node.js in the App Engine standard environment, for example “script:” “auto”. Structure is documented below.

    • scriptPath (str) - Path to the script from the application root directory.

  • securityLevel (str) - Security (HTTPS) enforcement for this URL.

  • staticFiles (dict) - Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them. Structure is documented below.

    • applicationReadable (bool) - Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.

    • expiration (str) - Time a static file served by this handler should be cached by web proxies and browsers. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example “3.5s”.

    • httpHeaders (dict) - HTTP headers to use for all responses from these URLs. An object containing a list of “key:value” value pairs.”.

    • mimeType (str) - MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file’s filename extension.

    • path (str) - Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.

    • requireMatchingFile (bool) - Whether this handler should match the request if the file referenced by the handler does not exist.

    • uploadPathRegex (str) - Regular expression that matches the file paths for all files that should be referenced by this handler.

  • urlRegex (str) - URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.

inbound_services: pulumi.Output[list] = None

Before an application can receive email or XMPP messages, the application must be configured to enable the service.

instance_class: pulumi.Output[str] = None

Instance class that is used to run this version. Valid values are AutomaticScaling: F1, F2, F4, F4_1G BasicScaling or ManualScaling: B1, B2, B4, B4_1G, B8 Defaults to F1 for AutomaticScaling and B2 for ManualScaling and BasicScaling. If no scaling is specified, AutomaticScaling is chosen.

libraries: pulumi.Output[list] = None

Configuration for third-party Python runtime libraries that are required by the application. Structure is documented below.

  • name (str) - Name of the library. Example “django”.

  • version (str) - Version of the library to select, or “latest”.

manual_scaling: pulumi.Output[dict] = None

A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time. Structure is documented below.

  • instances (float) - Number of instances to assign to the service at the start. Note: When managing the number of instances at runtime through the App Engine Admin API or the (now deprecated) Python 2 Modules API set_num_instances() you must use lifecycle.ignore_changes = ["manual_scaling"[0].instances] to prevent drift detection.

name: pulumi.Output[str] = None

Name of the library. Example “django”.

noop_on_destroy: pulumi.Output[bool] = None

If set to true, the application version will not be deleted.

project: pulumi.Output[str] = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

runtime: pulumi.Output[str] = None

Desired runtime. Example python27.

runtime_api_version: pulumi.Output[str] = None

The version of the API in the given runtime environment. Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard//config/appref

service: pulumi.Output[str] = None

AppEngine service resource

threadsafe: pulumi.Output[bool] = None

Whether multiple requests can be dispatched to this version at once.

version_id: pulumi.Output[str] = None

Relative name of the version within the service. For example, v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names,”default”, “latest”, and any name with the prefix “ah-“.

static get(resource_name, id, opts=None, automatic_scaling=None, basic_scaling=None, delete_service_on_destroy=None, deployment=None, entrypoint=None, env_variables=None, handlers=None, inbound_services=None, instance_class=None, libraries=None, manual_scaling=None, name=None, noop_on_destroy=None, project=None, runtime=None, runtime_api_version=None, service=None, threadsafe=None, version_id=None)

Get an existing StandardAppVersion resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • automatic_scaling (pulumi.Input[dict]) – Automatic scaling is based on request rate, response latencies, and other application metrics. Structure is documented below.

  • basic_scaling (pulumi.Input[dict]) – Basic scaling creates instances when your application receives requests. Each instance will be shut down when the application becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity. Structure is documented below.

  • delete_service_on_destroy (pulumi.Input[bool]) – If set to true, the service will be deleted if it is the last version.

  • deployment (pulumi.Input[dict]) – Code and application artifacts that make up this version. Structure is documented below.

  • entrypoint (pulumi.Input[dict]) – The entrypoint for the application. Structure is documented below.

  • env_variables (pulumi.Input[dict]) – Environment variables available to the application.

  • handlers (pulumi.Input[list]) – An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted. Structure is documented below.

  • inbound_services (pulumi.Input[list]) – Before an application can receive email or XMPP messages, the application must be configured to enable the service.

  • instance_class (pulumi.Input[str]) – Instance class that is used to run this version. Valid values are AutomaticScaling: F1, F2, F4, F4_1G BasicScaling or ManualScaling: B1, B2, B4, B4_1G, B8 Defaults to F1 for AutomaticScaling and B2 for ManualScaling and BasicScaling. If no scaling is specified, AutomaticScaling is chosen.

  • libraries (pulumi.Input[list]) – Configuration for third-party Python runtime libraries that are required by the application. Structure is documented below.

  • manual_scaling (pulumi.Input[dict]) – A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time. Structure is documented below.

  • name (pulumi.Input[str]) – Name of the library. Example “django”.

  • noop_on_destroy (pulumi.Input[bool]) – If set to true, the application version will not be deleted.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

  • runtime (pulumi.Input[str]) – Desired runtime. Example python27.

  • runtime_api_version (pulumi.Input[str]) – The version of the API in the given runtime environment. Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard//config/appref

  • service (pulumi.Input[str]) – AppEngine service resource

  • threadsafe (pulumi.Input[bool]) – Whether multiple requests can be dispatched to this version at once.

  • version_id (pulumi.Input[str]) – Relative name of the version within the service. For example, v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names,”default”, “latest”, and any name with the prefix “ah-“.

The automatic_scaling object supports the following:

  • maxConcurrentRequests (pulumi.Input[float]) - Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Defaults to a runtime-specific value.

  • maxIdleInstances (pulumi.Input[float]) - Maximum number of idle instances that should be maintained for this version.

  • maxPendingLatency (pulumi.Input[str]) - Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example: “3.5s”.

  • minIdleInstances (pulumi.Input[float]) - Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.

  • minPendingLatency (pulumi.Input[str]) - Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example: “3.5s”.

  • standardSchedulerSettings (pulumi.Input[dict]) - Scheduler settings for standard environment. Structure is documented below.

    • max_instances (pulumi.Input[float]) - Maximum number of instances to create for this version. Must be in the range [1.0, 200.0].

    • minInstances (pulumi.Input[float]) - Minimum number of instances to run for this version. Set to zero to disable minInstances configuration.

    • targetCpuUtilization (pulumi.Input[float]) - Target CPU utilization ratio to maintain when scaling. Should be a value in the range [0.50, 0.95], zero, or a negative value.

    • targetThroughputUtilization (pulumi.Input[float]) - Target throughput utilization ratio to maintain when scaling. Should be a value in the range [0.50, 0.95], zero, or a negative value.

The basic_scaling object supports the following:

  • idleTimeout (pulumi.Input[str]) - Duration of time after the last request that an instance must wait before the instance is shut down. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example: “3.5s”. Defaults to 900s.

  • max_instances (pulumi.Input[float]) - Maximum number of instances to create for this version. Must be in the range [1.0, 200.0].

The deployment object supports the following:

  • files (pulumi.Input[list]) - Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. Structure is documented below.

    • name (pulumi.Input[str]) - Name of the library. Example “django”.

    • sha1Sum (pulumi.Input[str]) - SHA1 checksum of the file

    • sourceUrl (pulumi.Input[str]) - Source URL

  • zip (pulumi.Input[dict]) - Zip File Structure is documented below.

    • filesCount (pulumi.Input[float]) - files count

    • sourceUrl (pulumi.Input[str]) - Source URL

The entrypoint object supports the following:

  • shell (pulumi.Input[str]) - The format should be a shell command that can be fed to bash -c.

The handlers object supports the following:

  • authFailAction (pulumi.Input[str]) - Actions to take when the user is not logged in.

  • login (pulumi.Input[str]) - Methods to restrict access to a URL based on login status.

  • redirectHttpResponseCode (pulumi.Input[str]) - 30x code to use when performing redirects for the secure field.

  • script (pulumi.Input[dict]) - Executes a script to handle the requests that match this URL pattern. Only the auto value is supported for Node.js in the App Engine standard environment, for example “script:” “auto”. Structure is documented below.

    • scriptPath (pulumi.Input[str]) - Path to the script from the application root directory.

  • securityLevel (pulumi.Input[str]) - Security (HTTPS) enforcement for this URL.

  • staticFiles (pulumi.Input[dict]) - Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them. Structure is documented below.

    • applicationReadable (pulumi.Input[bool]) - Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.

    • expiration (pulumi.Input[str]) - Time a static file served by this handler should be cached by web proxies and browsers. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example “3.5s”.

    • httpHeaders (pulumi.Input[dict]) - HTTP headers to use for all responses from these URLs. An object containing a list of “key:value” value pairs.”.

    • mimeType (pulumi.Input[str]) - MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file’s filename extension.

    • path (pulumi.Input[str]) - Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.

    • requireMatchingFile (pulumi.Input[bool]) - Whether this handler should match the request if the file referenced by the handler does not exist.

    • uploadPathRegex (pulumi.Input[str]) - Regular expression that matches the file paths for all files that should be referenced by this handler.

  • urlRegex (pulumi.Input[str]) - URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.

The libraries object supports the following:

  • name (pulumi.Input[str]) - Name of the library. Example “django”.

  • version (pulumi.Input[str]) - Version of the library to select, or “latest”.

The manual_scaling object supports the following:

  • instances (pulumi.Input[float]) - Number of instances to assign to the service at the start. Note: When managing the number of instances at runtime through the App Engine Admin API or the (now deprecated) Python 2 Modules API set_num_instances() you must use lifecycle.ignore_changes = ["manual_scaling"[0].instances] to prevent drift detection.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str