Skip to main content

projects

Creates, updates, deletes, gets or lists a projects resource.

Overview

Nameprojects
TypeResource
Idgoogle.compute.projects

Fields

The following fields are returned by SELECT queries:

Successful response

NameDatatypeDescription
idstring (uint64)[Output Only] The unique identifier for the resource. This identifier is defined by the server. This is not the project ID, and is just a unique ID used by Compute Engine to identify resources.
namestringThe project ID. For example: my-example-project. Use the project ID to make requests to Compute Engine.
cloudArmorTierstring[Output Only] The Cloud Armor tier for this project. It can be one of the following values: CA_STANDARD, CA_ENTERPRISE_PAYGO. If this field is not specified, it is assumed to be CA_STANDARD.
commonInstanceMetadataobjectMetadata key/value pairs available to all instances contained in this project. See Custom metadata for more information. (id: Metadata)
creationTimestampstring[Output Only] Creation timestamp in RFC3339 text format.
defaultNetworkTierstringThis signifies the default network tier used for configuring resources of the project and can only take the following values: PREMIUM, STANDARD. Initially the default network tier is PREMIUM.
defaultServiceAccountstring[Output Only] Default service account used by VMs running in this project.
descriptionstringAn optional textual description of the resource.
enabledFeaturesarrayAn optional list of restricted features enabled for use on this project.
kindstring[Output Only] Type of the resource. Always compute#project for projects. (default: compute#project)
quotasarray[Output Only] Quotas assigned to this project.
selfLinkstring[Output Only] Server-defined URL for the resource.
usageExportLocationobjectAn optional naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored. (id: UsageExportLocation)
vmDnsSettingstring[Output Only] Default internal DNS setting used by VMs running in this project.
xpnProjectStatusstring[Output Only] The role this project has in a shared VPC configuration. Currently, only projects with the host role, which is specified by the value HOST, are differentiated.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectprojectReturns the specified Project resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the quotas field). To exclude one or more fields, set your request's fields query parameter to only include the fields you need. For example, to only include the id and selfLink fields, add the query parameter ?fields=id,selfLink to your request.
set_common_instance_metadataexecprojectrequestIdSets metadata common to all instances within the specified project using the data included in the request.
set_usage_export_bucketexecprojectrequestIdEnables the usage export feature and sets the usage export bucket where reports are stored. If you provide an empty request body using this method, the usage export feature will be disabled.
move_instanceexecprojectrequestIdMoves an instance and its attached persistent disks from one zone to another. Note: Moving VMs or disks by using this method might cause unexpected behavior. For more information, see the known issue. [Deprecated] This method is deprecated. See moving instance across zones instead.
move_diskexecprojectrequestIdMoves a persistent disk from one zone to another.
enable_xpn_hostexecprojectrequestIdEnable this project as a shared VPC host project.
disable_xpn_hostexecprojectrequestIdDisable this project as a shared VPC host project.
enable_xpn_resourceexecprojectrequestIdEnable service resource (a.k.a service project) for a host project, so that subnets in the host project can be used by instances in the service project.
disable_xpn_resourceexecprojectrequestIdDisable a service resource (also known as service project) associated with this host project.
set_default_network_tierexecprojectrequestIdSets the default network tier of the project. The default network tier is used when an address/forwardingRule/instance is created without specifying the network tier field.
set_cloud_armor_tierexecprojectrequestIdSets the Cloud Armor tier of the project. To set ENTERPRISE or above the billing account of the project must be subscribed to Cloud Armor Enterprise. See Subscribing to Cloud Armor Enterprise for more information.

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
projectstring
requestIdstring

SELECT examples

Returns the specified Project resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the quotas field). To exclude one or more fields, set your request's fields query parameter to only include the fields you need. For example, to only include the id and selfLink fields, add the query parameter ?fields=id,selfLink to your request.

SELECT
id,
name,
cloudArmorTier,
commonInstanceMetadata,
creationTimestamp,
defaultNetworkTier,
defaultServiceAccount,
description,
enabledFeatures,
kind,
quotas,
selfLink,
usageExportLocation,
vmDnsSetting,
xpnProjectStatus
FROM google.compute.projects
WHERE project = '{{ project }}' -- required;

Lifecycle Methods

Sets metadata common to all instances within the specified project using the data included in the request.

EXEC google.compute.projects.set_common_instance_metadata 
@project='{{ project }}' --required,
@requestId='{{ requestId }}'
@@json=
'{
"kind": "{{ kind }}",
"fingerprint": "{{ fingerprint }}",
"items": "{{ items }}"
}';