@java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10:
                  {
                    machineType_ = input.readStringRequireUtf8();
                    bitField0_ |= 0x00000001;
                    break;
                  } // case 10
                case 18:
                  {
                    serviceAccount_ = input.readStringRequireUtf8();
                    bitField0_ |= 0x00000002;
                    break;
                  } // case 18
                case 26:
                  {
                    java.lang.String s = input.readStringRequireUtf8();
                    ensureServiceAccountScopesIsMutable();
                    serviceAccountScopes_.add(s);
                    break;
                  } // case 26
                case 34:
                  {
                    java.lang.String s = input.readStringRequireUtf8();
                    ensureTagsIsMutable();
                    tags_.add(s);
                    break;
                  } // case 34
                case 40:
                  {
                    poolSize_ = input.readInt32();
                    bitField0_ |= 0x00000010;
                    break;
                  } // case 40
                case 48:
                  {
                    disablePublicIpAddresses_ = input.readBool();
                    bitField0_ |= 0x00000040;
                    break;
                  } // case 48
                case 56:
                  {
                    enableNestedVirtualization_ = input.readBool();
                    bitField0_ |= 0x00000080;
                    break;
                  } // case 56
                case 66:
                  {
                    input.readMessage(
                        getShieldedInstanceConfigFieldBuilder().getBuilder(), extensionRegistry);
                    bitField0_ |= 0x00000100;
                    break;
                  } // case 66
                case 72:
                  {
                    bootDiskSizeGb_ = input.readInt32();
                    bitField0_ |= 0x00000400;
                    break;
                  } // case 72
                case 82:
                  {
                    input.readMessage(
                        getConfidentialInstanceConfigFieldBuilder().getBuilder(),
                        extensionRegistry);
                    bitField0_ |= 0x00000200;
                    break;
                  } // case 82
                case 96:
                  {
                    pooledInstances_ = input.readInt32();
                    bitField0_ |= 0x00000020;
                    break;
                  } // case 96
                default:
                  {
                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                      done = true; // was an endgroup tag
                    }
                    break;
                  } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
<pre>
A runtime using a Compute Engine instance.
</pre>

Protobuf type {@code google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance}
java-workstations/proto-google-cloud-workstations-v1/src/main/java/com/google/cloud/workstations/v1/WorkstationConfig.java