public bool Equals(ClusterLoadAssignment other)
 {
     if (ReferenceEquals(other, null))
     {
         return(false);
     }
     if (ReferenceEquals(other, this))
     {
         return(true);
     }
     if (ClusterName != other.ClusterName)
     {
         return(false);
     }
     if (!endpoints_.Equals(other.endpoints_))
     {
         return(false);
     }
     if (!NamedEndpoints.Equals(other.NamedEndpoints))
     {
         return(false);
     }
     if (!object.Equals(Policy, other.Policy))
     {
         return(false);
     }
     return(Equals(_unknownFields, other._unknownFields));
 }
 public override int GetHashCode() {
   int hash = 1;
   if (ClusterName.Length != 0) hash ^= ClusterName.GetHashCode();
   hash ^= endpoints_.GetHashCode();
   hash ^= NamedEndpoints.GetHashCode();
   if (policy_ != null) hash ^= Policy.GetHashCode();
   if (_unknownFields != null) {
     hash ^= _unknownFields.GetHashCode();
   }
   return hash;
 }