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

    if (!getAwsRegion().equals(other.getAwsRegion())) return false;
    if (state_ != other.state_) return false;
    if (hasError() != other.hasError()) return false;
    if (hasError()) {
      if (!getError().equals(other.getError())) return false;
    }
    if (!getInventoryTagListList().equals(other.getInventoryTagListList())) return false;
    if (!getInventorySecurityGroupNamesList().equals(other.getInventorySecurityGroupNamesList()))
      return false;
    if (!internalGetMigrationResourcesUserTags()
        .equals(other.internalGetMigrationResourcesUserTags())) return false;
    if (!getPublicIp().equals(other.getPublicIp())) return false;
    if (!getCredentialsTypeCase().equals(other.getCredentialsTypeCase())) return false;
    switch (credentialsTypeCase_) {
      case 11:
        if (!getAccessKeyCreds().equals(other.getAccessKeyCreds())) return false;
        break;
      case 0:
      default:
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }
<pre>
Output only. The source's public IP. All communication initiated by this
source will originate from this IP.
</pre>

<code>string public_ip = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>

@return The bytes for publicIp.
java-vmmigration/proto-google-cloud-vmmigration-v1/src/main/java/com/google/cloud/vmmigration/v1/AwsSourceDetails.java