@java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      switch (startTimingConstraintsCase_) {
        case 1:
          hash = (37 * hash) + VALID_UNTIL_DURATION_FIELD_NUMBER;
          hash = (53 * hash) + getValidUntilDuration().hashCode();
          break;
        case 2:
          hash = (37 * hash) + VALID_UNTIL_TIME_FIELD_NUMBER;
          hash = (53 * hash) + getValidUntilTime().hashCode();
          break;
        case 3:
          hash = (37 * hash) + VALID_AFTER_DURATION_FIELD_NUMBER;
          hash = (53 * hash) + getValidAfterDuration().hashCode();
          break;
        case 4:
          hash = (37 * hash) + VALID_AFTER_TIME_FIELD_NUMBER;
          hash = (53 * hash) + getValidAfterTime().hashCode();
          break;
        case 5:
          hash = (37 * hash) + VALID_INTERVAL_FIELD_NUMBER;
          hash = (53 * hash) + getValidInterval().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }
<pre>
An absolute time interval within which resources may be created.
</pre>

<code>.google.type.Interval valid_interval = 5;</code>
java-tpu/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/QueuedResource.java