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

      if (!getBucketName().equals(other.getBucketName())) return false;
      if (!getPath().equals(other.getPath())) return false;
      if (!getEndpoint().equals(other.getEndpoint())) return false;
      if (!getRegion().equals(other.getRegion())) return false;
      if (!getDataProviderCase().equals(other.getDataProviderCase())) return false;
      switch (dataProviderCase_) {
        case 4:
          if (!getS3Metadata().equals(other.getS3Metadata())) return false;
          break;
        case 0:
        default:
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }
<pre>
A S3 compatible metadata.
</pre>

<code>.google.storagetransfer.v1.S3CompatibleMetadata s3_metadata = 4;</code>
java-storage-transfer/proto-google-cloud-storage-transfer-v1/src/main/java/com/google/storagetransfer/v1/proto/TransferTypes.java