public Builder mergeFrom(com.google.storagetransfer.v1.proto.TransferTypes.AwsS3Data other) {
        if (other
            == com.google.storagetransfer.v1.proto.TransferTypes.AwsS3Data.getDefaultInstance())
          return this;
        if (!other.getBucketName().isEmpty()) {
          bucketName_ = other.bucketName_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (other.hasAwsAccessKey()) {
          mergeAwsAccessKey(other.getAwsAccessKey());
        }
        if (!other.getPath().isEmpty()) {
          path_ = other.path_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        if (!other.getRoleArn().isEmpty()) {
          roleArn_ = other.roleArn_;
          bitField0_ |= 0x00000008;
          onChanged();
        }
        if (!other.getCloudfrontDomain().isEmpty()) {
          cloudfrontDomain_ = other.cloudfrontDomain_;
          bitField0_ |= 0x00000010;
          onChanged();
        }
        if (!other.getCredentialsSecret().isEmpty()) {
          credentialsSecret_ = other.credentialsSecret_;
          bitField0_ |= 0x00000020;
          onChanged();
        }
        switch (other.getPrivateNetworkCase()) {
          case MANAGED_PRIVATE_NETWORK:
            {
              setManagedPrivateNetwork(other.getManagedPrivateNetwork());
              break;
            }
          case PRIVATENETWORK_NOT_SET:
            {
              break;
            }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }
<pre>
An AwsS3Data resource can be a data source, but not a data sink.
In an AwsS3Data resource, an object's name is the S3 object's key name.
</pre>

Protobuf type {@code google.storagetransfer.v1.AwsS3Data}
java-storage-transfer/proto-google-cloud-storage-transfer-v1/src/main/java/com/google/storagetransfer/v1/proto/TransferTypes.java