@java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    hash = (37 * hash) + NAME_FIELD_NUMBER;
    hash = (53 * hash) + getName().hashCode();
    hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER;
    hash = (53 * hash) + getDisplayName().hashCode();
    hash = (37 * hash) + UID_FIELD_NUMBER;
    hash = (53 * hash) + getUid().hashCode();
    hash = (37 * hash) + RECONCILING_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getReconciling());
    if (!internalGetAnnotations().getMap().isEmpty()) {
      hash = (37 * hash) + ANNOTATIONS_FIELD_NUMBER;
      hash = (53 * hash) + internalGetAnnotations().hashCode();
    }
    if (!internalGetLabels().getMap().isEmpty()) {
      hash = (37 * hash) + LABELS_FIELD_NUMBER;
      hash = (53 * hash) + internalGetLabels().hashCode();
    }
    if (hasCreateTime()) {
      hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getCreateTime().hashCode();
    }
    if (hasUpdateTime()) {
      hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getUpdateTime().hashCode();
    }
    if (hasDeleteTime()) {
      hash = (37 * hash) + DELETE_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getDeleteTime().hashCode();
    }
    hash = (37 * hash) + ETAG_FIELD_NUMBER;
    hash = (53 * hash) + getEtag().hashCode();
    if (hasIdleTimeout()) {
      hash = (37 * hash) + IDLE_TIMEOUT_FIELD_NUMBER;
      hash = (53 * hash) + getIdleTimeout().hashCode();
    }
    if (hasRunningTimeout()) {
      hash = (37 * hash) + RUNNING_TIMEOUT_FIELD_NUMBER;
      hash = (53 * hash) + getRunningTimeout().hashCode();
    }
    if (hasHost()) {
      hash = (37 * hash) + HOST_FIELD_NUMBER;
      hash = (53 * hash) + getHost().hashCode();
    }
    if (getPersistentDirectoriesCount() > 0) {
      hash = (37 * hash) + PERSISTENT_DIRECTORIES_FIELD_NUMBER;
      hash = (53 * hash) + getPersistentDirectoriesList().hashCode();
    }
    if (getEphemeralDirectoriesCount() > 0) {
      hash = (37 * hash) + EPHEMERAL_DIRECTORIES_FIELD_NUMBER;
      hash = (53 * hash) + getEphemeralDirectoriesList().hashCode();
    }
    if (hasContainer()) {
      hash = (37 * hash) + CONTAINER_FIELD_NUMBER;
      hash = (53 * hash) + getContainer().hashCode();
    }
    if (hasEncryptionKey()) {
      hash = (37 * hash) + ENCRYPTION_KEY_FIELD_NUMBER;
      hash = (53 * hash) + getEncryptionKey().hashCode();
    }
    if (getReadinessChecksCount() > 0) {
      hash = (37 * hash) + READINESS_CHECKS_FIELD_NUMBER;
      hash = (53 * hash) + getReadinessChecksList().hashCode();
    }
    if (getReplicaZonesCount() > 0) {
      hash = (37 * hash) + REPLICA_ZONES_FIELD_NUMBER;
      hash = (53 * hash) + getReplicaZonesList().hashCode();
    }
    hash = (37 * hash) + DEGRADED_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getDegraded());
    if (getConditionsCount() > 0) {
      hash = (37 * hash) + CONDITIONS_FIELD_NUMBER;
      hash = (53 * hash) + getConditionsList().hashCode();
    }
    hash = (37 * hash) + ENABLE_AUDIT_AGENT_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getEnableAuditAgent());
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }
<pre>
Optional. Whether to enable Linux `auditd` logging on the workstation. When
enabled, a service account must also be specified that has
`logging.buckets.write` permission on the project. Operating system audit
logging is distinct from [Cloud Audit
Logs](https://cloud.google.com/workstations/docs/audit-logging).
</pre>

<code>bool enable_audit_agent = 20 [(.google.api.field_behavior) = OPTIONAL];</code>

@return The enableAuditAgent.
java-workstations/proto-google-cloud-workstations-v1beta/src/main/java/com/google/cloud/workstations/v1beta/WorkstationConfig.java