| ModifyInstanceAttribute / DescribeInstanceAttribute | Attributes | Partial | Most usage | ModifyInstanceAttribute changes the security groups (groupSet) of a live instance this control plane launched, and the change reconciles onto the network tags on the instance; every other attribute is refused. DescribeInstanceAttribute answers instanceType, groupSet, userData, rootDeviceName, sourceDestCheck and the boolean attributes from the record. |
| DescribeInstanceTypes / DescribeVolumes | Catalogue | Partial | Full surface | DescribeInstanceTypes answers explicit InstanceType values from the machine catalog; DescribeVolumes lists the root volume of each instance this control plane launched, by VolumeId or in full. Neither takes filters or pagination. |
| Images, status, fleets and the rest of the EC2 control plane | Catalogue | Out of scope | Full surface | DescribeImages, DescribeInstanceStatus, Spot and fleet requests, launch templates, capacity reservations, key pairs, AMI and snapshot management and placement groups are refused with an error naming the operation; nothing is created or reported in their place. An image is resolved at RunInstances through ImageId, and there is no image registry to query. |
| DescribeInstances | Discovery | Partial | Common | Lists the instances this control plane holds a record for, by InstanceId or with filters (instance-id, instance-state-name, instance-type, image-id, availability-zone, subnet-id, vpc-id, private-ip-address, the group-id and group-name filters, architecture, root-device-type, virtualization-type and the tag filters); another filter name is refused. MaxResults takes 5 to 1000 with a NextToken and, as on EC2, cannot be combined with InstanceId. State, private address and launch time are read from the Compute Engine instance on every call: a fresh launch reads pending until Compute Engine reports the instance running, and a change made on the Google Cloud side shows on the next call. Other instances in the project are not listed. |
| Self-discovery (the calling instance’s own DescribeInstances, DescribeVpcs, DescribeSubnets, DescribeSecurityGroups, DescribeAvailabilityZones) | Discovery | Supported | Common | Answered for the calling instance from the same identity the instance-metadata service serves, so code that learns its own instance, VPC, subnet and security groups two ways sees one picture. The metadata surface is on the EC2 card for Google Compute Engine; the network describes are on the VPC card for Google Cloud VPC. |
| RunInstances | Launch | Partial | Common | Creates one Compute Engine instance in a zone of the deployment’s region, one per requested instance, and returns the instance ids at once. The request may name ImageId, InstanceType, MinCount and MaxCount, a SubnetId with an optional PrivateIpAddress and SecurityGroupIds (or one primary NetworkInterface carrying the same three, inline or naming an interface created with CreateNetworkInterface), Placement.AvailabilityZone, UserData, instance TagSpecifications, a ClientToken and DryRun. Any other member present, including BlockDeviceMappings, KeyName, IamInstanceProfile, a LaunchTemplate, a second network interface, a public address at launch, detailed monitoring, hibernation, termination protection or EbsOptimized, is refused with an error naming it; nothing launches with the member dropped. A Placement.AvailabilityZone is mapped onto a zone of the deployment’s region, so the instance is zonal, as on EC2. The instance type is resolved to a machine size when the request is accepted and recorded with the instance, so a later catalog change does not move a running instance. Which sizes and images a launch resolves to is on the EC2 card for Google Compute Engine. |
| StopInstances / StartInstances / RebootInstances | Lifecycle | Out of scope | Common | Refused with an error, and the Compute Engine instance is left as it is. Stop, start or restart the machine through Google Cloud’s own controls, or terminate and relaunch it through this API. |
| TerminateInstances | Lifecycle | Supported | Common | Withdraws each named instance; on Google Cloud the instance is deleted through the same path that created it. The instance reads shutting-down while Google Cloud still holds the machine and terminated once it does not, and a DescribeInstances that names the id keeps answering terminated for an hour after teardown, which is the state an SDK delete waiter polls for. Force and SkipOsShutdown are refused. An instance registered by another owner is refused; it is never deleted from under that owner. An instance that belongs to an Auto Scaling group is removed through its managed instance group, never deleted underneath the group. |
| CreateTags / DeleteTags / DescribeTags (instances) | Tags | Partial | Most usage | Tags on an instance are held on its record and answered by DescribeTags, DescribeInstances and the tag filters. They are not written to the Compute Engine instance as Compute Engine labels, so a report, policy or console filter on the Google Cloud side does not see them. |