Skip to main content
Glama

get_instance_template_properties

Read-onlyIdempotent

Get instance properties of a Compute Engine instance template. This includes properties such as description, tags, machine type, network interfaces, disks, metadata, service accounts, scheduling options, labels, guest accelerators, reservation affinity, and shielded/confidential instance configurations. Requires project and instance template name as input.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesRequired. Identifier. Name of the instance template to return.
projectYesRequired. Project ID for this request.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNoA list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035 <https://www.ietf.org/rfc/rfc1035.txt>.
disksNoAn array of disks that are associated with the instances that are created from these properties.
labelsNoLabels to apply to instances that are created from these properties.
metadataNoThe metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See Project and instance metadata </compute/docs/metadata#project_and_instance_metadata> for more information.
schedulingNoSpecifies the scheduling options for the instances that are created from these properties.
descriptionNoAn optional text description for the instances that are created from these properties.
machineTypeNoThe machine type to use for instances that are created from these properties. This field only accepts a machine type name, for example `n2-standard-4`. If you use the machine type full or partial URL, for example `projects/my-l7ilb-project/zones/us-central1-a/machineTypes/n2-standard-4`, the request will result in an `INTERNAL_ERROR`.
canIpForwardNoEnables instances created based on these properties to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify true. If unsure, leave this set to false. See the Enable IP forwarding </vpc/docs/using-routes#canipforward> documentation for more information.
minCpuPlatformNoMinimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge". For more information, read Specifying a Minimum CPU Platform </compute/docs/instances/specify-min-cpu-platform>.
serviceAccountsNoA list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.
resourcePoliciesNoResource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet.
guestAcceleratorsNoA list of guest accelerator cards' type and count to use for instances created from these properties.
networkInterfacesNoAn array of network access configurations for this interface.
reservationAffinityNoSpecifies the reservations that instances can consume from. Note that for MachineImage, this is not supported yet.
resourceManagerTagsNoInput only. Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags <https://cloud.google.com/resource-manager/docs/tags/tags-overview>. Keys and values can be either in numeric format, such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in namespaced format such as `{org_id|project_id}/{tag_key_short_name}` and `{tag_value_short_name}`. The field is ignored (both PUT & PATCH) when empty.
localSsdEncryptionModeNoSpecifies which method should be used for encrypting the Local SSDs attached to the VM.
shieldedInstanceConfigNoNote that for MachineImage, this is not supported yet.
workloadIdentityConfigNo
advancedMachineFeaturesNoControls for advanced machine-related behavior features. Note that for MachineImage, this is not supported yet.
keyRevocationActionTypeNoKeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified.
privateIpv6GoogleAccessNoThe private IPv6 google access type for VMs. If not specified, use INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not supported yet.
networkPerformanceConfigNoNote that for MachineImage, this is not supported yet.
confidentialInstanceConfigNoSpecifies the Confidential Instance options. Note that for MachineImage, this is not supported yet.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed5 schema fields changed
    • changedOutput schema / $defs / ConfidentialInstanceConfig / properties / confidentialInstanceType / enum
      Previous value: -[
      -  "CCA",
      -  "CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED",
      -  "SEV",
      -  "SEV_SNP",
      -  "TDX"
      -]New value: +[
      +  "BMSAI",
      +  "CCA",
      +  "CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED",
      +  "SEV",
      +  "SEV_SNP",
      +  "TDX"
      +]
    • changedOutput schema / $defs / ConfidentialInstanceConfig / properties / confidentialInstanceType / x-google-enum-descriptions
      Previous value: -[
      -  "Arm Confidential Compute Architecture.",
      -  "No type specified. Do not use this value.",
      -  "AMD Secure Encrypted Virtualization.",
      -  "AMD Secure Encrypted Virtualization - Secure Nested Paging.",
      -  "Intel Trust Domain eXtension."
      -]New value: +[
      +  "Bare Metal Secure AI.",
      +  "Arm Confidential Compute Architecture.",
      +  "No type specified. Do not use this value.",
      +  "AMD Secure Encrypted Virtualization.",
      +  "AMD Secure Encrypted Virtualization - Secure Nested Paging.",
      +  "Intel Trust Domain eXtension."
      +]
    • changedOutput schema / $defs / GuestOsFeature / properties / type / description
      Previous value: -"The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF - SNP_SVSM_CAPABLE - CCA_CAPABLE For more information, see Enabling guest operating system features </compute/docs/images/create-delete-deprecate-private-images#guest-os-features> ."New value: +"The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF - SNP_SVSM_CAPABLE - CCA_CAPABLE - SUSPEND_SAFE_FPR For more information, see Enabling guest operating system features </compute/docs/images/create-delete-deprecate-private-images#guest-os-features> ."
    • changedOutput schema / $defs / GuestOsFeature / properties / type / enum
      Previous value: -[
      -  "BARE_METAL_LINUX_COMPATIBLE",
      -  "CCA_CAPABLE",
      -  "FEATURE_TYPE_UNSPECIFIED",
      -  "GVNIC",
      -  "IDPF",
      -  "MULTI_IP_SUBNET",
      -  "SECURE_BOOT",
      -  "SEV_CAPABLE",
      -  "SEV_LIVE_MIGRATABLE",
      -  "SEV_LIVE_MIGRATABLE_V2",
      -  "SEV_SNP_CAPABLE",
      -  "SNP_SVSM_CAPABLE",
      -  "TDX_CAPABLE",
      -  "UEFI_COMPATIBLE",
      -  "VIRTIO_SCSI_MULTIQUEUE",
      -  "WINDOWS"
      -]New value: +[
      +  "BARE_METAL_LINUX_COMPATIBLE",
      +  "CCA_CAPABLE",
      +  "FEATURE_TYPE_UNSPECIFIED",
      +  "GVNIC",
      +  "IDPF",
      +  "MULTI_IP_SUBNET",
      +  "SECURE_BOOT",
      +  "SEV_CAPABLE",
      +  "SEV_LIVE_MIGRATABLE",
      +  "SEV_LIVE_MIGRATABLE_V2",
      +  "SEV_SNP_CAPABLE",
      +  "SNP_SVSM_CAPABLE",
      +  "SUSPEND_SAFE_FPR",
      +  "TDX_CAPABLE",
      +  "UEFI_COMPATIBLE",
      +  "VIRTIO_SCSI_MULTIQUEUE",
      +  "WINDOWS"
      +]
    • changedOutput schema / $defs / GuestOsFeature / properties / type / x-google-enum-descriptions
      Previous value: -[
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  ""
      -]New value: +[
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "Indicates the guest OS is safe for free page reporting (FPR) during suspend.",
      +  "",
      +  "",
      +  "",
      +  ""
      +]
  2. Changed10 schema fields changed
    • addedOutput schema / $defs / CustomerEncryptionKey / properties / rawKey / deprecated
      Added value: +true
    • changedOutput schema / $defs / CustomerEncryptionKey / properties / rawKey / description
      Previous value: -"Specifies a 256-bit customer-supplied encryption key </compute/docs/disks/customer-supplied-encryption>, encoded in RFC 4648 base64 <https://tools.ietf.org/html/rfc4648#section-4> to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: \"rawKey\": \"SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=\" "New value: +"[DEPRECATED] CSEK is no longer supported. Use CMEK instead. Specifies a 256-bit customer-supplied encryption key </compute/docs/disks/customer-supplied-encryption>, encoded in RFC 4648 base64 <https://tools.ietf.org/html/rfc4648#section-4> to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: \"rawKey\": \"SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=\" "
    • addedOutput schema / $defs / CustomerEncryptionKey / properties / rsaEncryptedKey / deprecated
      Added value: +true
    • changedOutput schema / $defs / CustomerEncryptionKey / properties / rsaEncryptedKey / description
      Previous value: -"Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key </compute/docs/disks/customer-supplied-encryption#rsa-encryption> to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: \"rsaEncryptedKey\": \"ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==\" The key must meet the following requirements before you can provide it to Compute Engine: 1. The key is wrapped using a RSA public key certificate provided by Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64 <https://tools.ietf.org/html/rfc4648#section-4> encoding. Gets the RSA public key certificate provided by Google at: https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem "New value: +"[DEPRECATED] CSEK is no longer supported. Use CMEK instead. Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key </compute/docs/disks/customer-supplied-encryption#rsa-encryption> to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: \"rsaEncryptedKey\": \"ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==\" The key must meet the following requirements before you can provide it to Compute Engine: 1. The key is wrapped using a RSA public key certificate provided by Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64 <https://tools.ietf.org/html/rfc4648#section-4> encoding. Gets the RSA public key certificate provided by Google at: https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem "
    • addedOutput schema / $defs / CustomerEncryptionKey / properties / sha256 / deprecated
      Added value: +true
    • changedOutput schema / $defs / CustomerEncryptionKey / properties / sha256 / description
      Previous value: -"[Output only] The RFC 4648 base64 <https://tools.ietf.org/html/rfc4648#section-4> encoded SHA-256 hash of the customer-supplied encryption key </compute/docs/disks/customer-supplied-encryption> that protects this resource."New value: +"[DEPRECATED] CSEK is no longer supported. Use CMEK instead. [Output only] The RFC 4648 base64 <https://tools.ietf.org/html/rfc4648#section-4> encoded SHA-256 hash of the customer-supplied encryption key </compute/docs/disks/customer-supplied-encryption> that protects this resource."
    • addedOutput schema / $defs / GracefulShutdown
      Added value: +{
      +  "description": "The configuration for gracefully shutting down the instance.",
      +  "properties": {
      +    "enabled": {
      +      "description": "Opts-in for graceful shutdown.",
      +      "type": "boolean"
      +    },
      +    "maxDuration": {
      +      "$ref": "#/$defs/Duration",
      +      "description": "The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state."
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / InitializeParams / properties / diskType / description
      Added value: +"Specifies the disk type used for the boot disk or an additional data disk. For valid disk type values, see Supported types for Hyperdisk volumes </compute/docs/disks/add-hyperdisk#hd_disk_types> and Persistent Disk type variables </compute/docs/disks/add-persistent-disk#hd_disk_types>. When creating a single instance, you must provide either the full or partial URL of the disk type. For example, the following values are valid: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/diskType - projects/project/zones/zone/diskTypes/diskType - zones/zone/diskTypes/diskType When creating an instance template, instance flexibility policy, or when creating or updating an all-instances configuration, you specify the disk type without a URL, for example, hyperdisk-balanced. If you omit this field for a disk, the default disk type depends on the instance's machine series, as follows. - For first- and second-generation machine series like N1, N2, T2, and M1, the default disk type is Standard Persistent Disk (pd-standard). - For C3, C3D, and M3 the default is Balanced Persistent Disk ( pd-balanced). - For other third-generation machine series like A3, H3, Z3, all fourth-generation types like C4, N4, M4, and newer machine series, the default is Hyperdisk Balanced (hyperdisk-balanced). The disk type you specify must be compatible with the instance's machine series. For a list of machine series that support Persistent Disk, see Machine series support for Persistent Disk </compute/docs/disks/persistent-disks#pd-machine-series>. For a list of machine series that support Hyperdisk, see Machine series support for Hyperdisk </compute/docs/disks/hyperdisks#machine-type-support>."
    • addedOutput schema / $defs / Scheduling / properties / gracefulShutdown
      Added value: +{
      +  "$ref": "#/$defs/GracefulShutdown"
      +}
    • addedOutput schema / $defs / Scheduling / properties / preemptionNoticeDuration
      Added value: +{
      +  "$ref": "#/$defs/Duration",
      +  "description": "Specifies the Metadata Service preemption notice duration before the GCE ACPI G2 Soft Off <https://en.wikipedia.org/wiki/ACPI#Power_states> signal is triggered for Spot VMs </compute/docs/instances/spot> only. If not specified, there will be no wait before the G2 Soft Off signal is triggered."
      +}
  3. Changed1 schema field changed
    • addedOutput schema / properties / localSsdEncryptionMode
      Added value: +{
      +  "description": "Specifies which method should be used for encrypting the Local SSDs attached to the VM.",
      +  "enum": [
      +    "EPHEMERAL_KEY_ENCRYPTION",
      +    "LOCAL_SSD_ENCRYPTION_MODE_UNSPECIFIED",
      +    "STANDARD_ENCRYPTION"
      +  ],
      +  "type": "string",
      +  "x-google-enum-descriptions": [
      +    "The given VM will opt-in for using ephemeral key for encryption of Local SSDs. The Local SSDs will not be able to recover data in case of VM crash.",
      +    "The given VM will be encrypted using keys managed by the cloud infrastructure and the keys will be deleted when the VM is deleted.",
      +    "The given VM will be encrypted using keys managed by the cloud infrastructure and the keys will be deleted when the VM is deleted."
      +  ]
      +}
  4. Changed1 schema field changed
    • addedOutput schema / $defs / NetworkInterface / properties / aliasIpv6Ranges
      Added value: +{
      +  "description": "An array of alias IPv6 ranges for this network interface. You can only specify this field for network interfaces in VPC networks.",
      +  "items": {
      +    "$ref": "#/$defs/AliasIpRange"
      +  },
      +  "type": "array"
      +}
  5. Changed5 schema fields changed
    • changedOutput schema / $defs / ConfidentialInstanceConfig / properties / confidentialInstanceType / enum
      Previous value: -[
      -  "CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED",
      -  "SEV",
      -  "SEV_SNP",
      -  "TDX"
      -]New value: +[
      +  "CCA",
      +  "CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED",
      +  "SEV",
      +  "SEV_SNP",
      +  "TDX"
      +]
    • changedOutput schema / $defs / ConfidentialInstanceConfig / properties / confidentialInstanceType / x-google-enum-descriptions
      Previous value: -[
      -  "No type specified. Do not use this value.",
      -  "AMD Secure Encrypted Virtualization.",
      -  "AMD Secure Encrypted Virtualization - Secure Nested Paging.",
      -  "Intel Trust Domain eXtension."
      -]New value: +[
      +  "Arm Confidential Compute Architecture.",
      +  "No type specified. Do not use this value.",
      +  "AMD Secure Encrypted Virtualization.",
      +  "AMD Secure Encrypted Virtualization - Secure Nested Paging.",
      +  "Intel Trust Domain eXtension."
      +]
    • changedOutput schema / $defs / GuestOsFeature / properties / type / enum
      Previous value: -[
      -  "BARE_METAL_LINUX_COMPATIBLE",
      -  "FEATURE_TYPE_UNSPECIFIED",
      -  "GVNIC",
      -  "IDPF",
      -  "MULTI_IP_SUBNET",
      -  "SECURE_BOOT",
      -  "SEV_CAPABLE",
      -  "SEV_LIVE_MIGRATABLE",
      -  "SEV_LIVE_MIGRATABLE_V2",
      -  "SEV_SNP_CAPABLE",
      -  "SNP_SVSM_CAPABLE",
      -  "TDX_CAPABLE",
      -  "UEFI_COMPATIBLE",
      -  "VIRTIO_SCSI_MULTIQUEUE",
      -  "WINDOWS"
      -]New value: +[
      +  "BARE_METAL_LINUX_COMPATIBLE",
      +  "CCA_CAPABLE",
      +  "FEATURE_TYPE_UNSPECIFIED",
      +  "GVNIC",
      +  "IDPF",
      +  "MULTI_IP_SUBNET",
      +  "SECURE_BOOT",
      +  "SEV_CAPABLE",
      +  "SEV_LIVE_MIGRATABLE",
      +  "SEV_LIVE_MIGRATABLE_V2",
      +  "SEV_SNP_CAPABLE",
      +  "SNP_SVSM_CAPABLE",
      +  "TDX_CAPABLE",
      +  "UEFI_COMPATIBLE",
      +  "VIRTIO_SCSI_MULTIQUEUE",
      +  "WINDOWS"
      +]
    • changedOutput schema / $defs / GuestOsFeature / properties / type / x-google-enum-descriptions
      Previous value: -[
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  "",
      -  ""
      -]New value: +[
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  "",
      +  ""
      +]
    • removedOutput schema / $defs / InitializeParams / properties / diskType / description
      Removed value: -"Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/pd-standard For a full list of acceptable values, see Persistent disk types </compute/docs/disks#disk-types>. If you specify this field when creating a VM, you can provide either the full or partial URL. For example, the following values are valid: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/diskType - projects/project/zones/zone/diskTypes/diskType - zones/zone/diskTypes/diskType If you specify this field when creating or updating an instance template or all-instances configuration, specify the type of the disk, not the URL. For example: pd-standard."
  6. Changed2 schema fields changed
    • changedOutput schema / $defs / InitializeParams / properties / resourceManagerTags / description
      Previous value: -"Input only. Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags <https://cloud.google.com/resource-manager/docs/tags/tags-overview>. Keys and values can be either in numeric format, such as `tagKeys/{tag_key_id}` and `tagValues/456` or in namespaced format such as `{org_id|project_id}/{tag_key_short_name}` and `{tag_value_short_name}`. The field is ignored (both PUT & PATCH) when empty."New value: +"Input only. Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags <https://cloud.google.com/resource-manager/docs/tags/tags-overview>. Keys and values can be either in numeric format, such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in namespaced format such as `{org_id|project_id}/{tag_key_short_name}` and `{tag_value_short_name}`. The field is ignored (both PUT & PATCH) when empty."
    • changedOutput schema / properties / resourceManagerTags / description
      Previous value: -"Input only. Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags <https://cloud.google.com/resource-manager/docs/tags/tags-overview>. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty."New value: +"Input only. Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags <https://cloud.google.com/resource-manager/docs/tags/tags-overview>. Keys and values can be either in numeric format, such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in namespaced format such as `{org_id|project_id}/{tag_key_short_name}` and `{tag_value_short_name}`. The field is ignored (both PUT & PATCH) when empty."
  7. Changed2 schema fields changed
    • changedOutput schema / $defs / GuestOsFeature / properties / type / description
      Previous value: -"The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF - SNP_SVSM_CAPABLE For more information, see Enabling guest operating system features </compute/docs/images/create-delete-deprecate-private-images#guest-os-features> ."New value: +"The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF - SNP_SVSM_CAPABLE - CCA_CAPABLE For more information, see Enabling guest operating system features </compute/docs/images/create-delete-deprecate-private-images#guest-os-features> ."
    • addedOutput schema / $defs / NetworkInterface / properties / serviceClassId
      Added value: +{
      +  "description": "Optional. Producer Service's Service class Id for the region of this network interface. Can only be used with network_attachment. It is not possible to use on its own however, network_attachment can be used without service_class_id.",
      +  "type": "string"
      +}
  8. Changed4 schema fields changed
    • changedOutput schema / $defs / GuestOsFeature / properties / type / description
      Previous value: -"The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF - SNP_SVSM_CAPABLE - CCA_CAPABLE For more information, see Enabling guest operating system features </compute/docs/images/create-delete-deprecate-private-images#guest-os-features> ."New value: +"The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF - SNP_SVSM_CAPABLE For more information, see Enabling guest operating system features </compute/docs/images/create-delete-deprecate-private-images#guest-os-features> ."
    • removedOutput schema / $defs / NetworkInterface / properties / serviceClassId
      Removed value: -{
      -  "description": "Optional. Producer Service's Service class Id for the region of this network interface. Can only be used with network_attachment. It is not possible to use on its own however, network_attachment can be used without service_class_id.",
      -  "type": "string"
      -}
    • removedOutput schema / $defs / StructuredEntries
      Removed value: -{
      -  "properties": {
      -    "entries": {
      -      "additionalProperties": {},
      -      "description": "Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct.",
      -      "type": "object"
      -    }
      -  },
      -  "type": "object"
      -}
    • removedOutput schema / properties / partnerMetadata
      Removed value: -{
      -  "additionalProperties": {
      -    "$ref": "#/$defs/StructuredEntries"
      -  },
      -  "description": "Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map.",
      -  "type": "object"
      -}
  9. Changed4 schema fields changed
    • changedOutput schema / $defs / GuestOsFeature / properties / type / description
      Previous value: -"The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF - SNP_SVSM_CAPABLE For more information, see Enabling guest operating system features </compute/docs/images/create-delete-deprecate-private-images#guest-os-features> ."New value: +"The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF - SNP_SVSM_CAPABLE - CCA_CAPABLE For more information, see Enabling guest operating system features </compute/docs/images/create-delete-deprecate-private-images#guest-os-features> ."
    • addedOutput schema / $defs / NetworkInterface / properties / serviceClassId
      Added value: +{
      +  "description": "Optional. Producer Service's Service class Id for the region of this network interface. Can only be used with network_attachment. It is not possible to use on its own however, network_attachment can be used without service_class_id.",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / StructuredEntries
      Added value: +{
      +  "properties": {
      +    "entries": {
      +      "additionalProperties": {},
      +      "description": "Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct.",
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / partnerMetadata
      Added value: +{
      +  "additionalProperties": {
      +    "$ref": "#/$defs/StructuredEntries"
      +  },
      +  "description": "Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map.",
      +  "type": "object"
      +}
  10. Changed2 schema fields changed
    • removedOutput schema / $defs / StructuredEntries
      Removed value: -{
      -  "properties": {
      -    "entries": {
      -      "additionalProperties": {},
      -      "description": "Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct.",
      -      "type": "object"
      -    }
      -  },
      -  "type": "object"
      -}
    • removedOutput schema / properties / partnerMetadata
      Removed value: -{
      -  "additionalProperties": {
      -    "$ref": "#/$defs/StructuredEntries"
      -  },
      -  "description": "Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map.",
      -  "type": "object"
      -}
  11. Changed2 schema fields changed
    • addedOutput schema / $defs / StructuredEntries
      Added value: +{
      +  "properties": {
      +    "entries": {
      +      "additionalProperties": {},
      +      "description": "Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct.",
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / partnerMetadata
      Added value: +{
      +  "additionalProperties": {
      +    "$ref": "#/$defs/StructuredEntries"
      +  },
      +  "description": "Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map.",
      +  "type": "object"
      +}
  12. First observed

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety and side-effect profile. The description adds the return content (list of properties) but does not disclose additional behavioral traits such as authentication requirements, rate limits, or any potential error conditions. While informative, it does not go beyond what annotations imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two sentences, with the action and resource front-loaded. The list of properties is useful and not overly verbose; it is directly relevant to the tool's purpose. It avoids unnecessary detail while providing a clear overview, making it efficient and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (per context signals), the description does not need to explain return formats. It covers the tool's scope, inputs, and output types, making it functionally complete for an agent to call correctly. The only missing element is explicit guidance on when to prefer this over get_instance_template_basic_info, which is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%—both parameters (project and name) have descriptions. The description repeats this requirement without adding new semantic details, such as format constraints or special values. Since the schema already documents the parameters, the baseline is 3, and the description does not enhance it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves instance properties of a Compute Engine instance template and enumerates the specific properties covered (description, tags, machine type, network interfaces, etc.). This makes its purpose precise and distinct from the sibling get_instance_template_basic_info, which implies a subset of these properties. The verb and resource are explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context by stating the required inputs (project and instance template name) and enumerates the returned properties, implying when to use it (when comprehensive properties are needed). However, it does not explicitly contrast with the alternative get_instance_template_basic_info or state when not to use this tool, leaving usage guidance mostly implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation5/5

Each tool targets a distinct resource-action combination. For resources with both basic and detailed getters (reservations, templates), the suffixes clearly differentiate them, and list vs get distinctions are unambiguous. No two tools appear to do the same thing.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (e.g., create_instance, list_disks, get_zone_operation). Getters consistently use descriptive suffixes like basic_info, details, or properties. No mixed naming conventions or vague verbs.

Tool Count4/5

29 tools is slightly above the ideal range but justified given the breadth of Google Compute Engine resources covered (instances, disks, templates, reservations, commitments, MIGs, snapshots, images, machine types, accelerator types). Each tool serves a specific purpose and contributes to the overall scope.

Completeness2/5

The toolset is heavily read-oriented. While instances have full lifecycle coverage (create, delete, start, stop, reset, set machine type), most other resources lack write operations: disks, templates, reservations, commitments, snapshots, and MIGs only have get/list tools. This creates dead ends for agents needing to create or modify these resources, which is a significant gap for a GCE management server.

Resources