<filename>sdk/python/pulumi_gcp/appengine/standard_app_version.py
# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from .. import _utilities
from . import outputs
from ._inputs import *

__all__ = ['StandardAppVersionArgs', 'StandardAppVersion']

@pulumi.input_type
class StandardAppVersionArgs:
    def __init__(__self__, *,
                 deployment: pulumi.Input['StandardAppVersionDeploymentArgs'],
                 entrypoint: pulumi.Input['StandardAppVersionEntrypointArgs'],
                 runtime: pulumi.Input[str],
                 service: pulumi.Input[str],
                 automatic_scaling: Optional[pulumi.Input['StandardAppVersionAutomaticScalingArgs']] = None,
                 basic_scaling: Optional[pulumi.Input['StandardAppVersionBasicScalingArgs']] = None,
                 delete_service_on_destroy: Optional[pulumi.Input[bool]] = None,
                 env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                 handlers: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]]] = None,
                 inbound_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 instance_class: Optional[pulumi.Input[str]] = None,
                 libraries: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]]] = None,
                 manual_scaling: Optional[pulumi.Input['StandardAppVersionManualScalingArgs']] = None,
                 noop_on_destroy: Optional[pulumi.Input[bool]] = None,
                 project: Optional[pulumi.Input[str]] = None,
                 runtime_api_version: Optional[pulumi.Input[str]] = None,
                 threadsafe: Optional[pulumi.Input[bool]] = None,
                 version_id: Optional[pulumi.Input[str]] = None,
                 vpc_access_connector: Optional[pulumi.Input['StandardAppVersionVpcAccessConnectorArgs']] = None):
        """
        The set of arguments for constructing a StandardAppVersion resource.
        :param pulumi.Input['StandardAppVersionDeploymentArgs'] deployment: Code and application artifacts that make up this version.
               Structure is documented below.
        :param pulumi.Input['StandardAppVersionEntrypointArgs'] entrypoint: The entrypoint for the application.
               Structure is documented below.
        :param pulumi.Input[str] runtime: Desired runtime. Example python27.
        :param pulumi.Input[str] service: AppEngine service resource
        :param pulumi.Input['StandardAppVersionAutomaticScalingArgs'] automatic_scaling: Automatic scaling is based on request rate, response latencies, and other application metrics.
               Structure is documented below.
        :param pulumi.Input['StandardAppVersionBasicScalingArgs'] basic_scaling: 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.
        :param pulumi.Input[bool] delete_service_on_destroy: If set to `true`, the service will be deleted if it is the last version.
        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.
        :param pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]] handlers: 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.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] inbound_services: A list of the types of messages that this application is able to receive.
               Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.
        :param pulumi.Input[str] instance_class: 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.
        :param pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]] libraries: Configuration for third-party Python runtime libraries that are required by the application.
               Structure is documented below.
        :param pulumi.Input['StandardAppVersionManualScalingArgs'] manual_scaling: 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.
        :param pulumi.Input[bool] noop_on_destroy: If set to `true`, the application version will not be deleted.
        :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
               If it is not provided, the provider project is used.
        :param pulumi.Input[str] runtime_api_version: 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/<language>/config/appref`\
               Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.
        :param pulumi.Input[bool] threadsafe: Whether multiple requests can be dispatched to this version at once.
        :param pulumi.Input[str] version_id: 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-".
        :param pulumi.Input['StandardAppVersionVpcAccessConnectorArgs'] vpc_access_connector: Enables VPC connectivity for standard apps.
               Structure is documented below.
        """
        pulumi.set(__self__, "deployment", deployment)
        pulumi.set(__self__, "entrypoint", entrypoint)
        pulumi.set(__self__, "runtime", runtime)
        pulumi.set(__self__, "service", service)
        if automatic_scaling is not None:
            pulumi.set(__self__, "automatic_scaling", automatic_scaling)
        if basic_scaling is not None:
            pulumi.set(__self__, "basic_scaling", basic_scaling)
        if delete_service_on_destroy is not None:
            pulumi.set(__self__, "delete_service_on_destroy", delete_service_on_destroy)
        if env_variables is not None:
            pulumi.set(__self__, "env_variables", env_variables)
        if handlers is not None:
            pulumi.set(__self__, "handlers", handlers)
        if inbound_services is not None:
            pulumi.set(__self__, "inbound_services", inbound_services)
        if instance_class is not None:
            pulumi.set(__self__, "instance_class", instance_class)
        if libraries is not None:
            pulumi.set(__self__, "libraries", libraries)
        if manual_scaling is not None:
            pulumi.set(__self__, "manual_scaling", manual_scaling)
        if noop_on_destroy is not None:
            pulumi.set(__self__, "noop_on_destroy", noop_on_destroy)
        if project is not None:
            pulumi.set(__self__, "project", project)
        if runtime_api_version is not None:
            pulumi.set(__self__, "runtime_api_version", runtime_api_version)
        if threadsafe is not None:
            pulumi.set(__self__, "threadsafe", threadsafe)
        if version_id is not None:
            pulumi.set(__self__, "version_id", version_id)
        if vpc_access_connector is not None:
            pulumi.set(__self__, "vpc_access_connector", vpc_access_connector)

    @property
    @pulumi.getter
    def deployment(self) -> pulumi.Input['StandardAppVersionDeploymentArgs']:
        """
        Code and application artifacts that make up this version.
        Structure is documented below.
        """
        return pulumi.get(self, "deployment")

    @deployment.setter
    def deployment(self, value: pulumi.Input['StandardAppVersionDeploymentArgs']):
        pulumi.set(self, "deployment", value)

    @property
    @pulumi.getter
    def entrypoint(self) -> pulumi.Input['StandardAppVersionEntrypointArgs']:
        """
        The entrypoint for the application.
        Structure is documented below.
        """
        return pulumi.get(self, "entrypoint")

    @entrypoint.setter
    def entrypoint(self, value: pulumi.Input['StandardAppVersionEntrypointArgs']):
        pulumi.set(self, "entrypoint", value)

    @property
    @pulumi.getter
    def runtime(self) -> pulumi.Input[str]:
        """
        Desired runtime. Example python27.
        """
        return pulumi.get(self, "runtime")

    @runtime.setter
    def runtime(self, value: pulumi.Input[str]):
        pulumi.set(self, "runtime", value)

    @property
    @pulumi.getter
    def service(self) -> pulumi.Input[str]:
        """
        AppEngine service resource
        """
        return pulumi.get(self, "service")

    @service.setter
    def service(self, value: pulumi.Input[str]):
        pulumi.set(self, "service", value)

    @property
    @pulumi.getter(name="automaticScaling")
    def automatic_scaling(self) -> Optional[pulumi.Input['StandardAppVersionAutomaticScalingArgs']]:
        """
        Automatic scaling is based on request rate, response latencies, and other application metrics.
        Structure is documented below.
        """
        return pulumi.get(self, "automatic_scaling")

    @automatic_scaling.setter
    def automatic_scaling(self, value: Optional[pulumi.Input['StandardAppVersionAutomaticScalingArgs']]):
        pulumi.set(self, "automatic_scaling", value)

    @property
    @pulumi.getter(name="basicScaling")
    def basic_scaling(self) -> Optional[pulumi.Input['StandardAppVersionBasicScalingArgs']]:
        """
        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.
        """
        return pulumi.get(self, "basic_scaling")

    @basic_scaling.setter
    def basic_scaling(self, value: Optional[pulumi.Input['StandardAppVersionBasicScalingArgs']]):
        pulumi.set(self, "basic_scaling", value)

    @property
    @pulumi.getter(name="deleteServiceOnDestroy")
    def delete_service_on_destroy(self) -> Optional[pulumi.Input[bool]]:
        """
        If set to `true`, the service will be deleted if it is the last version.
        """
        return pulumi.get(self, "delete_service_on_destroy")

    @delete_service_on_destroy.setter
    def delete_service_on_destroy(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "delete_service_on_destroy", value)

    @property
    @pulumi.getter(name="envVariables")
    def env_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
        """
        Environment variables available to the application.
        """
        return pulumi.get(self, "env_variables")

    @env_variables.setter
    def env_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
        pulumi.set(self, "env_variables", value)

    @property
    @pulumi.getter
    def handlers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]]]:
        """
        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.
        """
        return pulumi.get(self, "handlers")

    @handlers.setter
    def handlers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]]]):
        pulumi.set(self, "handlers", value)

    @property
    @pulumi.getter(name="inboundServices")
    def inbound_services(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        A list of the types of messages that this application is able to receive.
        Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.
        """
        return pulumi.get(self, "inbound_services")

    @inbound_services.setter
    def inbound_services(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
        pulumi.set(self, "inbound_services", value)

    @property
    @pulumi.getter(name="instanceClass")
    def instance_class(self) -> Optional[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.
        """
        return pulumi.get(self, "instance_class")

    @instance_class.setter
    def instance_class(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "instance_class", value)

    @property
    @pulumi.getter
    def libraries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]]]:
        """
        Configuration for third-party Python runtime libraries that are required by the application.
        Structure is documented below.
        """
        return pulumi.get(self, "libraries")

    @libraries.setter
    def libraries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]]]):
        pulumi.set(self, "libraries", value)

    @property
    @pulumi.getter(name="manualScaling")
    def manual_scaling(self) -> Optional[pulumi.Input['StandardAppVersionManualScalingArgs']]:
        """
        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.
        """
        return pulumi.get(self, "manual_scaling")

    @manual_scaling.setter
    def manual_scaling(self, value: Optional[pulumi.Input['StandardAppVersionManualScalingArgs']]):
        pulumi.set(self, "manual_scaling", value)

    @property
    @pulumi.getter(name="noopOnDestroy")
    def noop_on_destroy(self) -> Optional[pulumi.Input[bool]]:
        """
        If set to `true`, the application version will not be deleted.
        """
        return pulumi.get(self, "noop_on_destroy")

    @noop_on_destroy.setter
    def noop_on_destroy(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "noop_on_destroy", value)

    @property
    @pulumi.getter
    def project(self) -> Optional[pulumi.Input[str]]:
        """
        The ID of the project in which the resource belongs.
        If it is not provided, the provider project is used.
        """
        return pulumi.get(self, "project")

    @project.setter
    def project(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "project", value)

    @property
    @pulumi.getter(name="runtimeApiVersion")
    def runtime_api_version(self) -> Optional[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/<language>/config/appref`\
        Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.
        """
        return pulumi.get(self, "runtime_api_version")

    @runtime_api_version.setter
    def runtime_api_version(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "runtime_api_version", value)

    @property
    @pulumi.getter
    def threadsafe(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether multiple requests can be dispatched to this version at once.
        """
        return pulumi.get(self, "threadsafe")

    @threadsafe.setter
    def threadsafe(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "threadsafe", value)

    @property
    @pulumi.getter(name="versionId")
    def version_id(self) -> Optional[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-".
        """
        return pulumi.get(self, "version_id")

    @version_id.setter
    def version_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "version_id", value)

    @property
    @pulumi.getter(name="vpcAccessConnector")
    def vpc_access_connector(self) -> Optional[pulumi.Input['StandardAppVersionVpcAccessConnectorArgs']]:
        """
        Enables VPC connectivity for standard apps.
        Structure is documented below.
        """
        return pulumi.get(self, "vpc_access_connector")

    @vpc_access_connector.setter
    def vpc_access_connector(self, value: Optional[pulumi.Input['StandardAppVersionVpcAccessConnectorArgs']]):
        pulumi.set(self, "vpc_access_connector", value)


@pulumi.input_type
class _StandardAppVersionState:
    def __init__(__self__, *,
                 automatic_scaling: Optional[pulumi.Input['StandardAppVersionAutomaticScalingArgs']] = None,
                 basic_scaling: Optional[pulumi.Input['StandardAppVersionBasicScalingArgs']] = None,
                 delete_service_on_destroy: Optional[pulumi.Input[bool]] = None,
                 deployment: Optional[pulumi.Input['StandardAppVersionDeploymentArgs']] = None,
                 entrypoint: Optional[pulumi.Input['StandardAppVersionEntrypointArgs']] = None,
                 env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                 handlers: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]]] = None,
                 inbound_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 instance_class: Optional[pulumi.Input[str]] = None,
                 libraries: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]]] = None,
                 manual_scaling: Optional[pulumi.Input['StandardAppVersionManualScalingArgs']] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 noop_on_destroy: Optional[pulumi.Input[bool]] = None,
                 project: Optional[pulumi.Input[str]] = None,
                 runtime: Optional[pulumi.Input[str]] = None,
                 runtime_api_version: Optional[pulumi.Input[str]] = None,
                 service: Optional[pulumi.Input[str]] = None,
                 threadsafe: Optional[pulumi.Input[bool]] = None,
                 version_id: Optional[pulumi.Input[str]] = None,
                 vpc_access_connector: Optional[pulumi.Input['StandardAppVersionVpcAccessConnectorArgs']] = None):
        """
        Input properties used for looking up and filtering StandardAppVersion resources.
        :param pulumi.Input['StandardAppVersionAutomaticScalingArgs'] automatic_scaling: Automatic scaling is based on request rate, response latencies, and other application metrics.
               Structure is documented below.
        :param pulumi.Input['StandardAppVersionBasicScalingArgs'] basic_scaling: 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.
        :param pulumi.Input[bool] delete_service_on_destroy: If set to `true`, the service will be deleted if it is the last version.
        :param pulumi.Input['StandardAppVersionDeploymentArgs'] deployment: Code and application artifacts that make up this version.
               Structure is documented below.
        :param pulumi.Input['StandardAppVersionEntrypointArgs'] entrypoint: The entrypoint for the application.
               Structure is documented below.
        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.
        :param pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]] handlers: 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.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] inbound_services: A list of the types of messages that this application is able to receive.
               Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.
        :param pulumi.Input[str] instance_class: 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.
        :param pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]] libraries: Configuration for third-party Python runtime libraries that are required by the application.
               Structure is documented below.
        :param pulumi.Input['StandardAppVersionManualScalingArgs'] manual_scaling: 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.
        :param pulumi.Input[str] name: Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.
        :param pulumi.Input[bool] noop_on_destroy: If set to `true`, the application version will not be deleted.
        :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
               If it is not provided, the provider project is used.
        :param pulumi.Input[str] runtime: Desired runtime. Example python27.
        :param pulumi.Input[str] runtime_api_version: 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/<language>/config/appref`\
               Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.
        :param pulumi.Input[str] service: AppEngine service resource
        :param pulumi.Input[bool] threadsafe: Whether multiple requests can be dispatched to this version at once.
        :param pulumi.Input[str] version_id: 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-".
        :param pulumi.Input['StandardAppVersionVpcAccessConnectorArgs'] vpc_access_connector: Enables VPC connectivity for standard apps.
               Structure is documented below.
        """
        if automatic_scaling is not None:
            pulumi.set(__self__, "automatic_scaling", automatic_scaling)
        if basic_scaling is not None:
            pulumi.set(__self__, "basic_scaling", basic_scaling)
        if delete_service_on_destroy is not None:
            pulumi.set(__self__, "delete_service_on_destroy", delete_service_on_destroy)
        if deployment is not None:
            pulumi.set(__self__, "deployment", deployment)
        if entrypoint is not None:
            pulumi.set(__self__, "entrypoint", entrypoint)
        if env_variables is not None:
            pulumi.set(__self__, "env_variables", env_variables)
        if handlers is not None:
            pulumi.set(__self__, "handlers", handlers)
        if inbound_services is not None:
            pulumi.set(__self__, "inbound_services", inbound_services)
        if instance_class is not None:
            pulumi.set(__self__, "instance_class", instance_class)
        if libraries is not None:
            pulumi.set(__self__, "libraries", libraries)
        if manual_scaling is not None:
            pulumi.set(__self__, "manual_scaling", manual_scaling)
        if name is not None:
            pulumi.set(__self__, "name", name)
        if noop_on_destroy is not None:
            pulumi.set(__self__, "noop_on_destroy", noop_on_destroy)
        if project is not None:
            pulumi.set(__self__, "project", project)
        if runtime is not None:
            pulumi.set(__self__, "runtime", runtime)
        if runtime_api_version is not None:
            pulumi.set(__self__, "runtime_api_version", runtime_api_version)
        if service is not None:
            pulumi.set(__self__, "service", service)
        if threadsafe is not None:
            pulumi.set(__self__, "threadsafe", threadsafe)
        if version_id is not None:
            pulumi.set(__self__, "version_id", version_id)
        if vpc_access_connector is not None:
            pulumi.set(__self__, "vpc_access_connector", vpc_access_connector)

    @property
    @pulumi.getter(name="automaticScaling")
    def automatic_scaling(self) -> Optional[pulumi.Input['StandardAppVersionAutomaticScalingArgs']]:
        """
        Automatic scaling is based on request rate, response latencies, and other application metrics.
        Structure is documented below.
        """
        return pulumi.get(self, "automatic_scaling")

    @automatic_scaling.setter
    def automatic_scaling(self, value: Optional[pulumi.Input['StandardAppVersionAutomaticScalingArgs']]):
        pulumi.set(self, "automatic_scaling", value)

    @property
    @pulumi.getter(name="basicScaling")
    def basic_scaling(self) -> Optional[pulumi.Input['StandardAppVersionBasicScalingArgs']]:
        """
        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.
        """
        return pulumi.get(self, "basic_scaling")

    @basic_scaling.setter
    def basic_scaling(self, value: Optional[pulumi.Input['StandardAppVersionBasicScalingArgs']]):
        pulumi.set(self, "basic_scaling", value)

    @property
    @pulumi.getter(name="deleteServiceOnDestroy")
    def delete_service_on_destroy(self) -> Optional[pulumi.Input[bool]]:
        """
        If set to `true`, the service will be deleted if it is the last version.
        """
        return pulumi.get(self, "delete_service_on_destroy")

    @delete_service_on_destroy.setter
    def delete_service_on_destroy(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "delete_service_on_destroy", value)

    @property
    @pulumi.getter
    def deployment(self) -> Optional[pulumi.Input['StandardAppVersionDeploymentArgs']]:
        """
        Code and application artifacts that make up this version.
        Structure is documented below.
        """
        return pulumi.get(self, "deployment")

    @deployment.setter
    def deployment(self, value: Optional[pulumi.Input['StandardAppVersionDeploymentArgs']]):
        pulumi.set(self, "deployment", value)

    @property
    @pulumi.getter
    def entrypoint(self) -> Optional[pulumi.Input['StandardAppVersionEntrypointArgs']]:
        """
        The entrypoint for the application.
        Structure is documented below.
        """
        return pulumi.get(self, "entrypoint")

    @entrypoint.setter
    def entrypoint(self, value: Optional[pulumi.Input['StandardAppVersionEntrypointArgs']]):
        pulumi.set(self, "entrypoint", value)

    @property
    @pulumi.getter(name="envVariables")
    def env_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
        """
        Environment variables available to the application.
        """
        return pulumi.get(self, "env_variables")

    @env_variables.setter
    def env_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
        pulumi.set(self, "env_variables", value)

    @property
    @pulumi.getter
    def handlers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]]]:
        """
        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.
        """
        return pulumi.get(self, "handlers")

    @handlers.setter
    def handlers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]]]):
        pulumi.set(self, "handlers", value)

    @property
    @pulumi.getter(name="inboundServices")
    def inbound_services(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        A list of the types of messages that this application is able to receive.
        Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.
        """
        return pulumi.get(self, "inbound_services")

    @inbound_services.setter
    def inbound_services(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
        pulumi.set(self, "inbound_services", value)

    @property
    @pulumi.getter(name="instanceClass")
    def instance_class(self) -> Optional[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.
        """
        return pulumi.get(self, "instance_class")

    @instance_class.setter
    def instance_class(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "instance_class", value)

    @property
    @pulumi.getter
    def libraries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]]]:
        """
        Configuration for third-party Python runtime libraries that are required by the application.
        Structure is documented below.
        """
        return pulumi.get(self, "libraries")

    @libraries.setter
    def libraries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]]]):
        pulumi.set(self, "libraries", value)

    @property
    @pulumi.getter(name="manualScaling")
    def manual_scaling(self) -> Optional[pulumi.Input['StandardAppVersionManualScalingArgs']]:
        """
        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.
        """
        return pulumi.get(self, "manual_scaling")

    @manual_scaling.setter
    def manual_scaling(self, value: Optional[pulumi.Input['StandardAppVersionManualScalingArgs']]):
        pulumi.set(self, "manual_scaling", value)

    @property
    @pulumi.getter
    def name(self) -> Optional[pulumi.Input[str]]:
        """
        Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.
        """
        return pulumi.get(self, "name")

    @name.setter
    def name(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "name", value)

    @property
    @pulumi.getter(name="noopOnDestroy")
    def noop_on_destroy(self) -> Optional[pulumi.Input[bool]]:
        """
        If set to `true`, the application version will not be deleted.
        """
        return pulumi.get(self, "noop_on_destroy")

    @noop_on_destroy.setter
    def noop_on_destroy(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "noop_on_destroy", value)

    @property
    @pulumi.getter
    def project(self) -> Optional[pulumi.Input[str]]:
        """
        The ID of the project in which the resource belongs.
        If it is not provided, the provider project is used.
        """
        return pulumi.get(self, "project")

    @project.setter
    def project(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "project", value)

    @property
    @pulumi.getter
    def runtime(self) -> Optional[pulumi.Input[str]]:
        """
        Desired runtime. Example python27.
        """
        return pulumi.get(self, "runtime")

    @runtime.setter
    def runtime(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "runtime", value)

    @property
    @pulumi.getter(name="runtimeApiVersion")
    def runtime_api_version(self) -> Optional[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/<language>/config/appref`\
        Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.
        """
        return pulumi.get(self, "runtime_api_version")

    @runtime_api_version.setter
    def runtime_api_version(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "runtime_api_version", value)

    @property
    @pulumi.getter
    def service(self) -> Optional[pulumi.Input[str]]:
        """
        AppEngine service resource
        """
        return pulumi.get(self, "service")

    @service.setter
    def service(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "service", value)

    @property
    @pulumi.getter
    def threadsafe(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether multiple requests can be dispatched to this version at once.
        """
        return pulumi.get(self, "threadsafe")

    @threadsafe.setter
    def threadsafe(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "threadsafe", value)

    @property
    @pulumi.getter(name="versionId")
    def version_id(self) -> Optional[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-".
        """
        return pulumi.get(self, "version_id")

    @version_id.setter
    def version_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "version_id", value)

    @property
    @pulumi.getter(name="vpcAccessConnector")
    def vpc_access_connector(self) -> Optional[pulumi.Input['StandardAppVersionVpcAccessConnectorArgs']]:
        """
        Enables VPC connectivity for standard apps.
        Structure is documented below.
        """
        return pulumi.get(self, "vpc_access_connector")

    @vpc_access_connector.setter
    def vpc_access_connector(self, value: Optional[pulumi.Input['StandardAppVersionVpcAccessConnectorArgs']]):
        pulumi.set(self, "vpc_access_connector", value)


class StandardAppVersion(pulumi.CustomResource):
    @overload
    def __init__(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 automatic_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionAutomaticScalingArgs']]] = None,
                 basic_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionBasicScalingArgs']]] = None,
                 delete_service_on_destroy: Optional[pulumi.Input[bool]] = None,
                 deployment: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionDeploymentArgs']]] = None,
                 entrypoint: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionEntrypointArgs']]] = None,
                 env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                 handlers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionHandlerArgs']]]]] = None,
                 inbound_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 instance_class: Optional[pulumi.Input[str]] = None,
                 libraries: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionLibraryArgs']]]]] = None,
                 manual_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionManualScalingArgs']]] = None,
                 noop_on_destroy: Optional[pulumi.Input[bool]] = None,
                 project: Optional[pulumi.Input[str]] = None,
                 runtime: Optional[pulumi.Input[str]] = None,
                 runtime_api_version: Optional[pulumi.Input[str]] = None,
                 service: Optional[pulumi.Input[str]] = None,
                 threadsafe: Optional[pulumi.Input[bool]] = None,
                 version_id: Optional[pulumi.Input[str]] = None,
                 vpc_access_connector: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionVpcAccessConnectorArgs']]] = None,
                 __props__=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:

        * [API documentation](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions)
        * How-to Guides
            * [Official Documentation](https://cloud.google.com/appengine/docs/standard)

        ## Example Usage
        ### App Engine Standard App Version

        ```python
        import pulumi
        import pulumi_gcp as gcp

        bucket = gcp.storage.Bucket("bucket", location="US")
        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=gcp.appengine.StandardAppVersionEntrypointArgs(
                shell="node ./app.js",
            ),
            deployment=gcp.appengine.StandardAppVersionDeploymentArgs(
                zip=gcp.appengine.StandardAppVersionDeploymentZipArgs(
                    source_url=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=gcp.appengine.StandardAppVersionAutomaticScalingArgs(
                max_concurrent_requests=10,
                min_idle_instances=1,
                max_idle_instances=3,
                min_pending_latency="1s",
                max_pending_latency="5s",
                standard_scheduler_settings=gcp.appengine.StandardAppVersionAutomaticScalingStandardSchedulerSettingsArgs(
                    target_cpu_utilization=0.5,
                    target_throughput_utilization=0.75,
                    min_instances=2,
                    max_instances=10,
                ),
            ),
            delete_service_on_destroy=True)
        myapp_v2 = gcp.appengine.StandardAppVersion("myappV2",
            version_id="v2",
            service="myapp",
            runtime="nodejs10",
            entrypoint=gcp.appengine.StandardAppVersionEntrypointArgs(
                shell="node ./app.js",
            ),
            deployment=gcp.appengine.StandardAppVersionDeploymentArgs(
                zip=gcp.appengine.StandardAppVersionDeploymentZipArgs(
                    source_url=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=gcp.appengine.StandardAppVersionBasicScalingArgs(
                max_instances=5,
            ),
            noop_on_destroy=True)
        ```

        ## Import

        StandardAppVersion can be imported using any of these accepted formats

        ```sh
         $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default apps/{{project}}/services/{{service}}/versions/{{version_id}}
        ```

        ```sh
         $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default {{project}}/{{service}}/{{version_id}}
        ```

        ```sh
         $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default {{service}}/{{version_id}}
        ```

        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionAutomaticScalingArgs']] automatic_scaling: Automatic scaling is based on request rate, response latencies, and other application metrics.
               Structure is documented below.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionBasicScalingArgs']] basic_scaling: 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.
        :param pulumi.Input[bool] delete_service_on_destroy: If set to `true`, the service will be deleted if it is the last version.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionDeploymentArgs']] deployment: Code and application artifacts that make up this version.
               Structure is documented below.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionEntrypointArgs']] entrypoint: The entrypoint for the application.
               Structure is documented below.
        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionHandlerArgs']]]] handlers: 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.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] inbound_services: A list of the types of messages that this application is able to receive.
               Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.
        :param pulumi.Input[str] instance_class: 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.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionLibraryArgs']]]] libraries: Configuration for third-party Python runtime libraries that are required by the application.
               Structure is documented below.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionManualScalingArgs']] manual_scaling: 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.
        :param pulumi.Input[bool] noop_on_destroy: If set to `true`, the application version will not be deleted.
        :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
               If it is not provided, the provider project is used.
        :param pulumi.Input[str] runtime: Desired runtime. Example python27.
        :param pulumi.Input[str] runtime_api_version: 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/<language>/config/appref`\
               Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.
        :param pulumi.Input[str] service: AppEngine service resource
        :param pulumi.Input[bool] threadsafe: Whether multiple requests can be dispatched to this version at once.
        :param pulumi.Input[str] version_id: 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-".
        :param pulumi.Input[pulumi.InputType['StandardAppVersionVpcAccessConnectorArgs']] vpc_access_connector: Enables VPC connectivity for standard apps.
               Structure is documented below.
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: StandardAppVersionArgs,
                 opts: Optional[pulumi.ResourceOptions] = 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:

        * [API documentation](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions)
        * How-to Guides
            * [Official Documentation](https://cloud.google.com/appengine/docs/standard)

        ## Example Usage
        ### App Engine Standard App Version

        ```python
        import pulumi
        import pulumi_gcp as gcp

        bucket = gcp.storage.Bucket("bucket", location="US")
        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=gcp.appengine.StandardAppVersionEntrypointArgs(
                shell="node ./app.js",
            ),
            deployment=gcp.appengine.StandardAppVersionDeploymentArgs(
                zip=gcp.appengine.StandardAppVersionDeploymentZipArgs(
                    source_url=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=gcp.appengine.StandardAppVersionAutomaticScalingArgs(
                max_concurrent_requests=10,
                min_idle_instances=1,
                max_idle_instances=3,
                min_pending_latency="1s",
                max_pending_latency="5s",
                standard_scheduler_settings=gcp.appengine.StandardAppVersionAutomaticScalingStandardSchedulerSettingsArgs(
                    target_cpu_utilization=0.5,
                    target_throughput_utilization=0.75,
                    min_instances=2,
                    max_instances=10,
                ),
            ),
            delete_service_on_destroy=True)
        myapp_v2 = gcp.appengine.StandardAppVersion("myappV2",
            version_id="v2",
            service="myapp",
            runtime="nodejs10",
            entrypoint=gcp.appengine.StandardAppVersionEntrypointArgs(
                shell="node ./app.js",
            ),
            deployment=gcp.appengine.StandardAppVersionDeploymentArgs(
                zip=gcp.appengine.StandardAppVersionDeploymentZipArgs(
                    source_url=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=gcp.appengine.StandardAppVersionBasicScalingArgs(
                max_instances=5,
            ),
            noop_on_destroy=True)
        ```

        ## Import

        StandardAppVersion can be imported using any of these accepted formats

        ```sh
         $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default apps/{{project}}/services/{{service}}/versions/{{version_id}}
        ```

        ```sh
         $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default {{project}}/{{service}}/{{version_id}}
        ```

        ```sh
         $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default {{service}}/{{version_id}}
        ```

        :param str resource_name: The name of the resource.
        :param StandardAppVersionArgs args: The arguments to use to populate this resource's properties.
        :param pulumi.ResourceOptions opts: Options for the resource.
        """
        ...
    def __init__(__self__, resource_name: str, *args, **kwargs):
        resource_args, opts = _utilities.get_resource_args_opts(StandardAppVersionArgs, pulumi.ResourceOptions, *args, **kwargs)
        if resource_args is not None:
            __self__._internal_init(resource_name, opts, **resource_args.__dict__)
        else:
            __self__._internal_init(resource_name, *args, **kwargs)

    def _internal_init(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 automatic_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionAutomaticScalingArgs']]] = None,
                 basic_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionBasicScalingArgs']]] = None,
                 delete_service_on_destroy: Optional[pulumi.Input[bool]] = None,
                 deployment: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionDeploymentArgs']]] = None,
                 entrypoint: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionEntrypointArgs']]] = None,
                 env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                 handlers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionHandlerArgs']]]]] = None,
                 inbound_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 instance_class: Optional[pulumi.Input[str]] = None,
                 libraries: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionLibraryArgs']]]]] = None,
                 manual_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionManualScalingArgs']]] = None,
                 noop_on_destroy: Optional[pulumi.Input[bool]] = None,
                 project: Optional[pulumi.Input[str]] = None,
                 runtime: Optional[pulumi.Input[str]] = None,
                 runtime_api_version: Optional[pulumi.Input[str]] = None,
                 service: Optional[pulumi.Input[str]] = None,
                 threadsafe: Optional[pulumi.Input[bool]] = None,
                 version_id: Optional[pulumi.Input[str]] = None,
                 vpc_access_connector: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionVpcAccessConnectorArgs']]] = None,
                 __props__=None):
        if opts is None:
            opts = pulumi.ResourceOptions()
        if not isinstance(opts, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')
        if opts.version is None:
            opts.version = _utilities.get_version()
        if opts.id is None:
            if __props__ is not None:
                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
            __props__ = StandardAppVersionArgs.__new__(StandardAppVersionArgs)

            __props__.__dict__["automatic_scaling"] = automatic_scaling
            __props__.__dict__["basic_scaling"] = basic_scaling
            __props__.__dict__["delete_service_on_destroy"] = delete_service_on_destroy
            if deployment is None and not opts.urn:
                raise TypeError("Missing required property 'deployment'")
            __props__.__dict__["deployment"] = deployment
            if entrypoint is None and not opts.urn:
                raise TypeError("Missing required property 'entrypoint'")
            __props__.__dict__["entrypoint"] = entrypoint
            __props__.__dict__["env_variables"] = env_variables
            __props__.__dict__["handlers"] = handlers
            __props__.__dict__["inbound_services"] = inbound_services
            __props__.__dict__["instance_class"] = instance_class
            __props__.__dict__["libraries"] = libraries
            __props__.__dict__["manual_scaling"] = manual_scaling
            __props__.__dict__["noop_on_destroy"] = noop_on_destroy
            __props__.__dict__["project"] = project
            if runtime is None and not opts.urn:
                raise TypeError("Missing required property 'runtime'")
            __props__.__dict__["runtime"] = runtime
            __props__.__dict__["runtime_api_version"] = runtime_api_version
            if service is None and not opts.urn:
                raise TypeError("Missing required property 'service'")
            __props__.__dict__["service"] = service
            __props__.__dict__["threadsafe"] = threadsafe
            __props__.__dict__["version_id"] = version_id
            __props__.__dict__["vpc_access_connector"] = vpc_access_connector
            __props__.__dict__["name"] = None
        super(StandardAppVersion, __self__).__init__(
            'gcp:appengine/standardAppVersion:StandardAppVersion',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name: str,
            id: pulumi.Input[str],
            opts: Optional[pulumi.ResourceOptions] = None,
            automatic_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionAutomaticScalingArgs']]] = None,
            basic_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionBasicScalingArgs']]] = None,
            delete_service_on_destroy: Optional[pulumi.Input[bool]] = None,
            deployment: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionDeploymentArgs']]] = None,
            entrypoint: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionEntrypointArgs']]] = None,
            env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
            handlers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionHandlerArgs']]]]] = None,
            inbound_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
            instance_class: Optional[pulumi.Input[str]] = None,
            libraries: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionLibraryArgs']]]]] = None,
            manual_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionManualScalingArgs']]] = None,
            name: Optional[pulumi.Input[str]] = None,
            noop_on_destroy: Optional[pulumi.Input[bool]] = None,
            project: Optional[pulumi.Input[str]] = None,
            runtime: Optional[pulumi.Input[str]] = None,
            runtime_api_version: Optional[pulumi.Input[str]] = None,
            service: Optional[pulumi.Input[str]] = None,
            threadsafe: Optional[pulumi.Input[bool]] = None,
            version_id: Optional[pulumi.Input[str]] = None,
            vpc_access_connector: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionVpcAccessConnectorArgs']]] = None) -> 'StandardAppVersion':
        """
        Get an existing StandardAppVersion resource's state with the given name, id, and optional extra
        properties used to qualify the lookup.

        :param str resource_name: The unique name of the resulting resource.
        :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionAutomaticScalingArgs']] automatic_scaling: Automatic scaling is based on request rate, response latencies, and other application metrics.
               Structure is documented below.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionBasicScalingArgs']] basic_scaling: 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.
        :param pulumi.Input[bool] delete_service_on_destroy: If set to `true`, the service will be deleted if it is the last version.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionDeploymentArgs']] deployment: Code and application artifacts that make up this version.
               Structure is documented below.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionEntrypointArgs']] entrypoint: The entrypoint for the application.
               Structure is documented below.
        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionHandlerArgs']]]] handlers: 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.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] inbound_services: A list of the types of messages that this application is able to receive.
               Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.
        :param pulumi.Input[str] instance_class: 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.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionLibraryArgs']]]] libraries: Configuration for third-party Python runtime libraries that are required by the application.
               Structure is documented below.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionManualScalingArgs']] manual_scaling: 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.
        :param pulumi.Input[str] name: Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.
        :param pulumi.Input[bool] noop_on_destroy: If set to `true`, the application version will not be deleted.
        :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
               If it is not provided, the provider project is used.
        :param pulumi.Input[str] runtime: Desired runtime. Example python27.
        :param pulumi.Input[str] runtime_api_version: 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/<language>/config/appref`\
               Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.
        :param pulumi.Input[str] service: AppEngine service resource
        :param pulumi.Input[bool] threadsafe: Whether multiple requests can be dispatched to this version at once.
        :param pulumi.Input[str] version_id: 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-".
        :param pulumi.Input[pulumi.InputType['StandardAppVersionVpcAccessConnectorArgs']] vpc_access_connector: Enables VPC connectivity for standard apps.
               Structure is documented below.
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = _StandardAppVersionState.__new__(_StandardAppVersionState)

        __props__.__dict__["automatic_scaling"] = automatic_scaling
        __props__.__dict__["basic_scaling"] = basic_scaling
        __props__.__dict__["delete_service_on_destroy"] = delete_service_on_destroy
        __props__.__dict__["deployment"] = deployment
        __props__.__dict__["entrypoint"] = entrypoint
        __props__.__dict__["env_variables"] = env_variables
        __props__.__dict__["handlers"] = handlers
        __props__.__dict__["inbound_services"] = inbound_services
        __props__.__dict__["instance_class"] = instance_class
        __props__.__dict__["libraries"] = libraries
        __props__.__dict__["manual_scaling"] = manual_scaling
        __props__.__dict__["name"] = name
        __props__.__dict__["noop_on_destroy"] = noop_on_destroy
        __props__.__dict__["project"] = project
        __props__.__dict__["runtime"] = runtime
        __props__.__dict__["runtime_api_version"] = runtime_api_version
        __props__.__dict__["service"] = service
        __props__.__dict__["threadsafe"] = threadsafe
        __props__.__dict__["version_id"] = version_id
        __props__.__dict__["vpc_access_connector"] = vpc_access_connector
        return StandardAppVersion(resource_name, opts=opts, __props__=__props__)

    @property
    @pulumi.getter(name="automaticScaling")
    def automatic_scaling(self) -> pulumi.Output[Optional['outputs.StandardAppVersionAutomaticScaling']]:
        """
        Automatic scaling is based on request rate, response latencies, and other application metrics.
        Structure is documented below.
        """
        return pulumi.get(self, "automatic_scaling")

    @property
    @pulumi.getter(name="basicScaling")
    def basic_scaling(self) -> pulumi.Output[Optional['outputs.StandardAppVersionBasicScaling']]:
        """
        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.
        """
        return pulumi.get(self, "basic_scaling")

    @property
    @pulumi.getter(name="deleteServiceOnDestroy")
    def delete_service_on_destroy(self) -> pulumi.Output[Optional[bool]]:
        """
        If set to `true`, the service will be deleted if it is the last version.
        """
        return pulumi.get(self, "delete_service_on_destroy")

    @property
    @pulumi.getter
    def deployment(self) -> pulumi.Output['outputs.StandardAppVersionDeployment']:
        """
        Code and application artifacts that make up this version.
        Structure is documented below.
        """
        return pulumi.get(self, "deployment")

    @property
    @pulumi.getter
    def entrypoint(self) -> pulumi.Output['outputs.StandardAppVersionEntrypoint']:
        """
        The entrypoint for the application.
        Structure is documented below.
        """
        return pulumi.get(self, "entrypoint")

    @property
    @pulumi.getter(name="envVariables")
    def env_variables(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
        """
        Environment variables available to the application.
        """
        return pulumi.get(self, "env_variables")

    @property
    @pulumi.getter
    def handlers(self) -> pulumi.Output[Sequence['outputs.StandardAppVersionHandler']]:
        """
        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.
        """
        return pulumi.get(self, "handlers")

    @property
    @pulumi.getter(name="inboundServices")
    def inbound_services(self) -> pulumi.Output[Optional[Sequence[str]]]:
        """
        A list of the types of messages that this application is able to receive.
        Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.
        """
        return pulumi.get(self, "inbound_services")

    @property
    @pulumi.getter(name="instanceClass")
    def instance_class(self) -> pulumi.Output[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.
        """
        return pulumi.get(self, "instance_class")

    @property
    @pulumi.getter
    def libraries(self) -> pulumi.Output[Optional[Sequence['outputs.StandardAppVersionLibrary']]]:
        """
        Configuration for third-party Python runtime libraries that are required by the application.
        Structure is documented below.
        """
        return pulumi.get(self, "libraries")

    @property
    @pulumi.getter(name="manualScaling")
    def manual_scaling(self) -> pulumi.Output[Optional['outputs.StandardAppVersionManualScaling']]:
        """
        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.
        """
        return pulumi.get(self, "manual_scaling")

    @property
    @pulumi.getter
    def name(self) -> pulumi.Output[str]:
        """
        Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter(name="noopOnDestroy")
    def noop_on_destroy(self) -> pulumi.Output[Optional[bool]]:
        """
        If set to `true`, the application version will not be deleted.
        """
        return pulumi.get(self, "noop_on_destroy")

    @property
    @pulumi.getter
    def project(self) -> pulumi.Output[str]:
        """
        The ID of the project in which the resource belongs.
        If it is not provided, the provider project is used.
        """
        return pulumi.get(self, "project")

    @property
    @pulumi.getter
    def runtime(self) -> pulumi.Output[str]:
        """
        Desired runtime. Example python27.
        """
        return pulumi.get(self, "runtime")

    @property
    @pulumi.getter(name="runtimeApiVersion")
    def runtime_api_version(self) -> pulumi.Output[Optional[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/<language>/config/appref`\
        Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.
        """
        return pulumi.get(self, "runtime_api_version")

    @property
    @pulumi.getter
    def service(self) -> pulumi.Output[str]:
        """
        AppEngine service resource
        """
        return pulumi.get(self, "service")

    @property
    @pulumi.getter
    def threadsafe(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether multiple requests can be dispatched to this version at once.
        """
        return pulumi.get(self, "threadsafe")

    @property
    @pulumi.getter(name="versionId")
    def version_id(self) -> pulumi.Output[Optional[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-".
        """
        return pulumi.get(self, "version_id")

    @property
    @pulumi.getter(name="vpcAccessConnector")
    def vpc_access_connector(self) -> pulumi.Output[Optional['outputs.StandardAppVersionVpcAccessConnector']]:
        """
        Enables VPC connectivity for standard apps.
        Structure is documented below.
        """
        return pulumi.get(self, "vpc_access_connector")


<filename>sdk/python/pulumi_gcp/appengine/standard_app_version.py
# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from .. import _utilities
from . import outputs
from ._inputs import *

__all__ = ['StandardAppVersionArgs', 'StandardAppVersion']

@pulumi.input_type
class StandardAppVersionArgs:
    def __init__(__self__, *,
                 deployment: pulumi.Input['StandardAppVersionDeploymentArgs'],
                 entrypoint: pulumi.Input['StandardAppVersionEntrypointArgs'],
                 runtime: pulumi.Input[str],
                 service: pulumi.Input[str],
                 automatic_scaling: Optional[pulumi.Input['StandardAppVersionAutomaticScalingArgs']] = None,
                 basic_scaling: Optional[pulumi.Input['StandardAppVersionBasicScalingArgs']] = None,
                 delete_service_on_destroy: Optional[pulumi.Input[bool]] = None,
                 env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                 handlers: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]]] = None,
                 inbound_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 instance_class: Optional[pulumi.Input[str]] = None,
                 libraries: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]]] = None,
                 manual_scaling: Optional[pulumi.Input['StandardAppVersionManualScalingArgs']] = None,
                 noop_on_destroy: Optional[pulumi.Input[bool]] = None,
                 project: Optional[pulumi.Input[str]] = None,
                 runtime_api_version: Optional[pulumi.Input[str]] = None,
                 threadsafe: Optional[pulumi.Input[bool]] = None,
                 version_id: Optional[pulumi.Input[str]] = None,
                 vpc_access_connector: Optional[pulumi.Input['StandardAppVersionVpcAccessConnectorArgs']] = None):
        """
        The set of arguments for constructing a StandardAppVersion resource.
        :param pulumi.Input['StandardAppVersionDeploymentArgs'] deployment: Code and application artifacts that make up this version.
               Structure is documented below.
        :param pulumi.Input['StandardAppVersionEntrypointArgs'] entrypoint: The entrypoint for the application.
               Structure is documented below.
        :param pulumi.Input[str] runtime: Desired runtime. Example python27.
        :param pulumi.Input[str] service: AppEngine service resource
        :param pulumi.Input['StandardAppVersionAutomaticScalingArgs'] automatic_scaling: Automatic scaling is based on request rate, response latencies, and other application metrics.
               Structure is documented below.
        :param pulumi.Input['StandardAppVersionBasicScalingArgs'] basic_scaling: 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.
        :param pulumi.Input[bool] delete_service_on_destroy: If set to `true`, the service will be deleted if it is the last version.
        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.
        :param pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]] handlers: 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.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] inbound_services: A list of the types of messages that this application is able to receive.
               Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.
        :param pulumi.Input[str] instance_class: 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.
        :param pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]] libraries: Configuration for third-party Python runtime libraries that are required by the application.
               Structure is documented below.
        :param pulumi.Input['StandardAppVersionManualScalingArgs'] manual_scaling: 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.
        :param pulumi.Input[bool] noop_on_destroy: If set to `true`, the application version will not be deleted.
        :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
               If it is not provided, the provider project is used.
        :param pulumi.Input[str] runtime_api_version: 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/<language>/config/appref`\
               Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.
        :param pulumi.Input[bool] threadsafe: Whether multiple requests can be dispatched to this version at once.
        :param pulumi.Input[str] version_id: 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-".
        :param pulumi.Input['StandardAppVersionVpcAccessConnectorArgs'] vpc_access_connector: Enables VPC connectivity for standard apps.
               Structure is documented below.
        """
        pulumi.set(__self__, "deployment", deployment)
        pulumi.set(__self__, "entrypoint", entrypoint)
        pulumi.set(__self__, "runtime", runtime)
        pulumi.set(__self__, "service", service)
        if automatic_scaling is not None:
            pulumi.set(__self__, "automatic_scaling", automatic_scaling)
        if basic_scaling is not None:
            pulumi.set(__self__, "basic_scaling", basic_scaling)
        if delete_service_on_destroy is not None:
            pulumi.set(__self__, "delete_service_on_destroy", delete_service_on_destroy)
        if env_variables is not None:
            pulumi.set(__self__, "env_variables", env_variables)
        if handlers is not None:
            pulumi.set(__self__, "handlers", handlers)
        if inbound_services is not None:
            pulumi.set(__self__, "inbound_services", inbound_services)
        if instance_class is not None:
            pulumi.set(__self__, "instance_class", instance_class)
        if libraries is not None:
            pulumi.set(__self__, "libraries", libraries)
        if manual_scaling is not None:
            pulumi.set(__self__, "manual_scaling", manual_scaling)
        if noop_on_destroy is not None:
            pulumi.set(__self__, "noop_on_destroy", noop_on_destroy)
        if project is not None:
            pulumi.set(__self__, "project", project)
        if runtime_api_version is not None:
            pulumi.set(__self__, "runtime_api_version", runtime_api_version)
        if threadsafe is not None:
            pulumi.set(__self__, "threadsafe", threadsafe)
        if version_id is not None:
            pulumi.set(__self__, "version_id", version_id)
        if vpc_access_connector is not None:
            pulumi.set(__self__, "vpc_access_connector", vpc_access_connector)

    @property
    @pulumi.getter
    def deployment(self) -> pulumi.Input['StandardAppVersionDeploymentArgs']:
        """
        Code and application artifacts that make up this version.
        Structure is documented below.
        """
        return pulumi.get(self, "deployment")

    @deployment.setter
    def deployment(self, value: pulumi.Input['StandardAppVersionDeploymentArgs']):
        pulumi.set(self, "deployment", value)

    @property
    @pulumi.getter
    def entrypoint(self) -> pulumi.Input['StandardAppVersionEntrypointArgs']:
        """
        The entrypoint for the application.
        Structure is documented below.
        """
        return pulumi.get(self, "entrypoint")

    @entrypoint.setter
    def entrypoint(self, value: pulumi.Input['StandardAppVersionEntrypointArgs']):
        pulumi.set(self, "entrypoint", value)

    @property
    @pulumi.getter
    def runtime(self) -> pulumi.Input[str]:
        """
        Desired runtime. Example python27.
        """
        return pulumi.get(self, "runtime")

    @runtime.setter
    def runtime(self, value: pulumi.Input[str]):
        pulumi.set(self, "runtime", value)

    @property
    @pulumi.getter
    def service(self) -> pulumi.Input[str]:
        """
        AppEngine service resource
        """
        return pulumi.get(self, "service")

    @service.setter
    def service(self, value: pulumi.Input[str]):
        pulumi.set(self, "service", value)

    @property
    @pulumi.getter(name="automaticScaling")
    def automatic_scaling(self) -> Optional[pulumi.Input['StandardAppVersionAutomaticScalingArgs']]:
        """
        Automatic scaling is based on request rate, response latencies, and other application metrics.
        Structure is documented below.
        """
        return pulumi.get(self, "automatic_scaling")

    @automatic_scaling.setter
    def automatic_scaling(self, value: Optional[pulumi.Input['StandardAppVersionAutomaticScalingArgs']]):
        pulumi.set(self, "automatic_scaling", value)

    @property
    @pulumi.getter(name="basicScaling")
    def basic_scaling(self) -> Optional[pulumi.Input['StandardAppVersionBasicScalingArgs']]:
        """
        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.
        """
        return pulumi.get(self, "basic_scaling")

    @basic_scaling.setter
    def basic_scaling(self, value: Optional[pulumi.Input['StandardAppVersionBasicScalingArgs']]):
        pulumi.set(self, "basic_scaling", value)

    @property
    @pulumi.getter(name="deleteServiceOnDestroy")
    def delete_service_on_destroy(self) -> Optional[pulumi.Input[bool]]:
        """
        If set to `true`, the service will be deleted if it is the last version.
        """
        return pulumi.get(self, "delete_service_on_destroy")

    @delete_service_on_destroy.setter
    def delete_service_on_destroy(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "delete_service_on_destroy", value)

    @property
    @pulumi.getter(name="envVariables")
    def env_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
        """
        Environment variables available to the application.
        """
        return pulumi.get(self, "env_variables")

    @env_variables.setter
    def env_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
        pulumi.set(self, "env_variables", value)

    @property
    @pulumi.getter
    def handlers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]]]:
        """
        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.
        """
        return pulumi.get(self, "handlers")

    @handlers.setter
    def handlers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]]]):
        pulumi.set(self, "handlers", value)

    @property
    @pulumi.getter(name="inboundServices")
    def inbound_services(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        A list of the types of messages that this application is able to receive.
        Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.
        """
        return pulumi.get(self, "inbound_services")

    @inbound_services.setter
    def inbound_services(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
        pulumi.set(self, "inbound_services", value)

    @property
    @pulumi.getter(name="instanceClass")
    def instance_class(self) -> Optional[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.
        """
        return pulumi.get(self, "instance_class")

    @instance_class.setter
    def instance_class(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "instance_class", value)

    @property
    @pulumi.getter
    def libraries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]]]:
        """
        Configuration for third-party Python runtime libraries that are required by the application.
        Structure is documented below.
        """
        return pulumi.get(self, "libraries")

    @libraries.setter
    def libraries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]]]):
        pulumi.set(self, "libraries", value)

    @property
    @pulumi.getter(name="manualScaling")
    def manual_scaling(self) -> Optional[pulumi.Input['StandardAppVersionManualScalingArgs']]:
        """
        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.
        """
        return pulumi.get(self, "manual_scaling")

    @manual_scaling.setter
    def manual_scaling(self, value: Optional[pulumi.Input['StandardAppVersionManualScalingArgs']]):
        pulumi.set(self, "manual_scaling", value)

    @property
    @pulumi.getter(name="noopOnDestroy")
    def noop_on_destroy(self) -> Optional[pulumi.Input[bool]]:
        """
        If set to `true`, the application version will not be deleted.
        """
        return pulumi.get(self, "noop_on_destroy")

    @noop_on_destroy.setter
    def noop_on_destroy(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "noop_on_destroy", value)

    @property
    @pulumi.getter
    def project(self) -> Optional[pulumi.Input[str]]:
        """
        The ID of the project in which the resource belongs.
        If it is not provided, the provider project is used.
        """
        return pulumi.get(self, "project")

    @project.setter
    def project(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "project", value)

    @property
    @pulumi.getter(name="runtimeApiVersion")
    def runtime_api_version(self) -> Optional[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/<language>/config/appref`\
        Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.
        """
        return pulumi.get(self, "runtime_api_version")

    @runtime_api_version.setter
    def runtime_api_version(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "runtime_api_version", value)

    @property
    @pulumi.getter
    def threadsafe(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether multiple requests can be dispatched to this version at once.
        """
        return pulumi.get(self, "threadsafe")

    @threadsafe.setter
    def threadsafe(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "threadsafe", value)

    @property
    @pulumi.getter(name="versionId")
    def version_id(self) -> Optional[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-".
        """
        return pulumi.get(self, "version_id")

    @version_id.setter
    def version_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "version_id", value)

    @property
    @pulumi.getter(name="vpcAccessConnector")
    def vpc_access_connector(self) -> Optional[pulumi.Input['StandardAppVersionVpcAccessConnectorArgs']]:
        """
        Enables VPC connectivity for standard apps.
        Structure is documented below.
        """
        return pulumi.get(self, "vpc_access_connector")

    @vpc_access_connector.setter
    def vpc_access_connector(self, value: Optional[pulumi.Input['StandardAppVersionVpcAccessConnectorArgs']]):
        pulumi.set(self, "vpc_access_connector", value)


@pulumi.input_type
class _StandardAppVersionState:
    def __init__(__self__, *,
                 automatic_scaling: Optional[pulumi.Input['StandardAppVersionAutomaticScalingArgs']] = None,
                 basic_scaling: Optional[pulumi.Input['StandardAppVersionBasicScalingArgs']] = None,
                 delete_service_on_destroy: Optional[pulumi.Input[bool]] = None,
                 deployment: Optional[pulumi.Input['StandardAppVersionDeploymentArgs']] = None,
                 entrypoint: Optional[pulumi.Input['StandardAppVersionEntrypointArgs']] = None,
                 env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                 handlers: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]]] = None,
                 inbound_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 instance_class: Optional[pulumi.Input[str]] = None,
                 libraries: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]]] = None,
                 manual_scaling: Optional[pulumi.Input['StandardAppVersionManualScalingArgs']] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 noop_on_destroy: Optional[pulumi.Input[bool]] = None,
                 project: Optional[pulumi.Input[str]] = None,
                 runtime: Optional[pulumi.Input[str]] = None,
                 runtime_api_version: Optional[pulumi.Input[str]] = None,
                 service: Optional[pulumi.Input[str]] = None,
                 threadsafe: Optional[pulumi.Input[bool]] = None,
                 version_id: Optional[pulumi.Input[str]] = None,
                 vpc_access_connector: Optional[pulumi.Input['StandardAppVersionVpcAccessConnectorArgs']] = None):
        """
        Input properties used for looking up and filtering StandardAppVersion resources.
        :param pulumi.Input['StandardAppVersionAutomaticScalingArgs'] automatic_scaling: Automatic scaling is based on request rate, response latencies, and other application metrics.
               Structure is documented below.
        :param pulumi.Input['StandardAppVersionBasicScalingArgs'] basic_scaling: 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.
        :param pulumi.Input[bool] delete_service_on_destroy: If set to `true`, the service will be deleted if it is the last version.
        :param pulumi.Input['StandardAppVersionDeploymentArgs'] deployment: Code and application artifacts that make up this version.
               Structure is documented below.
        :param pulumi.Input['StandardAppVersionEntrypointArgs'] entrypoint: The entrypoint for the application.
               Structure is documented below.
        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.
        :param pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]] handlers: 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.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] inbound_services: A list of the types of messages that this application is able to receive.
               Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.
        :param pulumi.Input[str] instance_class: 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.
        :param pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]] libraries: Configuration for third-party Python runtime libraries that are required by the application.
               Structure is documented below.
        :param pulumi.Input['StandardAppVersionManualScalingArgs'] manual_scaling: 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.
        :param pulumi.Input[str] name: Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.
        :param pulumi.Input[bool] noop_on_destroy: If set to `true`, the application version will not be deleted.
        :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
               If it is not provided, the provider project is used.
        :param pulumi.Input[str] runtime: Desired runtime. Example python27.
        :param pulumi.Input[str] runtime_api_version: 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/<language>/config/appref`\
               Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.
        :param pulumi.Input[str] service: AppEngine service resource
        :param pulumi.Input[bool] threadsafe: Whether multiple requests can be dispatched to this version at once.
        :param pulumi.Input[str] version_id: 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-".
        :param pulumi.Input['StandardAppVersionVpcAccessConnectorArgs'] vpc_access_connector: Enables VPC connectivity for standard apps.
               Structure is documented below.
        """
        if automatic_scaling is not None:
            pulumi.set(__self__, "automatic_scaling", automatic_scaling)
        if basic_scaling is not None:
            pulumi.set(__self__, "basic_scaling", basic_scaling)
        if delete_service_on_destroy is not None:
            pulumi.set(__self__, "delete_service_on_destroy", delete_service_on_destroy)
        if deployment is not None:
            pulumi.set(__self__, "deployment", deployment)
        if entrypoint is not None:
            pulumi.set(__self__, "entrypoint", entrypoint)
        if env_variables is not None:
            pulumi.set(__self__, "env_variables", env_variables)
        if handlers is not None:
            pulumi.set(__self__, "handlers", handlers)
        if inbound_services is not None:
            pulumi.set(__self__, "inbound_services", inbound_services)
        if instance_class is not None:
            pulumi.set(__self__, "instance_class", instance_class)
        if libraries is not None:
            pulumi.set(__self__, "libraries", libraries)
        if manual_scaling is not None:
            pulumi.set(__self__, "manual_scaling", manual_scaling)
        if name is not None:
            pulumi.set(__self__, "name", name)
        if noop_on_destroy is not None:
            pulumi.set(__self__, "noop_on_destroy", noop_on_destroy)
        if project is not None:
            pulumi.set(__self__, "project", project)
        if runtime is not None:
            pulumi.set(__self__, "runtime", runtime)
        if runtime_api_version is not None:
            pulumi.set(__self__, "runtime_api_version", runtime_api_version)
        if service is not None:
            pulumi.set(__self__, "service", service)
        if threadsafe is not None:
            pulumi.set(__self__, "threadsafe", threadsafe)
        if version_id is not None:
            pulumi.set(__self__, "version_id", version_id)
        if vpc_access_connector is not None:
            pulumi.set(__self__, "vpc_access_connector", vpc_access_connector)

    @property
    @pulumi.getter(name="automaticScaling")
    def automatic_scaling(self) -> Optional[pulumi.Input['StandardAppVersionAutomaticScalingArgs']]:
        """
        Automatic scaling is based on request rate, response latencies, and other application metrics.
        Structure is documented below.
        """
        return pulumi.get(self, "automatic_scaling")

    @automatic_scaling.setter
    def automatic_scaling(self, value: Optional[pulumi.Input['StandardAppVersionAutomaticScalingArgs']]):
        pulumi.set(self, "automatic_scaling", value)

    @property
    @pulumi.getter(name="basicScaling")
    def basic_scaling(self) -> Optional[pulumi.Input['StandardAppVersionBasicScalingArgs']]:
        """
        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.
        """
        return pulumi.get(self, "basic_scaling")

    @basic_scaling.setter
    def basic_scaling(self, value: Optional[pulumi.Input['StandardAppVersionBasicScalingArgs']]):
        pulumi.set(self, "basic_scaling", value)

    @property
    @pulumi.getter(name="deleteServiceOnDestroy")
    def delete_service_on_destroy(self) -> Optional[pulumi.Input[bool]]:
        """
        If set to `true`, the service will be deleted if it is the last version.
        """
        return pulumi.get(self, "delete_service_on_destroy")

    @delete_service_on_destroy.setter
    def delete_service_on_destroy(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "delete_service_on_destroy", value)

    @property
    @pulumi.getter
    def deployment(self) -> Optional[pulumi.Input['StandardAppVersionDeploymentArgs']]:
        """
        Code and application artifacts that make up this version.
        Structure is documented below.
        """
        return pulumi.get(self, "deployment")

    @deployment.setter
    def deployment(self, value: Optional[pulumi.Input['StandardAppVersionDeploymentArgs']]):
        pulumi.set(self, "deployment", value)

    @property
    @pulumi.getter
    def entrypoint(self) -> Optional[pulumi.Input['StandardAppVersionEntrypointArgs']]:
        """
        The entrypoint for the application.
        Structure is documented below.
        """
        return pulumi.get(self, "entrypoint")

    @entrypoint.setter
    def entrypoint(self, value: Optional[pulumi.Input['StandardAppVersionEntrypointArgs']]):
        pulumi.set(self, "entrypoint", value)

    @property
    @pulumi.getter(name="envVariables")
    def env_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
        """
        Environment variables available to the application.
        """
        return pulumi.get(self, "env_variables")

    @env_variables.setter
    def env_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
        pulumi.set(self, "env_variables", value)

    @property
    @pulumi.getter
    def handlers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]]]:
        """
        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.
        """
        return pulumi.get(self, "handlers")

    @handlers.setter
    def handlers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]]]):
        pulumi.set(self, "handlers", value)

    @property
    @pulumi.getter(name="inboundServices")
    def inbound_services(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        A list of the types of messages that this application is able to receive.
        Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.
        """
        return pulumi.get(self, "inbound_services")

    @inbound_services.setter
    def inbound_services(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
        pulumi.set(self, "inbound_services", value)

    @property
    @pulumi.getter(name="instanceClass")
    def instance_class(self) -> Optional[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.
        """
        return pulumi.get(self, "instance_class")

    @instance_class.setter
    def instance_class(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "instance_class", value)

    @property
    @pulumi.getter
    def libraries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]]]:
        """
        Configuration for third-party Python runtime libraries that are required by the application.
        Structure is documented below.
        """
        return pulumi.get(self, "libraries")

    @libraries.setter
    def libraries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]]]):
        pulumi.set(self, "libraries", value)

    @property
    @pulumi.getter(name="manualScaling")
    def manual_scaling(self) -> Optional[pulumi.Input['StandardAppVersionManualScalingArgs']]:
        """
        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.
        """
        return pulumi.get(self, "manual_scaling")

    @manual_scaling.setter
    def manual_scaling(self, value: Optional[pulumi.Input['StandardAppVersionManualScalingArgs']]):
        pulumi.set(self, "manual_scaling", value)

    @property
    @pulumi.getter
    def name(self) -> Optional[pulumi.Input[str]]:
        """
        Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.
        """
        return pulumi.get(self, "name")

    @name.setter
    def name(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "name", value)

    @property
    @pulumi.getter(name="noopOnDestroy")
    def noop_on_destroy(self) -> Optional[pulumi.Input[bool]]:
        """
        If set to `true`, the application version will not be deleted.
        """
        return pulumi.get(self, "noop_on_destroy")

    @noop_on_destroy.setter
    def noop_on_destroy(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "noop_on_destroy", value)

    @property
    @pulumi.getter
    def project(self) -> Optional[pulumi.Input[str]]:
        """
        The ID of the project in which the resource belongs.
        If it is not provided, the provider project is used.
        """
        return pulumi.get(self, "project")

    @project.setter
    def project(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "project", value)

    @property
    @pulumi.getter
    def runtime(self) -> Optional[pulumi.Input[str]]:
        """
        Desired runtime. Example python27.
        """
        return pulumi.get(self, "runtime")

    @runtime.setter
    def runtime(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "runtime", value)

    @property
    @pulumi.getter(name="runtimeApiVersion")
    def runtime_api_version(self) -> Optional[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/<language>/config/appref`\
        Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.
        """
        return pulumi.get(self, "runtime_api_version")

    @runtime_api_version.setter
    def runtime_api_version(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "runtime_api_version", value)

    @property
    @pulumi.getter
    def service(self) -> Optional[pulumi.Input[str]]:
        """
        AppEngine service resource
        """
        return pulumi.get(self, "service")

    @service.setter
    def service(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "service", value)

    @property
    @pulumi.getter
    def threadsafe(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether multiple requests can be dispatched to this version at once.
        """
        return pulumi.get(self, "threadsafe")

    @threadsafe.setter
    def threadsafe(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "threadsafe", value)

    @property
    @pulumi.getter(name="versionId")
    def version_id(self) -> Optional[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-".
        """
        return pulumi.get(self, "version_id")

    @version_id.setter
    def version_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "version_id", value)

    @property
    @pulumi.getter(name="vpcAccessConnector")
    def vpc_access_connector(self) -> Optional[pulumi.Input['StandardAppVersionVpcAccessConnectorArgs']]:
        """
        Enables VPC connectivity for standard apps.
        Structure is documented below.
        """
        return pulumi.get(self, "vpc_access_connector")

    @vpc_access_connector.setter
    def vpc_access_connector(self, value: Optional[pulumi.Input['StandardAppVersionVpcAccessConnectorArgs']]):
        pulumi.set(self, "vpc_access_connector", value)


class StandardAppVersion(pulumi.CustomResource):
    @overload
    def __init__(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 automatic_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionAutomaticScalingArgs']]] = None,
                 basic_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionBasicScalingArgs']]] = None,
                 delete_service_on_destroy: Optional[pulumi.Input[bool]] = None,
                 deployment: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionDeploymentArgs']]] = None,
                 entrypoint: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionEntrypointArgs']]] = None,
                 env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                 handlers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionHandlerArgs']]]]] = None,
                 inbound_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 instance_class: Optional[pulumi.Input[str]] = None,
                 libraries: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionLibraryArgs']]]]] = None,
                 manual_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionManualScalingArgs']]] = None,
                 noop_on_destroy: Optional[pulumi.Input[bool]] = None,
                 project: Optional[pulumi.Input[str]] = None,
                 runtime: Optional[pulumi.Input[str]] = None,
                 runtime_api_version: Optional[pulumi.Input[str]] = None,
                 service: Optional[pulumi.Input[str]] = None,
                 threadsafe: Optional[pulumi.Input[bool]] = None,
                 version_id: Optional[pulumi.Input[str]] = None,
                 vpc_access_connector: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionVpcAccessConnectorArgs']]] = None,
                 __props__=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:

        * [API documentation](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions)
        * How-to Guides
            * [Official Documentation](https://cloud.google.com/appengine/docs/standard)

        ## Example Usage
        ### App Engine Standard App Version

        ```python
        import pulumi
        import pulumi_gcp as gcp

        bucket = gcp.storage.Bucket("bucket", location="US")
        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=gcp.appengine.StandardAppVersionEntrypointArgs(
                shell="node ./app.js",
            ),
            deployment=gcp.appengine.StandardAppVersionDeploymentArgs(
                zip=gcp.appengine.StandardAppVersionDeploymentZipArgs(
                    source_url=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=gcp.appengine.StandardAppVersionAutomaticScalingArgs(
                max_concurrent_requests=10,
                min_idle_instances=1,
                max_idle_instances=3,
                min_pending_latency="1s",
                max_pending_latency="5s",
                standard_scheduler_settings=gcp.appengine.StandardAppVersionAutomaticScalingStandardSchedulerSettingsArgs(
                    target_cpu_utilization=0.5,
                    target_throughput_utilization=0.75,
                    min_instances=2,
                    max_instances=10,
                ),
            ),
            delete_service_on_destroy=True)
        myapp_v2 = gcp.appengine.StandardAppVersion("myappV2",
            version_id="v2",
            service="myapp",
            runtime="nodejs10",
            entrypoint=gcp.appengine.StandardAppVersionEntrypointArgs(
                shell="node ./app.js",
            ),
            deployment=gcp.appengine.StandardAppVersionDeploymentArgs(
                zip=gcp.appengine.StandardAppVersionDeploymentZipArgs(
                    source_url=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=gcp.appengine.StandardAppVersionBasicScalingArgs(
                max_instances=5,
            ),
            noop_on_destroy=True)
        ```

        ## Import

        StandardAppVersion can be imported using any of these accepted formats

        ```sh
         $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default apps/{{project}}/services/{{service}}/versions/{{version_id}}
        ```

        ```sh
         $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default {{project}}/{{service}}/{{version_id}}
        ```

        ```sh
         $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default {{service}}/{{version_id}}
        ```

        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionAutomaticScalingArgs']] automatic_scaling: Automatic scaling is based on request rate, response latencies, and other application metrics.
               Structure is documented below.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionBasicScalingArgs']] basic_scaling: 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.
        :param pulumi.Input[bool] delete_service_on_destroy: If set to `true`, the service will be deleted if it is the last version.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionDeploymentArgs']] deployment: Code and application artifacts that make up this version.
               Structure is documented below.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionEntrypointArgs']] entrypoint: The entrypoint for the application.
               Structure is documented below.
        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionHandlerArgs']]]] handlers: 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.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] inbound_services: A list of the types of messages that this application is able to receive.
               Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.
        :param pulumi.Input[str] instance_class: 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.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionLibraryArgs']]]] libraries: Configuration for third-party Python runtime libraries that are required by the application.
               Structure is documented below.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionManualScalingArgs']] manual_scaling: 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.
        :param pulumi.Input[bool] noop_on_destroy: If set to `true`, the application version will not be deleted.
        :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
               If it is not provided, the provider project is used.
        :param pulumi.Input[str] runtime: Desired runtime. Example python27.
        :param pulumi.Input[str] runtime_api_version: 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/<language>/config/appref`\
               Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.
        :param pulumi.Input[str] service: AppEngine service resource
        :param pulumi.Input[bool] threadsafe: Whether multiple requests can be dispatched to this version at once.
        :param pulumi.Input[str] version_id: 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-".
        :param pulumi.Input[pulumi.InputType['StandardAppVersionVpcAccessConnectorArgs']] vpc_access_connector: Enables VPC connectivity for standard apps.
               Structure is documented below.
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: StandardAppVersionArgs,
                 opts: Optional[pulumi.ResourceOptions] = 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:

        * [API documentation](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions)
        * How-to Guides
            * [Official Documentation](https://cloud.google.com/appengine/docs/standard)

        ## Example Usage
        ### App Engine Standard App Version

        ```python
        import pulumi
        import pulumi_gcp as gcp

        bucket = gcp.storage.Bucket("bucket", location="US")
        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=gcp.appengine.StandardAppVersionEntrypointArgs(
                shell="node ./app.js",
            ),
            deployment=gcp.appengine.StandardAppVersionDeploymentArgs(
                zip=gcp.appengine.StandardAppVersionDeploymentZipArgs(
                    source_url=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=gcp.appengine.StandardAppVersionAutomaticScalingArgs(
                max_concurrent_requests=10,
                min_idle_instances=1,
                max_idle_instances=3,
                min_pending_latency="1s",
                max_pending_latency="5s",
                standard_scheduler_settings=gcp.appengine.StandardAppVersionAutomaticScalingStandardSchedulerSettingsArgs(
                    target_cpu_utilization=0.5,
                    target_throughput_utilization=0.75,
                    min_instances=2,
                    max_instances=10,
                ),
            ),
            delete_service_on_destroy=True)
        myapp_v2 = gcp.appengine.StandardAppVersion("myappV2",
            version_id="v2",
            service="myapp",
            runtime="nodejs10",
            entrypoint=gcp.appengine.StandardAppVersionEntrypointArgs(
                shell="node ./app.js",
            ),
            deployment=gcp.appengine.StandardAppVersionDeploymentArgs(
                zip=gcp.appengine.StandardAppVersionDeploymentZipArgs(
                    source_url=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=gcp.appengine.StandardAppVersionBasicScalingArgs(
                max_instances=5,
            ),
            noop_on_destroy=True)
        ```

        ## Import

        StandardAppVersion can be imported using any of these accepted formats

        ```sh
         $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default apps/{{project}}/services/{{service}}/versions/{{version_id}}
        ```

        ```sh
         $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default {{project}}/{{service}}/{{version_id}}
        ```

        ```sh
         $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default {{service}}/{{version_id}}
        ```

        :param str resource_name: The name of the resource.
        :param StandardAppVersionArgs args: The arguments to use to populate this resource's properties.
        :param pulumi.ResourceOptions opts: Options for the resource.
        """
        ...
    def __init__(__self__, resource_name: str, *args, **kwargs):
        resource_args, opts = _utilities.get_resource_args_opts(StandardAppVersionArgs, pulumi.ResourceOptions, *args, **kwargs)
        if resource_args is not None:
            __self__._internal_init(resource_name, opts, **resource_args.__dict__)
        else:
            __self__._internal_init(resource_name, *args, **kwargs)

    def _internal_init(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 automatic_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionAutomaticScalingArgs']]] = None,
                 basic_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionBasicScalingArgs']]] = None,
                 delete_service_on_destroy: Optional[pulumi.Input[bool]] = None,
                 deployment: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionDeploymentArgs']]] = None,
                 entrypoint: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionEntrypointArgs']]] = None,
                 env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                 handlers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionHandlerArgs']]]]] = None,
                 inbound_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 instance_class: Optional[pulumi.Input[str]] = None,
                 libraries: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionLibraryArgs']]]]] = None,
                 manual_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionManualScalingArgs']]] = None,
                 noop_on_destroy: Optional[pulumi.Input[bool]] = None,
                 project: Optional[pulumi.Input[str]] = None,
                 runtime: Optional[pulumi.Input[str]] = None,
                 runtime_api_version: Optional[pulumi.Input[str]] = None,
                 service: Optional[pulumi.Input[str]] = None,
                 threadsafe: Optional[pulumi.Input[bool]] = None,
                 version_id: Optional[pulumi.Input[str]] = None,
                 vpc_access_connector: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionVpcAccessConnectorArgs']]] = None,
                 __props__=None):
        if opts is None:
            opts = pulumi.ResourceOptions()
        if not isinstance(opts, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')
        if opts.version is None:
            opts.version = _utilities.get_version()
        if opts.id is None:
            if __props__ is not None:
                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
            __props__ = StandardAppVersionArgs.__new__(StandardAppVersionArgs)

            __props__.__dict__["automatic_scaling"] = automatic_scaling
            __props__.__dict__["basic_scaling"] = basic_scaling
            __props__.__dict__["delete_service_on_destroy"] = delete_service_on_destroy
            if deployment is None and not opts.urn:
                raise TypeError("Missing required property 'deployment'")
            __props__.__dict__["deployment"] = deployment
            if entrypoint is None and not opts.urn:
                raise TypeError("Missing required property 'entrypoint'")
            __props__.__dict__["entrypoint"] = entrypoint
            __props__.__dict__["env_variables"] = env_variables
            __props__.__dict__["handlers"] = handlers
            __props__.__dict__["inbound_services"] = inbound_services
            __props__.__dict__["instance_class"] = instance_class
            __props__.__dict__["libraries"] = libraries
            __props__.__dict__["manual_scaling"] = manual_scaling
            __props__.__dict__["noop_on_destroy"] = noop_on_destroy
            __props__.__dict__["project"] = project
            if runtime is None and not opts.urn:
                raise TypeError("Missing required property 'runtime'")
            __props__.__dict__["runtime"] = runtime
            __props__.__dict__["runtime_api_version"] = runtime_api_version
            if service is None and not opts.urn:
                raise TypeError("Missing required property 'service'")
            __props__.__dict__["service"] = service
            __props__.__dict__["threadsafe"] = threadsafe
            __props__.__dict__["version_id"] = version_id
            __props__.__dict__["vpc_access_connector"] = vpc_access_connector
            __props__.__dict__["name"] = None
        super(StandardAppVersion, __self__).__init__(
            'gcp:appengine/standardAppVersion:StandardAppVersion',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name: str,
            id: pulumi.Input[str],
            opts: Optional[pulumi.ResourceOptions] = None,
            automatic_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionAutomaticScalingArgs']]] = None,
            basic_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionBasicScalingArgs']]] = None,
            delete_service_on_destroy: Optional[pulumi.Input[bool]] = None,
            deployment: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionDeploymentArgs']]] = None,
            entrypoint: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionEntrypointArgs']]] = None,
            env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
            handlers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionHandlerArgs']]]]] = None,
            inbound_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
            instance_class: Optional[pulumi.Input[str]] = None,
            libraries: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionLibraryArgs']]]]] = None,
            manual_scaling: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionManualScalingArgs']]] = None,
            name: Optional[pulumi.Input[str]] = None,
            noop_on_destroy: Optional[pulumi.Input[bool]] = None,
            project: Optional[pulumi.Input[str]] = None,
            runtime: Optional[pulumi.Input[str]] = None,
            runtime_api_version: Optional[pulumi.Input[str]] = None,
            service: Optional[pulumi.Input[str]] = None,
            threadsafe: Optional[pulumi.Input[bool]] = None,
            version_id: Optional[pulumi.Input[str]] = None,
            vpc_access_connector: Optional[pulumi.Input[pulumi.InputType['StandardAppVersionVpcAccessConnectorArgs']]] = None) -> 'StandardAppVersion':
        """
        Get an existing StandardAppVersion resource's state with the given name, id, and optional extra
        properties used to qualify the lookup.

        :param str resource_name: The unique name of the resulting resource.
        :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionAutomaticScalingArgs']] automatic_scaling: Automatic scaling is based on request rate, response latencies, and other application metrics.
               Structure is documented below.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionBasicScalingArgs']] basic_scaling: 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.
        :param pulumi.Input[bool] delete_service_on_destroy: If set to `true`, the service will be deleted if it is the last version.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionDeploymentArgs']] deployment: Code and application artifacts that make up this version.
               Structure is documented below.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionEntrypointArgs']] entrypoint: The entrypoint for the application.
               Structure is documented below.
        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionHandlerArgs']]]] handlers: 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.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] inbound_services: A list of the types of messages that this application is able to receive.
               Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.
        :param pulumi.Input[str] instance_class: 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.
        :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionLibraryArgs']]]] libraries: Configuration for third-party Python runtime libraries that are required by the application.
               Structure is documented below.
        :param pulumi.Input[pulumi.InputType['StandardAppVersionManualScalingArgs']] manual_scaling: 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.
        :param pulumi.Input[str] name: Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.
        :param pulumi.Input[bool] noop_on_destroy: If set to `true`, the application version will not be deleted.
        :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
               If it is not provided, the provider project is used.
        :param pulumi.Input[str] runtime: Desired runtime. Example python27.
        :param pulumi.Input[str] runtime_api_version: 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/<language>/config/appref`\
               Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.
        :param pulumi.Input[str] service: AppEngine service resource
        :param pulumi.Input[bool] threadsafe: Whether multiple requests can be dispatched to this version at once.
        :param pulumi.Input[str] version_id: 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-".
        :param pulumi.Input[pulumi.InputType['StandardAppVersionVpcAccessConnectorArgs']] vpc_access_connector: Enables VPC connectivity for standard apps.
               Structure is documented below.
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = _StandardAppVersionState.__new__(_StandardAppVersionState)

        __props__.__dict__["automatic_scaling"] = automatic_scaling
        __props__.__dict__["basic_scaling"] = basic_scaling
        __props__.__dict__["delete_service_on_destroy"] = delete_service_on_destroy
        __props__.__dict__["deployment"] = deployment
        __props__.__dict__["entrypoint"] = entrypoint
        __props__.__dict__["env_variables"] = env_variables
        __props__.__dict__["handlers"] = handlers
        __props__.__dict__["inbound_services"] = inbound_services
        __props__.__dict__["instance_class"] = instance_class
        __props__.__dict__["libraries"] = libraries
        __props__.__dict__["manual_scaling"] = manual_scaling
        __props__.__dict__["name"] = name
        __props__.__dict__["noop_on_destroy"] = noop_on_destroy
        __props__.__dict__["project"] = project
        __props__.__dict__["runtime"] = runtime
        __props__.__dict__["runtime_api_version"] = runtime_api_version
        __props__.__dict__["service"] = service
        __props__.__dict__["threadsafe"] = threadsafe
        __props__.__dict__["version_id"] = version_id
        __props__.__dict__["vpc_access_connector"] = vpc_access_connector
        return StandardAppVersion(resource_name, opts=opts, __props__=__props__)

    @property
    @pulumi.getter(name="automaticScaling")
    def automatic_scaling(self) -> pulumi.Output[Optional['outputs.StandardAppVersionAutomaticScaling']]:
        """
        Automatic scaling is based on request rate, response latencies, and other application metrics.
        Structure is documented below.
        """
        return pulumi.get(self, "automatic_scaling")

    @property
    @pulumi.getter(name="basicScaling")
    def basic_scaling(self) -> pulumi.Output[Optional['outputs.StandardAppVersionBasicScaling']]:
        """
        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.
        """
        return pulumi.get(self, "basic_scaling")

    @property
    @pulumi.getter(name="deleteServiceOnDestroy")
    def delete_service_on_destroy(self) -> pulumi.Output[Optional[bool]]:
        """
        If set to `true`, the service will be deleted if it is the last version.
        """
        return pulumi.get(self, "delete_service_on_destroy")

    @property
    @pulumi.getter
    def deployment(self) -> pulumi.Output['outputs.StandardAppVersionDeployment']:
        """
        Code and application artifacts that make up this version.
        Structure is documented below.
        """
        return pulumi.get(self, "deployment")

    @property
    @pulumi.getter
    def entrypoint(self) -> pulumi.Output['outputs.StandardAppVersionEntrypoint']:
        """
        The entrypoint for the application.
        Structure is documented below.
        """
        return pulumi.get(self, "entrypoint")

    @property
    @pulumi.getter(name="envVariables")
    def env_variables(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
        """
        Environment variables available to the application.
        """
        return pulumi.get(self, "env_variables")

    @property
    @pulumi.getter
    def handlers(self) -> pulumi.Output[Sequence['outputs.StandardAppVersionHandler']]:
        """
        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.
        """
        return pulumi.get(self, "handlers")

    @property
    @pulumi.getter(name="inboundServices")
    def inbound_services(self) -> pulumi.Output[Optional[Sequence[str]]]:
        """
        A list of the types of messages that this application is able to receive.
        Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.
        """
        return pulumi.get(self, "inbound_services")

    @property
    @pulumi.getter(name="instanceClass")
    def instance_class(self) -> pulumi.Output[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.
        """
        return pulumi.get(self, "instance_class")

    @property
    @pulumi.getter
    def libraries(self) -> pulumi.Output[Optional[Sequence['outputs.StandardAppVersionLibrary']]]:
        """
        Configuration for third-party Python runtime libraries that are required by the application.
        Structure is documented below.
        """
        return pulumi.get(self, "libraries")

    @property
    @pulumi.getter(name="manualScaling")
    def manual_scaling(self) -> pulumi.Output[Optional['outputs.StandardAppVersionManualScaling']]:
        """
        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.
        """
        return pulumi.get(self, "manual_scaling")

    @property
    @pulumi.getter
    def name(self) -> pulumi.Output[str]:
        """
        Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter(name="noopOnDestroy")
    def noop_on_destroy(self) -> pulumi.Output[Optional[bool]]:
        """
        If set to `true`, the application version will not be deleted.
        """
        return pulumi.get(self, "noop_on_destroy")

    @property
    @pulumi.getter
    def project(self) -> pulumi.Output[str]:
        """
        The ID of the project in which the resource belongs.
        If it is not provided, the provider project is used.
        """
        return pulumi.get(self, "project")

    @property
    @pulumi.getter
    def runtime(self) -> pulumi.Output[str]:
        """
        Desired runtime. Example python27.
        """
        return pulumi.get(self, "runtime")

    @property
    @pulumi.getter(name="runtimeApiVersion")
    def runtime_api_version(self) -> pulumi.Output[Optional[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/<language>/config/appref`\
        Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.
        """
        return pulumi.get(self, "runtime_api_version")

    @property
    @pulumi.getter
    def service(self) -> pulumi.Output[str]:
        """
        AppEngine service resource
        """
        return pulumi.get(self, "service")

    @property
    @pulumi.getter
    def threadsafe(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether multiple requests can be dispatched to this version at once.
        """
        return pulumi.get(self, "threadsafe")

    @property
    @pulumi.getter(name="versionId")
    def version_id(self) -> pulumi.Output[Optional[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-".
        """
        return pulumi.get(self, "version_id")

    @property
    @pulumi.getter(name="vpcAccessConnector")
    def vpc_access_connector(self) -> pulumi.Output[Optional['outputs.StandardAppVersionVpcAccessConnector']]:
        """
        Enables VPC connectivity for standard apps.
        Structure is documented below.
        """
        return pulumi.get(self, "vpc_access_connector")


# coding=utf-8 # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** # *** Do not edit by hand unless you're certain you know what you are doing! *** The set of arguments for constructing a StandardAppVersion resource.         :param pulumi.Input['StandardAppVersionDeploymentArgs'] deployment: Code and application artifacts that make up this version.                Structure is documented below.         :param pulumi.Input['StandardAppVersionEntrypointArgs'] entrypoint: The entrypoint for the application.                Structure is documented below.         :param pulumi.Input[str] runtime: Desired runtime. Example python27.         :param pulumi.Input[str] service: AppEngine service resource         :param pulumi.Input['StandardAppVersionAutomaticScalingArgs'] automatic_scaling: Automatic scaling is based on request rate, response latencies, and other application metrics.                Structure is documented below.         :param pulumi.Input['StandardAppVersionBasicScalingArgs'] basic_scaling: 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.         :param pulumi.Input[bool] delete_service_on_destroy: If set to `true`, the service will be deleted if it is the last version.         :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.         :param pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]] handlers: 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.         :param pulumi.Input[Sequence[pulumi.Input[str]]] inbound_services: A list of the types of messages that this application is able to receive.                Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.         :param pulumi.Input[str] instance_class: 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.         :param pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]] libraries: Configuration for third-party Python runtime libraries that are required by the application.                Structure is documented below.         :param pulumi.Input['StandardAppVersionManualScalingArgs'] manual_scaling: 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.         :param pulumi.Input[bool] noop_on_destroy: If set to `true`, the application version will not be deleted.         :param pulumi.Input[str] project: The ID of the project in which the resource belongs.                If it is not provided, the provider project is used.         :param pulumi.Input[str] runtime_api_version: 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/<language>/config/appref`\                Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.         :param pulumi.Input[bool] threadsafe: Whether multiple requests can be dispatched to this version at once.         :param pulumi.Input[str] version_id: 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-".         :param pulumi.Input['StandardAppVersionVpcAccessConnectorArgs'] vpc_access_connector: Enables VPC connectivity for standard apps.                Structure is documented below. Code and application artifacts that make up this version.         Structure is documented below. The entrypoint for the application.         Structure is documented below. Desired runtime. Example python27. AppEngine service resource Automatic scaling is based on request rate, response latencies, and other application metrics.         Structure is documented below. 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. If set to `true`, the service will be deleted if it is the last version. Environment variables available to the application. 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. A list of the types of messages that this application is able to receive.         Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`. 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. Configuration for third-party Python runtime libraries that are required by the application.         Structure is documented below. 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. If set to `true`, the application version will not be deleted. The ID of the project in which the resource belongs.         If it is not provided, the provider project is used. 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/<language>/config/appref`\         Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`. Whether multiple requests can be dispatched to this version at once. 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-". Enables VPC connectivity for standard apps.         Structure is documented below. Input properties used for looking up and filtering StandardAppVersion resources.         :param pulumi.Input['StandardAppVersionAutomaticScalingArgs'] automatic_scaling: Automatic scaling is based on request rate, response latencies, and other application metrics.                Structure is documented below.         :param pulumi.Input['StandardAppVersionBasicScalingArgs'] basic_scaling: 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.         :param pulumi.Input[bool] delete_service_on_destroy: If set to `true`, the service will be deleted if it is the last version.         :param pulumi.Input['StandardAppVersionDeploymentArgs'] deployment: Code and application artifacts that make up this version.                Structure is documented below.         :param pulumi.Input['StandardAppVersionEntrypointArgs'] entrypoint: The entrypoint for the application.                Structure is documented below.         :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.         :param pulumi.Input[Sequence[pulumi.Input['StandardAppVersionHandlerArgs']]] handlers: 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.         :param pulumi.Input[Sequence[pulumi.Input[str]]] inbound_services: A list of the types of messages that this application is able to receive.                Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.         :param pulumi.Input[str] instance_class: 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.         :param pulumi.Input[Sequence[pulumi.Input['StandardAppVersionLibraryArgs']]] libraries: Configuration for third-party Python runtime libraries that are required by the application.                Structure is documented below.         :param pulumi.Input['StandardAppVersionManualScalingArgs'] manual_scaling: 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.         :param pulumi.Input[str] name: Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.         :param pulumi.Input[bool] noop_on_destroy: If set to `true`, the application version will not be deleted.         :param pulumi.Input[str] project: The ID of the project in which the resource belongs.                If it is not provided, the provider project is used.         :param pulumi.Input[str] runtime: Desired runtime. Example python27.         :param pulumi.Input[str] runtime_api_version: 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/<language>/config/appref`\                Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.         :param pulumi.Input[str] service: AppEngine service resource         :param pulumi.Input[bool] threadsafe: Whether multiple requests can be dispatched to this version at once.         :param pulumi.Input[str] version_id: 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-".         :param pulumi.Input['StandardAppVersionVpcAccessConnectorArgs'] vpc_access_connector: Enables VPC connectivity for standard apps.                Structure is documented below. Automatic scaling is based on request rate, response latencies, and other application metrics.         Structure is documented below. 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. If set to `true`, the service will be deleted if it is the last version. Code and application artifacts that make up this version.         Structure is documented below. The entrypoint for the application.         Structure is documented below. Environment variables available to the application. 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. A list of the types of messages that this application is able to receive.         Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`. 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. Configuration for third-party Python runtime libraries that are required by the application.         Structure is documented below. 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. Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1. If set to `true`, the application version will not be deleted. The ID of the project in which the resource belongs.         If it is not provided, the provider project is used. Desired runtime. Example python27. 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/<language>/config/appref`\         Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`. AppEngine service resource Whether multiple requests can be dispatched to this version at once. 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-". Enables VPC connectivity for standard apps.         Structure is documented below. Standard App Version resource to create a new version of standard GAE Application.         Learn about the differences between the standard environment and the flexible environment         at https://cloud.google.com/appengine/docs/the-appengine-environments.         Currently supporting Zip and File Containers.          To get more information about StandardAppVersion, see:          * [API documentation](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions)         * How-to Guides             * [Official Documentation](https://cloud.google.com/appengine/docs/standard)          ## Example Usage         ### App Engine Standard App Version          ```python         import pulumi         import pulumi_gcp as gcp          bucket = gcp.storage.Bucket("bucket", location="US")         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=gcp.appengine.StandardAppVersionEntrypointArgs(                 shell="node ./app.js",             ),             deployment=gcp.appengine.StandardAppVersionDeploymentArgs(                 zip=gcp.appengine.StandardAppVersionDeploymentZipArgs(                     source_url=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=gcp.appengine.StandardAppVersionAutomaticScalingArgs(                 max_concurrent_requests=10,                 min_idle_instances=1,                 max_idle_instances=3,                 min_pending_latency="1s",                 max_pending_latency="5s",                 standard_scheduler_settings=gcp.appengine.StandardAppVersionAutomaticScalingStandardSchedulerSettingsArgs(                     target_cpu_utilization=0.5,                     target_throughput_utilization=0.75,                     min_instances=2,                     max_instances=10,                 ),             ),             delete_service_on_destroy=True)         myapp_v2 = gcp.appengine.StandardAppVersion("myappV2",             version_id="v2",             service="myapp",             runtime="nodejs10",             entrypoint=gcp.appengine.StandardAppVersionEntrypointArgs(                 shell="node ./app.js",             ),             deployment=gcp.appengine.StandardAppVersionDeploymentArgs(                 zip=gcp.appengine.StandardAppVersionDeploymentZipArgs(                     source_url=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=gcp.appengine.StandardAppVersionBasicScalingArgs(                 max_instances=5,             ),             noop_on_destroy=True)         ```          ## Import          StandardAppVersion can be imported using any of these accepted formats          ```sh          $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default apps/{{project}}/services/{{service}}/versions/{{version_id}}         ```          ```sh          $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default {{project}}/{{service}}/{{version_id}}         ```          ```sh          $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default {{service}}/{{version_id}}         ```          :param str resource_name: The name of the resource.         :param pulumi.ResourceOptions opts: Options for the resource.         :param pulumi.Input[pulumi.InputType['StandardAppVersionAutomaticScalingArgs']] automatic_scaling: Automatic scaling is based on request rate, response latencies, and other application metrics.                Structure is documented below.         :param pulumi.Input[pulumi.InputType['StandardAppVersionBasicScalingArgs']] basic_scaling: 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.         :param pulumi.Input[bool] delete_service_on_destroy: If set to `true`, the service will be deleted if it is the last version.         :param pulumi.Input[pulumi.InputType['StandardAppVersionDeploymentArgs']] deployment: Code and application artifacts that make up this version.                Structure is documented below.         :param pulumi.Input[pulumi.InputType['StandardAppVersionEntrypointArgs']] entrypoint: The entrypoint for the application.                Structure is documented below.         :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.         :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionHandlerArgs']]]] handlers: 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.         :param pulumi.Input[Sequence[pulumi.Input[str]]] inbound_services: A list of the types of messages that this application is able to receive.                Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.         :param pulumi.Input[str] instance_class: 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.         :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionLibraryArgs']]]] libraries: Configuration for third-party Python runtime libraries that are required by the application.                Structure is documented below.         :param pulumi.Input[pulumi.InputType['StandardAppVersionManualScalingArgs']] manual_scaling: 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.         :param pulumi.Input[bool] noop_on_destroy: If set to `true`, the application version will not be deleted.         :param pulumi.Input[str] project: The ID of the project in which the resource belongs.                If it is not provided, the provider project is used.         :param pulumi.Input[str] runtime: Desired runtime. Example python27.         :param pulumi.Input[str] runtime_api_version: 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/<language>/config/appref`\                Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.         :param pulumi.Input[str] service: AppEngine service resource         :param pulumi.Input[bool] threadsafe: Whether multiple requests can be dispatched to this version at once.         :param pulumi.Input[str] version_id: 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-".         :param pulumi.Input[pulumi.InputType['StandardAppVersionVpcAccessConnectorArgs']] vpc_access_connector: Enables VPC connectivity for standard apps.                Structure is documented below. Standard App Version resource to create a new version of standard GAE Application.         Learn about the differences between the standard environment and the flexible environment         at https://cloud.google.com/appengine/docs/the-appengine-environments.         Currently supporting Zip and File Containers.          To get more information about StandardAppVersion, see:          * [API documentation](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions)         * How-to Guides             * [Official Documentation](https://cloud.google.com/appengine/docs/standard)          ## Example Usage         ### App Engine Standard App Version          ```python         import pulumi         import pulumi_gcp as gcp          bucket = gcp.storage.Bucket("bucket", location="US")         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=gcp.appengine.StandardAppVersionEntrypointArgs(                 shell="node ./app.js",             ),             deployment=gcp.appengine.StandardAppVersionDeploymentArgs(                 zip=gcp.appengine.StandardAppVersionDeploymentZipArgs(                     source_url=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=gcp.appengine.StandardAppVersionAutomaticScalingArgs(                 max_concurrent_requests=10,                 min_idle_instances=1,                 max_idle_instances=3,                 min_pending_latency="1s",                 max_pending_latency="5s",                 standard_scheduler_settings=gcp.appengine.StandardAppVersionAutomaticScalingStandardSchedulerSettingsArgs(                     target_cpu_utilization=0.5,                     target_throughput_utilization=0.75,                     min_instances=2,                     max_instances=10,                 ),             ),             delete_service_on_destroy=True)         myapp_v2 = gcp.appengine.StandardAppVersion("myappV2",             version_id="v2",             service="myapp",             runtime="nodejs10",             entrypoint=gcp.appengine.StandardAppVersionEntrypointArgs(                 shell="node ./app.js",             ),             deployment=gcp.appengine.StandardAppVersionDeploymentArgs(                 zip=gcp.appengine.StandardAppVersionDeploymentZipArgs(                     source_url=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=gcp.appengine.StandardAppVersionBasicScalingArgs(                 max_instances=5,             ),             noop_on_destroy=True)         ```          ## Import          StandardAppVersion can be imported using any of these accepted formats          ```sh          $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default apps/{{project}}/services/{{service}}/versions/{{version_id}}         ```          ```sh          $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default {{project}}/{{service}}/{{version_id}}         ```          ```sh          $ pulumi import gcp:appengine/standardAppVersion:StandardAppVersion default {{service}}/{{version_id}}         ```          :param str resource_name: The name of the resource.         :param StandardAppVersionArgs args: The arguments to use to populate this resource's properties.         :param pulumi.ResourceOptions opts: Options for the resource. Get an existing StandardAppVersion resource's state with the given name, id, and optional extra         properties used to qualify the lookup.          :param str resource_name: The unique name of the resulting resource.         :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.         :param pulumi.ResourceOptions opts: Options for the resource.         :param pulumi.Input[pulumi.InputType['StandardAppVersionAutomaticScalingArgs']] automatic_scaling: Automatic scaling is based on request rate, response latencies, and other application metrics.                Structure is documented below.         :param pulumi.Input[pulumi.InputType['StandardAppVersionBasicScalingArgs']] basic_scaling: 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.         :param pulumi.Input[bool] delete_service_on_destroy: If set to `true`, the service will be deleted if it is the last version.         :param pulumi.Input[pulumi.InputType['StandardAppVersionDeploymentArgs']] deployment: Code and application artifacts that make up this version.                Structure is documented below.         :param pulumi.Input[pulumi.InputType['StandardAppVersionEntrypointArgs']] entrypoint: The entrypoint for the application.                Structure is documented below.         :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.         :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionHandlerArgs']]]] handlers: 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.         :param pulumi.Input[Sequence[pulumi.Input[str]]] inbound_services: A list of the types of messages that this application is able to receive.                Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`.         :param pulumi.Input[str] instance_class: 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.         :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StandardAppVersionLibraryArgs']]]] libraries: Configuration for third-party Python runtime libraries that are required by the application.                Structure is documented below.         :param pulumi.Input[pulumi.InputType['StandardAppVersionManualScalingArgs']] manual_scaling: 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.         :param pulumi.Input[str] name: Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.         :param pulumi.Input[bool] noop_on_destroy: If set to `true`, the application version will not be deleted.         :param pulumi.Input[str] project: The ID of the project in which the resource belongs.                If it is not provided, the provider project is used.         :param pulumi.Input[str] runtime: Desired runtime. Example python27.         :param pulumi.Input[str] runtime_api_version: 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/<language>/config/appref`\                Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`.         :param pulumi.Input[str] service: AppEngine service resource         :param pulumi.Input[bool] threadsafe: Whether multiple requests can be dispatched to this version at once.         :param pulumi.Input[str] version_id: 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-".         :param pulumi.Input[pulumi.InputType['StandardAppVersionVpcAccessConnectorArgs']] vpc_access_connector: Enables VPC connectivity for standard apps.                Structure is documented below. Automatic scaling is based on request rate, response latencies, and other application metrics.         Structure is documented below. 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. If set to `true`, the service will be deleted if it is the last version. Code and application artifacts that make up this version.         Structure is documented below. The entrypoint for the application.         Structure is documented below. Environment variables available to the application. 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. A list of the types of messages that this application is able to receive.         Each value may be one of `INBOUND_SERVICE_MAIL`, `INBOUND_SERVICE_MAIL_BOUNCE`, `INBOUND_SERVICE_XMPP_ERROR`, `INBOUND_SERVICE_XMPP_MESSAGE`, `INBOUND_SERVICE_XMPP_SUBSCRIBE`, `INBOUND_SERVICE_XMPP_PRESENCE`, `INBOUND_SERVICE_CHANNEL_PRESENCE`, and `INBOUND_SERVICE_WARMUP`. 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. Configuration for third-party Python runtime libraries that are required by the application.         Structure is documented below. 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. Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1. If set to `true`, the application version will not be deleted. The ID of the project in which the resource belongs.         If it is not provided, the provider project is used. Desired runtime. Example python27. 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/<language>/config/appref`\         Substitute `<language>` with `python`, `java`, `php`, `ruby`, `go` or `nodejs`. AppEngine service resource Whether multiple requests can be dispatched to this version at once. 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-". Enables VPC connectivity for standard apps.         Structure is documented below.