@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) + STATE_FIELD_NUMBER;
    hash = (53 * hash) + state_;
    if (hasStateTime()) {
      hash = (37 * hash) + STATE_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getStateTime().hashCode();
    }
    if (hasError()) {
      hash = (37 * hash) + ERROR_FIELD_NUMBER;
      hash = (53 * hash) + getError().hashCode();
    }
    if (hasCreateTime()) {
      hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getCreateTime().hashCode();
    }
    hash = (37 * hash) + TIME_FRAME_FIELD_NUMBER;
    hash = (53 * hash) + timeFrame_;
    if (hasFrameEndTime()) {
      hash = (37 * hash) + FRAME_END_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getFrameEndTime().hashCode();
    }
    hash = (37 * hash) + VM_COUNT_FIELD_NUMBER;
    hash = (53 * hash) + getVmCount();
    if (getVmsCount() > 0) {
      hash = (37 * hash) + VMS_FIELD_NUMBER;
      hash = (53 * hash) + getVmsList().hashCode();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }
<pre>
List of utilization information per VM.
When sent as part of the request, the "vm_id" field is used in order to
specify which VMs to include in the report. In that case all other fields
are ignored.
</pre>

<code>repeated .google.cloud.vmmigration.v1.VmUtilizationInfo vms = 10;</code>
java-vmmigration/proto-google-cloud-vmmigration-v1/src/main/java/com/google/cloud/vmmigration/v1/UtilizationReport.java