public Builder mergeFrom(com.google.cloud.workstations.v1beta.WorkstationConfig other) {
      if (other == com.google.cloud.workstations.v1beta.WorkstationConfig.getDefaultInstance())
        return this;
      if (!other.getName().isEmpty()) {
        name_ = other.name_;
        bitField0_ |= 0x00000001;
        onChanged();
      }
      if (!other.getDisplayName().isEmpty()) {
        displayName_ = other.displayName_;
        bitField0_ |= 0x00000002;
        onChanged();
      }
      if (!other.getUid().isEmpty()) {
        uid_ = other.uid_;
        bitField0_ |= 0x00000004;
        onChanged();
      }
      if (other.getReconciling() != false) {
        setReconciling(other.getReconciling());
      }
      internalGetMutableAnnotations().mergeFrom(other.internalGetAnnotations());
      bitField0_ |= 0x00000010;
      internalGetMutableLabels().mergeFrom(other.internalGetLabels());
      bitField0_ |= 0x00000020;
      if (other.hasCreateTime()) {
        mergeCreateTime(other.getCreateTime());
      }
      if (other.hasUpdateTime()) {
        mergeUpdateTime(other.getUpdateTime());
      }
      if (other.hasDeleteTime()) {
        mergeDeleteTime(other.getDeleteTime());
      }
      if (!other.getEtag().isEmpty()) {
        etag_ = other.etag_;
        bitField0_ |= 0x00000200;
        onChanged();
      }
      if (other.hasIdleTimeout()) {
        mergeIdleTimeout(other.getIdleTimeout());
      }
      if (other.hasRunningTimeout()) {
        mergeRunningTimeout(other.getRunningTimeout());
      }
      if (other.hasHost()) {
        mergeHost(other.getHost());
      }
      if (persistentDirectoriesBuilder_ == null) {
        if (!other.persistentDirectories_.isEmpty()) {
          if (persistentDirectories_.isEmpty()) {
            persistentDirectories_ = other.persistentDirectories_;
            bitField0_ = (bitField0_ & ~0x00002000);
          } else {
            ensurePersistentDirectoriesIsMutable();
            persistentDirectories_.addAll(other.persistentDirectories_);
          }
          onChanged();
        }
      } else {
        if (!other.persistentDirectories_.isEmpty()) {
          if (persistentDirectoriesBuilder_.isEmpty()) {
            persistentDirectoriesBuilder_.dispose();
            persistentDirectoriesBuilder_ = null;
            persistentDirectories_ = other.persistentDirectories_;
            bitField0_ = (bitField0_ & ~0x00002000);
            persistentDirectoriesBuilder_ =
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                    ? getPersistentDirectoriesFieldBuilder()
                    : null;
          } else {
            persistentDirectoriesBuilder_.addAllMessages(other.persistentDirectories_);
          }
        }
      }
      if (ephemeralDirectoriesBuilder_ == null) {
        if (!other.ephemeralDirectories_.isEmpty()) {
          if (ephemeralDirectories_.isEmpty()) {
            ephemeralDirectories_ = other.ephemeralDirectories_;
            bitField0_ = (bitField0_ & ~0x00004000);
          } else {
            ensureEphemeralDirectoriesIsMutable();
            ephemeralDirectories_.addAll(other.ephemeralDirectories_);
          }
          onChanged();
        }
      } else {
        if (!other.ephemeralDirectories_.isEmpty()) {
          if (ephemeralDirectoriesBuilder_.isEmpty()) {
            ephemeralDirectoriesBuilder_.dispose();
            ephemeralDirectoriesBuilder_ = null;
            ephemeralDirectories_ = other.ephemeralDirectories_;
            bitField0_ = (bitField0_ & ~0x00004000);
            ephemeralDirectoriesBuilder_ =
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                    ? getEphemeralDirectoriesFieldBuilder()
                    : null;
          } else {
            ephemeralDirectoriesBuilder_.addAllMessages(other.ephemeralDirectories_);
          }
        }
      }
      if (other.hasContainer()) {
        mergeContainer(other.getContainer());
      }
      if (other.hasEncryptionKey()) {
        mergeEncryptionKey(other.getEncryptionKey());
      }
      if (readinessChecksBuilder_ == null) {
        if (!other.readinessChecks_.isEmpty()) {
          if (readinessChecks_.isEmpty()) {
            readinessChecks_ = other.readinessChecks_;
            bitField0_ = (bitField0_ & ~0x00020000);
          } else {
            ensureReadinessChecksIsMutable();
            readinessChecks_.addAll(other.readinessChecks_);
          }
          onChanged();
        }
      } else {
        if (!other.readinessChecks_.isEmpty()) {
          if (readinessChecksBuilder_.isEmpty()) {
            readinessChecksBuilder_.dispose();
            readinessChecksBuilder_ = null;
            readinessChecks_ = other.readinessChecks_;
            bitField0_ = (bitField0_ & ~0x00020000);
            readinessChecksBuilder_ =
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                    ? getReadinessChecksFieldBuilder()
                    : null;
          } else {
            readinessChecksBuilder_.addAllMessages(other.readinessChecks_);
          }
        }
      }
      if (!other.replicaZones_.isEmpty()) {
        if (replicaZones_.isEmpty()) {
          replicaZones_ = other.replicaZones_;
          bitField0_ |= 0x00040000;
        } else {
          ensureReplicaZonesIsMutable();
          replicaZones_.addAll(other.replicaZones_);
        }
        onChanged();
      }
      if (other.getDegraded() != false) {
        setDegraded(other.getDegraded());
      }
      if (conditionsBuilder_ == null) {
        if (!other.conditions_.isEmpty()) {
          if (conditions_.isEmpty()) {
            conditions_ = other.conditions_;
            bitField0_ = (bitField0_ & ~0x00100000);
          } else {
            ensureConditionsIsMutable();
            conditions_.addAll(other.conditions_);
          }
          onChanged();
        }
      } else {
        if (!other.conditions_.isEmpty()) {
          if (conditionsBuilder_.isEmpty()) {
            conditionsBuilder_.dispose();
            conditionsBuilder_ = null;
            conditions_ = other.conditions_;
            bitField0_ = (bitField0_ & ~0x00100000);
            conditionsBuilder_ =
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                    ? getConditionsFieldBuilder()
                    : null;
          } else {
            conditionsBuilder_.addAllMessages(other.conditions_);
          }
        }
      }
      if (other.getEnableAuditAgent() != false) {
        setEnableAuditAgent(other.getEnableAuditAgent());
      }
      this.mergeUnknownFields(other.getUnknownFields());
      onChanged();
      return this;
    }
<pre>
A workstation configuration resource in the Cloud Workstations API.

Workstation configurations act as templates for workstations. The workstation
configuration defines details such as the workstation virtual machine (VM)
instance type, persistent storage, container image defining environment,
which IDE or Code Editor to use, and more. Administrators and platform teams
can also use [Identity and Access Management
(IAM)](https://cloud.google.com/iam/docs/overview) rules to grant access to
teams or to individual developers.
</pre>

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