@java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
      return true;
    }
    if (!(obj instanceof com.google.cloud.vmwareengine.v1.Cluster)) {
      return super.equals(obj);
    }
    com.google.cloud.vmwareengine.v1.Cluster other = (com.google.cloud.vmwareengine.v1.Cluster) obj;

    if (!getName().equals(other.getName())) return false;
    if (hasCreateTime() != other.hasCreateTime()) return false;
    if (hasCreateTime()) {
      if (!getCreateTime().equals(other.getCreateTime())) return false;
    }
    if (hasUpdateTime() != other.hasUpdateTime()) return false;
    if (hasUpdateTime()) {
      if (!getUpdateTime().equals(other.getUpdateTime())) return false;
    }
    if (state_ != other.state_) return false;
    if (getManagement() != other.getManagement()) return false;
    if (hasAutoscalingSettings() != other.hasAutoscalingSettings()) return false;
    if (hasAutoscalingSettings()) {
      if (!getAutoscalingSettings().equals(other.getAutoscalingSettings())) return false;
    }
    if (!getUid().equals(other.getUid())) return false;
    if (!internalGetNodeTypeConfigs().equals(other.internalGetNodeTypeConfigs())) return false;
    if (hasStretchedClusterConfig() != other.hasStretchedClusterConfig()) return false;
    if (hasStretchedClusterConfig()) {
      if (!getStretchedClusterConfig().equals(other.getStretchedClusterConfig())) return false;
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }
<pre>
Optional. Configuration of a stretched cluster. Required for clusters that
belong to a STRETCHED private cloud.
</pre>

<code>
.google.cloud.vmwareengine.v1.StretchedClusterConfig stretched_cluster_config = 17 [(.google.api.field_behavior) = OPTIONAL];
</code>
java-vmwareengine/proto-google-cloud-vmwareengine-v1/src/main/java/com/google/cloud/vmwareengine/v1/Cluster.java