# Google App Engine Admin API . apps . services . versions

## Instance Methods

Returns the instances Resource.

Deploys code and resource files to a new version.

Deletes an existing Version resource.

Gets the specified Version resource. By default, only a `BASIC_VIEW` will be returned. Specify the `FULL_VIEW` parameter to get the full resource.

Lists the versions of a service.

Retrieves the next page of results.

Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses: * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment. * [`instance_class`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment. * [`automatic_scaling.min_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment. * [`automatic_scaling.max_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.

### Method Details

`create(appsId, servicesId, body, x__xgafv=None)`

    Deploys code and resource files to a new version.

    Args:
      appsId: string, Part of `parent`. Name of the parent resource to create this version under. Example: `apps/myapp/services/default`. (required)
      servicesId: string, Part of `parent`. See documentation of `appsId`. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # A Version resource is a specific set of source code and configuration files that are deployed into a service.
        "basicScaling": { # A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity. # A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.
          "idleTimeout": "A String", # Duration of time after the last request that an instance must wait before the instance is shut down.
          "maxInstances": 42, # Maximum number of instances to create for this version.
        },
        "betaSettings": { # Metadata settings that are supplied to this version to enable beta runtime features.
          "a_key": "A String",
        },
        "vm": True or False, # Whether to deploy this version in a container on a virtual machine.
        "instanceClass": "A String", # Instance class that is used to run this version. Valid values are: * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G` * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G` Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or BasicScaling.
        "errorHandlers": [ # Custom static error pages. Limited to 10KB per page. Only returned in `GET` requests if `view=FULL` is set.
          { # Custom static error page to be served when an error occurs.
            "errorCode": "A String", # Error condition this handler applies to.
            "mimeType": "A String", # MIME type of file. Defaults to `text/html`.
            "staticFile": "A String", # Static file content to be served for this error.
          },
        ],
        "id": "A String", # Relative name of the version within the service. Example: `v1`. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: "default", "latest", and any name with the prefix "ah-".
        "apiConfig": { # [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers. # Serving configuration for [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/). Only returned in `GET` requests if `view=FULL` is set.
          "url": "A String", # URL to serve the endpoint at.
          "securityLevel": "A String", # Security (HTTPS) enforcement for this URL.
          "authFailAction": "A String", # Action to take when users access resources that require authentication. Defaults to `redirect`.
          "login": "A String", # Level of login required to access this resource. Defaults to `optional`.
          "script": "A String", # Path to the script from the application root directory.
        },
        "threadsafe": True or False, # Whether multiple requests can be dispatched to this version at once.
        "healthCheck": { # Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment. # Configures health checking for VM instances. Unhealthy instances are stopped and replaced with new instances. Only applicable for VM runtimes. Only returned in `GET` requests if `view=FULL` is set.
          "restartThreshold": 42, # Number of consecutive failed health checks required before an instance is restarted.
          "checkInterval": "A String", # Interval between health checks.
          "unhealthyThreshold": 42, # Number of consecutive failed health checks required before removing traffic.
          "healthyThreshold": 42, # Number of consecutive successful health checks required before receiving traffic.
          "host": "A String", # Host header to send when performing an HTTP health check. Example: "myapp.appspot.com"
          "timeout": "A String", # Time before the health check is considered failed.
          "disableHealthCheck": True or False, # Whether to explicitly disable health checks for this instance.
        },
        "defaultExpiration": "A String", # Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler) does not specify its own expiration time. Only returned in `GET` requests if `view=FULL` is set.
        "versionUrl": "A String", # Serving URL for this version. Example: "https://myversion-dot-myservice-dot-myapp.appspot.com" @OutputOnly
        "libraries": [ # Configuration for third-party Python runtime libraries that are required by the application. Only returned in `GET` requests if `view=FULL` is set.
          { # Third-party Python runtime library that is required by the application.
            "version": "A String", # Version of the library to select, or "latest".
            "name": "A String", # Name of the library. Example: "django".
          },
        ],
        "env": "A String", # App Engine execution environment for this version. Defaults to `standard`.
        "diskUsageBytes": "A String", # Total size in bytes of all the files that are included in this version and curerntly hosted on the App Engine disk. @OutputOnly
        "automaticScaling": { # Automatic scaling is based on request rate, response latencies, and other application metrics. # Automatic scaling is based on request rate, response latencies, and other application metrics.
          "minPendingLatency": "A String", # Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.
          "networkUtilization": { # Target scaling by network usage. Only applicable for VM runtimes. # Target scaling by network usage.
            "targetReceivedPacketsPerSecond": 42, # Target packets received per second.
            "targetSentPacketsPerSecond": 42, # Target packets sent per second.
            "targetReceivedBytesPerSecond": 42, # Target bytes received per second.
            "targetSentBytesPerSecond": 42, # Target bytes sent per second.
          },
          "diskUtilization": { # Target scaling by disk usage. Only applicable for VM runtimes. # Target scaling by disk usage.
            "targetReadOpsPerSecond": 42, # Target ops read per seconds.
            "targetWriteBytesPerSecond": 42, # Target bytes written per second.
            "targetReadBytesPerSecond": 42, # Target bytes read per second.
            "targetWriteOpsPerSecond": 42, # Target ops written per second.
          },
          "maxPendingLatency": "A String", # Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.
          "maxIdleInstances": 42, # Maximum number of idle instances that should be maintained for this version.
          "minIdleInstances": 42, # Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.
          "requestUtilization": { # Target scaling by request utilization. Only applicable for VM runtimes. # Target scaling by request utilization.
            "targetConcurrentRequests": 42, # Target number of concurrent requests.
            "targetRequestCountPerSecond": 42, # Target requests per second.
          },
          "coolDownPeriod": "A String", # Amount of time that the [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes.
          "maxTotalInstances": 42, # Maximum number of instances that should be started to handle requests.
          "maxConcurrentRequests": 42, # Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Defaults to a runtime-specific value.
          "minTotalInstances": 42, # Minimum number of instances that should be maintained for this version.
          "cpuUtilization": { # Target scaling by CPU usage. # Target scaling by CPU usage.
            "targetUtilization": 3.14, # Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.
            "aggregationWindowLength": "A String", # Period of time over which CPU utilization is calculated.
          },
        },
        "envVariables": { # Environment variables available to the application. Only returned in `GET` requests if `view=FULL` is set.
          "a_key": "A String",
        },
        "resources": { # Machine resources for a version. # Machine resources for this version. Only applicable for VM runtimes.
          "diskGb": 3.14, # Disk size (GB) needed.
          "cpu": 3.14, # Number of CPU cores needed.
          "memoryGb": 3.14, # Memory (GB) needed.
        },
        "manualScaling": { # A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time. # A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.
          "instances": 42, # Number of instances to assign to the service at the start. This number can later be altered by using the [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) `set_num_instances()` function.
        },
        "inboundServices": [ # Before an application can receive email or XMPP messages, the application must be configured to enable the service.
          "A String",
        ],
        "createdBy": "A String", # Email address of the user who created this version. @OutputOnly
        "deployment": { # Code and application artifacts used to deploy a version to App Engine. # Code and application artifacts that make up this version. Only returned in `GET` requests if `view=FULL` is set.
          "files": { # Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.
            "a_key": { # Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.
              "mimeType": "A String", # The MIME type of the file. Defaults to the value from Google Cloud Storage.
              "sourceUrl": "A String", # URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\/\'.
              "sha1Sum": "A String", # The SHA1 hash of the file, in hex.
            },
          },
          "container": { # Docker image that is used to start a VM container for the version you deploy. # A Docker image that App Engine uses to run the version. Only applicable for instances in App Engine flexible environment.
            "image": "A String", # URI to the hosted container image in a Docker repository. The URI must be fully qualified and include a tag or digest. Examples: "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest"
          },
          "zip": { # The zip file for this deployment, if this is a zip deployment.
            "filesCount": 42, # An estimate of the number of files in a zip for a zip deployment. If set, must be greater than or equal to the actual number of files. Used for optimizing performance; if not provided, deployment may be slow.
            "sourceUrl": "A String", # URL of the zip file to deploy from. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\/\'.
          },
        },
        "createTime": "A String", # Time that this version was created. @OutputOnly
        "network": { # Extra network settings. Only applicable for VM runtimes. # Extra network settings. Only applicable for VM runtimes.
          "instanceTag": "A String", # Tag to apply to the VM instance during creation.
          "forwardedPorts": [ # List of ports, or port pairs, to forward from the virtual machine to the application container.
            "A String",
          ],
          "name": "A String", # Google Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path. Defaults to `default`.
        },
        "nobuildFilesRegex": "A String", # Files that match this pattern will not be built into this version. Only applicable for Go runtimes. Only returned in `GET` requests if `view=FULL` is set.
        "name": "A String", # Full path to the Version resource in the API. Example: `apps/myapp/services/default/versions/v1`. @OutputOnly
        "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. Only returned in `GET` requests if `view=FULL` is set.
          { # URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code or by serving static files uploaded with the version, such as images, CSS, or JavaScript.
            "securityLevel": "A String", # Security (HTTPS) enforcement for this URL.
            "authFailAction": "A String", # Action to take when users access resources that require authentication. Defaults to `redirect`.
            "urlRegex": "A String", # URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.
            "script": { # Executes a script to handle the request that matches the URL pattern. # Executes a script to handle the request that matches this URL pattern.
              "scriptPath": "A String", # Path to the script from the application root directory.
            },
            "staticFiles": { # Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them. # Returns the contents of a file, such as an image, as the response.
              "mimeType": "A String", # MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file's filename extension.
              "applicationReadable": True or False, # Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.
              "expiration": "A String", # Time a static file served by this handler should be cached by web proxies and browsers.
              "requireMatchingFile": True or False, # Whether this handler should match the request if the file referenced by the handler does not exist.
              "uploadPathRegex": "A String", # Regular expression that matches the file paths for all files that should be referenced by this handler.
              "path": "A String", # Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.
              "httpHeaders": { # HTTP headers to use for all responses from these URLs.
                "a_key": "A String",
              },
            },
            "apiEndpoint": { # Uses Google Cloud Endpoints to handle requests. # Uses API Endpoints to handle requests.
              "scriptPath": "A String", # Path to the script from the application root directory.
            },
            "login": "A String", # Level of login required to access this resource.
            "redirectHttpResponseCode": "A String", # `30x` code to use when performing redirects for the `secure` field. Defaults to `302`.
          },
        ],
        "servingStatus": "A String", # Current serving status of this version. Only the versions with a `SERVING` status create instances and can be billed. `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`.
        "runtime": "A String", # Desired runtime. Example: `python27`.
      }

      x__xgafv: string, V1 error format.

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
        "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users - Flexible enough to meet unexpected needs # Overview The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons. # The error result of the operation in case of failure.
          "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details. There will be a common set of message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
        "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available.
        "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`.
        "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      }

`delete(appsId, servicesId, versionsId, x__xgafv=None)`

    Deletes an existing Version resource.

    Args:
      appsId: string, Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default/versions/v1`. (required)
      servicesId: string, Part of `name`. See documentation of `appsId`. (required)
      versionsId: string, Part of `name`. See documentation of `appsId`. (required)
      x__xgafv: string, V1 error format.

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
        "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users - Flexible enough to meet unexpected needs # Overview The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons. # The error result of the operation in case of failure.
          "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details. There will be a common set of message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
        "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available.
        "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`.
        "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      }

`get(appsId, servicesId, versionsId, x__xgafv=None, view=None)`

    Gets the specified Version resource. By default, only a `BASIC_VIEW` will be returned. Specify the `FULL_VIEW` parameter to get the full resource.

    Args:
      appsId: string, Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default/versions/v1`. (required)
      servicesId: string, Part of `name`. See documentation of `appsId`. (required)
      versionsId: string, Part of `name`. See documentation of `appsId`. (required)
      x__xgafv: string, V1 error format.
      view: string, Controls the set of fields returned in the `Get` response.

    Returns:
      An object of the form:

        { # A Version resource is a specific set of source code and configuration files that are deployed into a service.
          "basicScaling": { # A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity. # A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.
            "idleTimeout": "A String", # Duration of time after the last request that an instance must wait before the instance is shut down.
            "maxInstances": 42, # Maximum number of instances to create for this version.
          },
          "betaSettings": { # Metadata settings that are supplied to this version to enable beta runtime features.
            "a_key": "A String",
          },
          "vm": True or False, # Whether to deploy this version in a container on a virtual machine.
          "instanceClass": "A String", # Instance class that is used to run this version. Valid values are: * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G` * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G` Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or BasicScaling.
          "errorHandlers": [ # Custom static error pages. Limited to 10KB per page. Only returned in `GET` requests if `view=FULL` is set.
            { # Custom static error page to be served when an error occurs.
              "errorCode": "A String", # Error condition this handler applies to.
              "mimeType": "A String", # MIME type of file. Defaults to `text/html`.
              "staticFile": "A String", # Static file content to be served for this error.
            },
          ],
          "id": "A String", # Relative name of the version within the service. Example: `v1`. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: "default", "latest", and any name with the prefix "ah-".
          "apiConfig": { # [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers. # Serving configuration for [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/). Only returned in `GET` requests if `view=FULL` is set.
            "url": "A String", # URL to serve the endpoint at.
            "securityLevel": "A String", # Security (HTTPS) enforcement for this URL.
            "authFailAction": "A String", # Action to take when users access resources that require authentication. Defaults to `redirect`.
            "login": "A String", # Level of login required to access this resource. Defaults to `optional`.
            "script": "A String", # Path to the script from the application root directory.
          },
          "threadsafe": True or False, # Whether multiple requests can be dispatched to this version at once.
          "healthCheck": { # Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment. # Configures health checking for VM instances. Unhealthy instances are stopped and replaced with new instances. Only applicable for VM runtimes. Only returned in `GET` requests if `view=FULL` is set.
            "restartThreshold": 42, # Number of consecutive failed health checks required before an instance is restarted.
            "checkInterval": "A String", # Interval between health checks.
            "unhealthyThreshold": 42, # Number of consecutive failed health checks required before removing traffic.
            "healthyThreshold": 42, # Number of consecutive successful health checks required before receiving traffic.
            "host": "A String", # Host header to send when performing an HTTP health check. Example: "myapp.appspot.com"
            "timeout": "A String", # Time before the health check is considered failed.
            "disableHealthCheck": True or False, # Whether to explicitly disable health checks for this instance.
          },
          "defaultExpiration": "A String", # Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler) does not specify its own expiration time. Only returned in `GET` requests if `view=FULL` is set.
          "versionUrl": "A String", # Serving URL for this version. Example: "https://myversion-dot-myservice-dot-myapp.appspot.com" @OutputOnly
          "libraries": [ # Configuration for third-party Python runtime libraries that are required by the application. Only returned in `GET` requests if `view=FULL` is set.
            { # Third-party Python runtime library that is required by the application.
              "version": "A String", # Version of the library to select, or "latest".
              "name": "A String", # Name of the library. Example: "django".
            },
          ],
          "env": "A String", # App Engine execution environment for this version. Defaults to `standard`.
          "diskUsageBytes": "A String", # Total size in bytes of all the files that are included in this version and curerntly hosted on the App Engine disk. @OutputOnly
          "automaticScaling": { # Automatic scaling is based on request rate, response latencies, and other application metrics. # Automatic scaling is based on request rate, response latencies, and other application metrics.
            "minPendingLatency": "A String", # Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.
            "networkUtilization": { # Target scaling by network usage. Only applicable for VM runtimes. # Target scaling by network usage.
              "targetReceivedPacketsPerSecond": 42, # Target packets received per second.
              "targetSentPacketsPerSecond": 42, # Target packets sent per second.
              "targetReceivedBytesPerSecond": 42, # Target bytes received per second.
              "targetSentBytesPerSecond": 42, # Target bytes sent per second.
            },
            "diskUtilization": { # Target scaling by disk usage. Only applicable for VM runtimes. # Target scaling by disk usage.
              "targetReadOpsPerSecond": 42, # Target ops read per seconds.
              "targetWriteBytesPerSecond": 42, # Target bytes written per second.
              "targetReadBytesPerSecond": 42, # Target bytes read per second.
              "targetWriteOpsPerSecond": 42, # Target ops written per second.
            },
            "maxPendingLatency": "A String", # Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.
            "maxIdleInstances": 42, # Maximum number of idle instances that should be maintained for this version.
            "minIdleInstances": 42, # Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.
            "requestUtilization": { # Target scaling by request utilization. Only applicable for VM runtimes. # Target scaling by request utilization.
              "targetConcurrentRequests": 42, # Target number of concurrent requests.
              "targetRequestCountPerSecond": 42, # Target requests per second.
            },
            "coolDownPeriod": "A String", # Amount of time that the [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes.
            "maxTotalInstances": 42, # Maximum number of instances that should be started to handle requests.
            "maxConcurrentRequests": 42, # Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Defaults to a runtime-specific value.
            "minTotalInstances": 42, # Minimum number of instances that should be maintained for this version.
            "cpuUtilization": { # Target scaling by CPU usage. # Target scaling by CPU usage.
              "targetUtilization": 3.14, # Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.
              "aggregationWindowLength": "A String", # Period of time over which CPU utilization is calculated.
            },
          },
          "envVariables": { # Environment variables available to the application. Only returned in `GET` requests if `view=FULL` is set.
            "a_key": "A String",
          },
          "resources": { # Machine resources for a version. # Machine resources for this version. Only applicable for VM runtimes.
            "diskGb": 3.14, # Disk size (GB) needed.
            "cpu": 3.14, # Number of CPU cores needed.
            "memoryGb": 3.14, # Memory (GB) needed.
          },
          "manualScaling": { # A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time. # A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.
            "instances": 42, # Number of instances to assign to the service at the start. This number can later be altered by using the [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) `set_num_instances()` function.
          },
          "inboundServices": [ # Before an application can receive email or XMPP messages, the application must be configured to enable the service.
            "A String",
          ],
          "createdBy": "A String", # Email address of the user who created this version. @OutputOnly
          "deployment": { # Code and application artifacts used to deploy a version to App Engine. # Code and application artifacts that make up this version. Only returned in `GET` requests if `view=FULL` is set.
            "files": { # Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.
              "a_key": { # Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.
                "mimeType": "A String", # The MIME type of the file. Defaults to the value from Google Cloud Storage.
                "sourceUrl": "A String", # URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\/\'.
                "sha1Sum": "A String", # The SHA1 hash of the file, in hex.
              },
            },
            "container": { # Docker image that is used to start a VM container for the version you deploy. # A Docker image that App Engine uses to run the version. Only applicable for instances in App Engine flexible environment.
              "image": "A String", # URI to the hosted container image in a Docker repository. The URI must be fully qualified and include a tag or digest. Examples: "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest"
            },
            "zip": { # The zip file for this deployment, if this is a zip deployment.
              "filesCount": 42, # An estimate of the number of files in a zip for a zip deployment. If set, must be greater than or equal to the actual number of files. Used for optimizing performance; if not provided, deployment may be slow.
              "sourceUrl": "A String", # URL of the zip file to deploy from. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\/\'.
            },
          },
          "createTime": "A String", # Time that this version was created. @OutputOnly
          "network": { # Extra network settings. Only applicable for VM runtimes. # Extra network settings. Only applicable for VM runtimes.
            "instanceTag": "A String", # Tag to apply to the VM instance during creation.
            "forwardedPorts": [ # List of ports, or port pairs, to forward from the virtual machine to the application container.
              "A String",
            ],
            "name": "A String", # Google Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path. Defaults to `default`.
          },
          "nobuildFilesRegex": "A String", # Files that match this pattern will not be built into this version. Only applicable for Go runtimes. Only returned in `GET` requests if `view=FULL` is set.
          "name": "A String", # Full path to the Version resource in the API. Example: `apps/myapp/services/default/versions/v1`. @OutputOnly
          "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. Only returned in `GET` requests if `view=FULL` is set.
            { # URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code or by serving static files uploaded with the version, such as images, CSS, or JavaScript.
              "securityLevel": "A String", # Security (HTTPS) enforcement for this URL.
              "authFailAction": "A String", # Action to take when users access resources that require authentication. Defaults to `redirect`.
              "urlRegex": "A String", # URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.
              "script": { # Executes a script to handle the request that matches the URL pattern. # Executes a script to handle the request that matches this URL pattern.
                "scriptPath": "A String", # Path to the script from the application root directory.
              },
              "staticFiles": { # Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them. # Returns the contents of a file, such as an image, as the response.
                "mimeType": "A String", # MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file's filename extension.
                "applicationReadable": True or False, # Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.
                "expiration": "A String", # Time a static file served by this handler should be cached by web proxies and browsers.
                "requireMatchingFile": True or False, # Whether this handler should match the request if the file referenced by the handler does not exist.
                "uploadPathRegex": "A String", # Regular expression that matches the file paths for all files that should be referenced by this handler.
                "path": "A String", # Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.
                "httpHeaders": { # HTTP headers to use for all responses from these URLs.
                  "a_key": "A String",
                },
              },
              "apiEndpoint": { # Uses Google Cloud Endpoints to handle requests. # Uses API Endpoints to handle requests.
                "scriptPath": "A String", # Path to the script from the application root directory.
              },
              "login": "A String", # Level of login required to access this resource.
              "redirectHttpResponseCode": "A String", # `30x` code to use when performing redirects for the `secure` field. Defaults to `302`.
            },
          ],
          "servingStatus": "A String", # Current serving status of this version. Only the versions with a `SERVING` status create instances and can be billed. `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`.
          "runtime": "A String", # Desired runtime. Example: `python27`.
        }

`list(appsId, servicesId, pageSize=None, x__xgafv=None, pageToken=None, view=None)`

    Lists the versions of a service.

    Args:
      appsId: string, Part of `parent`. Name of the parent Service resource. Example: `apps/myapp/services/default`. (required)
      servicesId: string, Part of `parent`. See documentation of `appsId`. (required)
      pageSize: integer, Maximum results to return per page.
      x__xgafv: string, V1 error format.
      pageToken: string, Continuation token for fetching the next page of results.
      view: string, Controls the set of fields returned in the `List` response.

    Returns:
      An object of the form:

        { # Response message for `Versions.ListVersions`.
        "nextPageToken": "A String", # Continuation token for fetching the next page of results.
        "versions": [ # The versions belonging to the requested service.
          { # A Version resource is a specific set of source code and configuration files that are deployed into a service.
              "basicScaling": { # A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity. # A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.
                "idleTimeout": "A String", # Duration of time after the last request that an instance must wait before the instance is shut down.
                "maxInstances": 42, # Maximum number of instances to create for this version.
              },
              "betaSettings": { # Metadata settings that are supplied to this version to enable beta runtime features.
                "a_key": "A String",
              },
              "vm": True or False, # Whether to deploy this version in a container on a virtual machine.
              "instanceClass": "A String", # Instance class that is used to run this version. Valid values are: * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G` * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G` Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or BasicScaling.
              "errorHandlers": [ # Custom static error pages. Limited to 10KB per page. Only returned in `GET` requests if `view=FULL` is set.
                { # Custom static error page to be served when an error occurs.
                  "errorCode": "A String", # Error condition this handler applies to.
                  "mimeType": "A String", # MIME type of file. Defaults to `text/html`.
                  "staticFile": "A String", # Static file content to be served for this error.
                },
              ],
              "id": "A String", # Relative name of the version within the service. Example: `v1`. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: "default", "latest", and any name with the prefix "ah-".
              "apiConfig": { # [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers. # Serving configuration for [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/). Only returned in `GET` requests if `view=FULL` is set.
                "url": "A String", # URL to serve the endpoint at.
                "securityLevel": "A String", # Security (HTTPS) enforcement for this URL.
                "authFailAction": "A String", # Action to take when users access resources that require authentication. Defaults to `redirect`.
                "login": "A String", # Level of login required to access this resource. Defaults to `optional`.
                "script": "A String", # Path to the script from the application root directory.
              },
              "threadsafe": True or False, # Whether multiple requests can be dispatched to this version at once.
              "healthCheck": { # Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment. # Configures health checking for VM instances. Unhealthy instances are stopped and replaced with new instances. Only applicable for VM runtimes. Only returned in `GET` requests if `view=FULL` is set.
                "restartThreshold": 42, # Number of consecutive failed health checks required before an instance is restarted.
                "checkInterval": "A String", # Interval between health checks.
                "unhealthyThreshold": 42, # Number of consecutive failed health checks required before removing traffic.
                "healthyThreshold": 42, # Number of consecutive successful health checks required before receiving traffic.
                "host": "A String", # Host header to send when performing an HTTP health check. Example: "myapp.appspot.com"
                "timeout": "A String", # Time before the health check is considered failed.
                "disableHealthCheck": True or False, # Whether to explicitly disable health checks for this instance.
              },
              "defaultExpiration": "A String", # Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler) does not specify its own expiration time. Only returned in `GET` requests if `view=FULL` is set.
              "versionUrl": "A String", # Serving URL for this version. Example: "https://myversion-dot-myservice-dot-myapp.appspot.com" @OutputOnly
              "libraries": [ # Configuration for third-party Python runtime libraries that are required by the application. Only returned in `GET` requests if `view=FULL` is set.
                { # Third-party Python runtime library that is required by the application.
                  "version": "A String", # Version of the library to select, or "latest".
                  "name": "A String", # Name of the library. Example: "django".
                },
              ],
              "env": "A String", # App Engine execution environment for this version. Defaults to `standard`.
              "diskUsageBytes": "A String", # Total size in bytes of all the files that are included in this version and curerntly hosted on the App Engine disk. @OutputOnly
              "automaticScaling": { # Automatic scaling is based on request rate, response latencies, and other application metrics. # Automatic scaling is based on request rate, response latencies, and other application metrics.
                "minPendingLatency": "A String", # Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.
                "networkUtilization": { # Target scaling by network usage. Only applicable for VM runtimes. # Target scaling by network usage.
                  "targetReceivedPacketsPerSecond": 42, # Target packets received per second.
                  "targetSentPacketsPerSecond": 42, # Target packets sent per second.
                  "targetReceivedBytesPerSecond": 42, # Target bytes received per second.
                  "targetSentBytesPerSecond": 42, # Target bytes sent per second.
                },
                "diskUtilization": { # Target scaling by disk usage. Only applicable for VM runtimes. # Target scaling by disk usage.
                  "targetReadOpsPerSecond": 42, # Target ops read per seconds.
                  "targetWriteBytesPerSecond": 42, # Target bytes written per second.
                  "targetReadBytesPerSecond": 42, # Target bytes read per second.
                  "targetWriteOpsPerSecond": 42, # Target ops written per second.
                },
                "maxPendingLatency": "A String", # Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.
                "maxIdleInstances": 42, # Maximum number of idle instances that should be maintained for this version.
                "minIdleInstances": 42, # Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.
                "requestUtilization": { # Target scaling by request utilization. Only applicable for VM runtimes. # Target scaling by request utilization.
                  "targetConcurrentRequests": 42, # Target number of concurrent requests.
                  "targetRequestCountPerSecond": 42, # Target requests per second.
                },
                "coolDownPeriod": "A String", # Amount of time that the [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes.
                "maxTotalInstances": 42, # Maximum number of instances that should be started to handle requests.
                "maxConcurrentRequests": 42, # Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Defaults to a runtime-specific value.
                "minTotalInstances": 42, # Minimum number of instances that should be maintained for this version.
                "cpuUtilization": { # Target scaling by CPU usage. # Target scaling by CPU usage.
                  "targetUtilization": 3.14, # Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.
                  "aggregationWindowLength": "A String", # Period of time over which CPU utilization is calculated.
                },
              },
              "envVariables": { # Environment variables available to the application. Only returned in `GET` requests if `view=FULL` is set.
                "a_key": "A String",
              },
              "resources": { # Machine resources for a version. # Machine resources for this version. Only applicable for VM runtimes.
                "diskGb": 3.14, # Disk size (GB) needed.
                "cpu": 3.14, # Number of CPU cores needed.
                "memoryGb": 3.14, # Memory (GB) needed.
              },
              "manualScaling": { # A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time. # A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.
                "instances": 42, # Number of instances to assign to the service at the start. This number can later be altered by using the [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) `set_num_instances()` function.
              },
              "inboundServices": [ # Before an application can receive email or XMPP messages, the application must be configured to enable the service.
                "A String",
              ],
              "createdBy": "A String", # Email address of the user who created this version. @OutputOnly
              "deployment": { # Code and application artifacts used to deploy a version to App Engine. # Code and application artifacts that make up this version. Only returned in `GET` requests if `view=FULL` is set.
                "files": { # Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.
                  "a_key": { # Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.
                    "mimeType": "A String", # The MIME type of the file. Defaults to the value from Google Cloud Storage.
                    "sourceUrl": "A String", # URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\/\'.
                    "sha1Sum": "A String", # The SHA1 hash of the file, in hex.
                  },
                },
                "container": { # Docker image that is used to start a VM container for the version you deploy. # A Docker image that App Engine uses to run the version. Only applicable for instances in App Engine flexible environment.
                  "image": "A String", # URI to the hosted container image in a Docker repository. The URI must be fully qualified and include a tag or digest. Examples: "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest"
                },
                "zip": { # The zip file for this deployment, if this is a zip deployment.
                  "filesCount": 42, # An estimate of the number of files in a zip for a zip deployment. If set, must be greater than or equal to the actual number of files. Used for optimizing performance; if not provided, deployment may be slow.
                  "sourceUrl": "A String", # URL of the zip file to deploy from. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\/\'.
                },
              },
              "createTime": "A String", # Time that this version was created. @OutputOnly
              "network": { # Extra network settings. Only applicable for VM runtimes. # Extra network settings. Only applicable for VM runtimes.
                "instanceTag": "A String", # Tag to apply to the VM instance during creation.
                "forwardedPorts": [ # List of ports, or port pairs, to forward from the virtual machine to the application container.
                  "A String",
                ],
                "name": "A String", # Google Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path. Defaults to `default`.
              },
              "nobuildFilesRegex": "A String", # Files that match this pattern will not be built into this version. Only applicable for Go runtimes. Only returned in `GET` requests if `view=FULL` is set.
              "name": "A String", # Full path to the Version resource in the API. Example: `apps/myapp/services/default/versions/v1`. @OutputOnly
              "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. Only returned in `GET` requests if `view=FULL` is set.
                { # URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code or by serving static files uploaded with the version, such as images, CSS, or JavaScript.
                  "securityLevel": "A String", # Security (HTTPS) enforcement for this URL.
                  "authFailAction": "A String", # Action to take when users access resources that require authentication. Defaults to `redirect`.
                  "urlRegex": "A String", # URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.
                  "script": { # Executes a script to handle the request that matches the URL pattern. # Executes a script to handle the request that matches this URL pattern.
                    "scriptPath": "A String", # Path to the script from the application root directory.
                  },
                  "staticFiles": { # Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them. # Returns the contents of a file, such as an image, as the response.
                    "mimeType": "A String", # MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file's filename extension.
                    "applicationReadable": True or False, # Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.
                    "expiration": "A String", # Time a static file served by this handler should be cached by web proxies and browsers.
                    "requireMatchingFile": True or False, # Whether this handler should match the request if the file referenced by the handler does not exist.
                    "uploadPathRegex": "A String", # Regular expression that matches the file paths for all files that should be referenced by this handler.
                    "path": "A String", # Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.
                    "httpHeaders": { # HTTP headers to use for all responses from these URLs.
                      "a_key": "A String",
                    },
                  },
                  "apiEndpoint": { # Uses Google Cloud Endpoints to handle requests. # Uses API Endpoints to handle requests.
                    "scriptPath": "A String", # Path to the script from the application root directory.
                  },
                  "login": "A String", # Level of login required to access this resource.
                  "redirectHttpResponseCode": "A String", # `30x` code to use when performing redirects for the `secure` field. Defaults to `302`.
                },
              ],
              "servingStatus": "A String", # Current serving status of this version. Only the versions with a `SERVING` status create instances and can be billed. `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`.
              "runtime": "A String", # Desired runtime. Example: `python27`.
            },
        ],
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`patch(appsId, servicesId, versionsId, body, updateMask=None, x__xgafv=None)`

    Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses: * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment. * [`instance_class`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment. * [`automatic_scaling.min_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment. * [`automatic_scaling.max_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.

    Args:
      appsId: string, Part of `name`. Name of the resource to update. Example: `apps/myapp/services/default/versions/1`. (required)
      servicesId: string, Part of `name`. See documentation of `appsId`. (required)
      versionsId: string, Part of `name`. See documentation of `appsId`. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # A Version resource is a specific set of source code and configuration files that are deployed into a service.
        "basicScaling": { # A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity. # A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.
          "idleTimeout": "A String", # Duration of time after the last request that an instance must wait before the instance is shut down.
          "maxInstances": 42, # Maximum number of instances to create for this version.
        },
        "betaSettings": { # Metadata settings that are supplied to this version to enable beta runtime features.
          "a_key": "A String",
        },
        "vm": True or False, # Whether to deploy this version in a container on a virtual machine.
        "instanceClass": "A String", # Instance class that is used to run this version. Valid values are: * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G` * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G` Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or BasicScaling.
        "errorHandlers": [ # Custom static error pages. Limited to 10KB per page. Only returned in `GET` requests if `view=FULL` is set.
          { # Custom static error page to be served when an error occurs.
            "errorCode": "A String", # Error condition this handler applies to.
            "mimeType": "A String", # MIME type of file. Defaults to `text/html`.
            "staticFile": "A String", # Static file content to be served for this error.
          },
        ],
        "id": "A String", # Relative name of the version within the service. Example: `v1`. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: "default", "latest", and any name with the prefix "ah-".
        "apiConfig": { # [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers. # Serving configuration for [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/). Only returned in `GET` requests if `view=FULL` is set.
          "url": "A String", # URL to serve the endpoint at.
          "securityLevel": "A String", # Security (HTTPS) enforcement for this URL.
          "authFailAction": "A String", # Action to take when users access resources that require authentication. Defaults to `redirect`.
          "login": "A String", # Level of login required to access this resource. Defaults to `optional`.
          "script": "A String", # Path to the script from the application root directory.
        },
        "threadsafe": True or False, # Whether multiple requests can be dispatched to this version at once.
        "healthCheck": { # Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment. # Configures health checking for VM instances. Unhealthy instances are stopped and replaced with new instances. Only applicable for VM runtimes. Only returned in `GET` requests if `view=FULL` is set.
          "restartThreshold": 42, # Number of consecutive failed health checks required before an instance is restarted.
          "checkInterval": "A String", # Interval between health checks.
          "unhealthyThreshold": 42, # Number of consecutive failed health checks required before removing traffic.
          "healthyThreshold": 42, # Number of consecutive successful health checks required before receiving traffic.
          "host": "A String", # Host header to send when performing an HTTP health check. Example: "myapp.appspot.com"
          "timeout": "A String", # Time before the health check is considered failed.
          "disableHealthCheck": True or False, # Whether to explicitly disable health checks for this instance.
        },
        "defaultExpiration": "A String", # Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler) does not specify its own expiration time. Only returned in `GET` requests if `view=FULL` is set.
        "versionUrl": "A String", # Serving URL for this version. Example: "https://myversion-dot-myservice-dot-myapp.appspot.com" @OutputOnly
        "libraries": [ # Configuration for third-party Python runtime libraries that are required by the application. Only returned in `GET` requests if `view=FULL` is set.
          { # Third-party Python runtime library that is required by the application.
            "version": "A String", # Version of the library to select, or "latest".
            "name": "A String", # Name of the library. Example: "django".
          },
        ],
        "env": "A String", # App Engine execution environment for this version. Defaults to `standard`.
        "diskUsageBytes": "A String", # Total size in bytes of all the files that are included in this version and curerntly hosted on the App Engine disk. @OutputOnly
        "automaticScaling": { # Automatic scaling is based on request rate, response latencies, and other application metrics. # Automatic scaling is based on request rate, response latencies, and other application metrics.
          "minPendingLatency": "A String", # Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.
          "networkUtilization": { # Target scaling by network usage. Only applicable for VM runtimes. # Target scaling by network usage.
            "targetReceivedPacketsPerSecond": 42, # Target packets received per second.
            "targetSentPacketsPerSecond": 42, # Target packets sent per second.
            "targetReceivedBytesPerSecond": 42, # Target bytes received per second.
            "targetSentBytesPerSecond": 42, # Target bytes sent per second.
          },
          "diskUtilization": { # Target scaling by disk usage. Only applicable for VM runtimes. # Target scaling by disk usage.
            "targetReadOpsPerSecond": 42, # Target ops read per seconds.
            "targetWriteBytesPerSecond": 42, # Target bytes written per second.
            "targetReadBytesPerSecond": 42, # Target bytes read per second.
            "targetWriteOpsPerSecond": 42, # Target ops written per second.
          },
          "maxPendingLatency": "A String", # Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.
          "maxIdleInstances": 42, # Maximum number of idle instances that should be maintained for this version.
          "minIdleInstances": 42, # Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.
          "requestUtilization": { # Target scaling by request utilization. Only applicable for VM runtimes. # Target scaling by request utilization.
            "targetConcurrentRequests": 42, # Target number of concurrent requests.
            "targetRequestCountPerSecond": 42, # Target requests per second.
          },
          "coolDownPeriod": "A String", # Amount of time that the [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes.
          "maxTotalInstances": 42, # Maximum number of instances that should be started to handle requests.
          "maxConcurrentRequests": 42, # Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Defaults to a runtime-specific value.
          "minTotalInstances": 42, # Minimum number of instances that should be maintained for this version.
          "cpuUtilization": { # Target scaling by CPU usage. # Target scaling by CPU usage.
            "targetUtilization": 3.14, # Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.
            "aggregationWindowLength": "A String", # Period of time over which CPU utilization is calculated.
          },
        },
        "envVariables": { # Environment variables available to the application. Only returned in `GET` requests if `view=FULL` is set.
          "a_key": "A String",
        },
        "resources": { # Machine resources for a version. # Machine resources for this version. Only applicable for VM runtimes.
          "diskGb": 3.14, # Disk size (GB) needed.
          "cpu": 3.14, # Number of CPU cores needed.
          "memoryGb": 3.14, # Memory (GB) needed.
        },
        "manualScaling": { # A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time. # A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.
          "instances": 42, # Number of instances to assign to the service at the start. This number can later be altered by using the [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) `set_num_instances()` function.
        },
        "inboundServices": [ # Before an application can receive email or XMPP messages, the application must be configured to enable the service.
          "A String",
        ],
        "createdBy": "A String", # Email address of the user who created this version. @OutputOnly
        "deployment": { # Code and application artifacts used to deploy a version to App Engine. # Code and application artifacts that make up this version. Only returned in `GET` requests if `view=FULL` is set.
          "files": { # Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.
            "a_key": { # Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.
              "mimeType": "A String", # The MIME type of the file. Defaults to the value from Google Cloud Storage.
              "sourceUrl": "A String", # URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\/\'.
              "sha1Sum": "A String", # The SHA1 hash of the file, in hex.
            },
          },
          "container": { # Docker image that is used to start a VM container for the version you deploy. # A Docker image that App Engine uses to run the version. Only applicable for instances in App Engine flexible environment.
            "image": "A String", # URI to the hosted container image in a Docker repository. The URI must be fully qualified and include a tag or digest. Examples: "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest"
          },
          "zip": { # The zip file for this deployment, if this is a zip deployment.
            "filesCount": 42, # An estimate of the number of files in a zip for a zip deployment. If set, must be greater than or equal to the actual number of files. Used for optimizing performance; if not provided, deployment may be slow.
            "sourceUrl": "A String", # URL of the zip file to deploy from. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\/\'.
          },
        },
        "createTime": "A String", # Time that this version was created. @OutputOnly
        "network": { # Extra network settings. Only applicable for VM runtimes. # Extra network settings. Only applicable for VM runtimes.
          "instanceTag": "A String", # Tag to apply to the VM instance during creation.
          "forwardedPorts": [ # List of ports, or port pairs, to forward from the virtual machine to the application container.
            "A String",
          ],
          "name": "A String", # Google Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path. Defaults to `default`.
        },
        "nobuildFilesRegex": "A String", # Files that match this pattern will not be built into this version. Only applicable for Go runtimes. Only returned in `GET` requests if `view=FULL` is set.
        "name": "A String", # Full path to the Version resource in the API. Example: `apps/myapp/services/default/versions/v1`. @OutputOnly
        "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. Only returned in `GET` requests if `view=FULL` is set.
          { # URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code or by serving static files uploaded with the version, such as images, CSS, or JavaScript.
            "securityLevel": "A String", # Security (HTTPS) enforcement for this URL.
            "authFailAction": "A String", # Action to take when users access resources that require authentication. Defaults to `redirect`.
            "urlRegex": "A String", # URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.
            "script": { # Executes a script to handle the request that matches the URL pattern. # Executes a script to handle the request that matches this URL pattern.
              "scriptPath": "A String", # Path to the script from the application root directory.
            },
            "staticFiles": { # Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them. # Returns the contents of a file, such as an image, as the response.
              "mimeType": "A String", # MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file's filename extension.
              "applicationReadable": True or False, # Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.
              "expiration": "A String", # Time a static file served by this handler should be cached by web proxies and browsers.
              "requireMatchingFile": True or False, # Whether this handler should match the request if the file referenced by the handler does not exist.
              "uploadPathRegex": "A String", # Regular expression that matches the file paths for all files that should be referenced by this handler.
              "path": "A String", # Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.
              "httpHeaders": { # HTTP headers to use for all responses from these URLs.
                "a_key": "A String",
              },
            },
            "apiEndpoint": { # Uses Google Cloud Endpoints to handle requests. # Uses API Endpoints to handle requests.
              "scriptPath": "A String", # Path to the script from the application root directory.
            },
            "login": "A String", # Level of login required to access this resource.
            "redirectHttpResponseCode": "A String", # `30x` code to use when performing redirects for the `secure` field. Defaults to `302`.
          },
        ],
        "servingStatus": "A String", # Current serving status of this version. Only the versions with a `SERVING` status create instances and can be billed. `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`.
        "runtime": "A String", # Desired runtime. Example: `python27`.
      }

      updateMask: string, Standard field mask for the set of fields to be updated.
      x__xgafv: string, V1 error format.

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
        "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users - Flexible enough to meet unexpected needs # Overview The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons. # The error result of the operation in case of failure.
          "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details. There will be a common set of message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
        "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available.
        "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`.
        "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      }