Skip to main content

instances

Creates, updates, deletes, gets or lists an instances resource.

Overview

Nameinstances
TypeResource
Idgoogle.appengine.instances

Fields

The following fields are returned by SELECT queries:

Successful response

NameDatatypeDescription
idstringOutput only. Relative name of the instance within the version. Example: instance-1.
namestringOutput only. Full path to the Instance resource in the API. Example: apps/myapp/services/default/versions/v1/instances/instance-1.
appEngineReleasestringOutput only. App Engine release this instance is running on.
availabilitystringOutput only. Availability of the instance.
averageLatencyinteger (int32)Output only. Average latency (ms) over the last minute.
errorsinteger (int32)Output only. Number of errors since this instance was started.
memoryUsagestring (int64)Output only. Total memory in use (bytes).
qpsnumber (float)Output only. Average queries per second (QPS) over the last minute.
requestsinteger (int32)Output only. Number of requests since this instance was started.
startTimestring (google-datetime)Output only. Time that this instance was started.@OutputOnly
vmDebugEnabledbooleanOutput only. Whether this instance is in debug mode. Only applicable for instances in App Engine flexible environment.
vmIdstringOutput only. Virtual machine ID of this instance. Only applicable for instances in App Engine flexible environment.
vmIpstringOutput only. The IP address of this instance. Only applicable for instances in App Engine flexible environment.
vmLivenessstringOutput only. The liveness health check of this instance. Only applicable for instances in App Engine flexible environment.
vmNamestringOutput only. Name of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.
vmStatusstringOutput only. Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.
vmZoneNamestringOutput only. Zone where the virtual machine is located. Only applicable for instances in App Engine flexible environment.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectappsId, servicesId, versionsId, instancesIdGets instance information.
listselectappsId, servicesId, versionsIdpageSize, pageTokenLists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).
deletedeleteappsId, servicesId, versionsId, instancesIdStops a running instance.The instance might be automatically recreated based on the scaling settings of the version. For more information, see "How Instances are Managed" (standard environment (https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed) | flexible environment (https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)).To ensure that instances are not re-created and avoid getting billed, you can stop all instances within the target version by changing the serving status of the version to STOPPED with the apps.services.versions.patch (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch) method.
debugexecappsId, servicesId, versionsId, instancesIdEnables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in "debug mode", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
appsIdstring
instancesIdstring
servicesIdstring
versionsIdstring
pageSizeinteger (int32)
pageTokenstring

SELECT examples

Gets instance information.

SELECT
id,
name,
appEngineRelease,
availability,
averageLatency,
errors,
memoryUsage,
qps,
requests,
startTime,
vmDebugEnabled,
vmId,
vmIp,
vmLiveness,
vmName,
vmStatus,
vmZoneName
FROM google.appengine.instances
WHERE appsId = '{{ appsId }}' -- required
AND servicesId = '{{ servicesId }}' -- required
AND versionsId = '{{ versionsId }}' -- required
AND instancesId = '{{ instancesId }}' -- required;

DELETE examples

Stops a running instance.The instance might be automatically recreated based on the scaling settings of the version. For more information, see "How Instances are Managed" (standard environment (https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed) | flexible environment (https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)).To ensure that instances are not re-created and avoid getting billed, you can stop all instances within the target version by changing the serving status of the version to STOPPED with the apps.services.versions.patch (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch) method.

DELETE FROM google.appengine.instances
WHERE appsId = '{{ appsId }}' --required
AND servicesId = '{{ servicesId }}' --required
AND versionsId = '{{ versionsId }}' --required
AND instancesId = '{{ instancesId }}' --required;

Lifecycle Methods

Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in "debug mode", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment.

EXEC google.appengine.instances.debug 
@appsId='{{ appsId }}' --required,
@servicesId='{{ servicesId }}' --required,
@versionsId='{{ versionsId }}' --required,
@instancesId='{{ instancesId }}' --required
@@json=
'{
"sshKey": "{{ sshKey }}"
}';